diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a1a661411..9d7fa9ffd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -56,7 +56,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: - go-version: "^1.17" # The Go version to download (if necessary) and use. + go-version: "^1.18" # The Go version to download (if necessary) and use. - name: Install Intel's SGX SDK run: | mkdir -p "$HOME/.sgxsdk" @@ -156,7 +156,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: - go-version: "^1.17" # The Go version to download (if necessary) and use. + go-version: "^1.18" # The Go version to download (if necessary) and use. - name: Install Intel's SGX SDK run: | mkdir -p "$HOME/.sgxsdk" @@ -260,7 +260,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: - go-version: "^1.17" # The Go version to download (if necessary) and use. + go-version: "^1.18" # The Go version to download (if necessary) and use. - name: Install xgo run: | go install github.com/crazy-max/xgo@latest diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bb79d6ea5..18ca51fe9 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -28,7 +28,7 @@ jobs: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - uses: actions/setup-go@v2 with: - go-version: "^1.17" # The Go version to download (if necessary) and use. + go-version: "^1.18" # The Go version to download (if necessary) and use. - name: Install Intel's SGX SDK run: | mkdir -p "$HOME/.sgxsdk" @@ -97,7 +97,7 @@ jobs: run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/} - uses: actions/setup-go@v2 with: - go-version: "^1.17" # The Go version to download (if necessary) and use. + go-version: "^1.18" # The Go version to download (if necessary) and use. - name: Create api keys run: | echo $SPID_MAINNET > spid.txt @@ -144,7 +144,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-go@v2 with: - go-version: "^1.17" # The Go version to download (if necessary) and use. + go-version: "^1.18" # The Go version to download (if necessary) and use. - name: Install xgo run: | go install github.com/crazy-max/xgo@latest diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..4aa9f72f2 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1 @@ +image: ghcr.io/notional-labs/cosmos diff --git a/app/app.go b/app/app.go index e2c7eff33..cc2830b0a 100644 --- a/app/app.go +++ b/app/app.go @@ -2,6 +2,10 @@ package app import ( "fmt" + "io" + "net/http" + "os" + "path/filepath" store "github.com/cosmos/cosmos-sdk/store/types" @@ -94,11 +98,6 @@ import ( reg "github.com/enigmampc/SecretNetwork/x/registration" "github.com/spf13/cast" - "io" - "net/http" - "os" - "path/filepath" - "github.com/gorilla/mux" "github.com/rakyll/statik/fs" abci "github.com/tendermint/tendermint/abci/types" @@ -242,13 +241,12 @@ func NewSecretNetworkApp( skipUpgradeHeights map[int64]bool, homePath string, invCheckPeriod uint, - //enabledProposals []compute.ProposalType, + // enabledProposals []compute.ProposalType, bootstrap bool, appOpts servertypes.AppOptions, computeConfig *compute.WasmConfig, baseAppOptions ...func(*baseapp.BaseApp), ) *SecretNetworkApp { - encodingConfig := MakeEncodingConfig() appCodec, legacyAmino := encodingConfig.Marshaler, encodingConfig.Amino interfaceRegistry := encodingConfig.InterfaceRegistry @@ -258,7 +256,7 @@ func NewSecretNetworkApp( bApp.SetCommitMultiStoreTracer(traceStore) bApp.SetVersion(version.Version) bApp.SetInterfaceRegistry(interfaceRegistry) - //bApp.GRPCQueryRouter().RegisterSimulateService(bApp.Simulate, interfaceRegistry) + // bApp.GRPCQueryRouter().RegisterSimulateService(bApp.Simulate, interfaceRegistry) keys := sdk.NewKVStoreKeys( authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, @@ -442,7 +440,7 @@ func NewSecretNetworkApp( // NOTE: we may consider parsing `appOpts` inside module constructors. For the moment // we prefer to be more strict in what arguments the modules expect. - var skipGenesisInvariants = cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) + skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) // NOTE: Any module instantiated in the module manager that is later modified // must be passed by reference here. @@ -538,7 +536,7 @@ func NewSecretNetworkApp( govtypes.ModuleName, paramstypes.ModuleName, upgradetypes.ModuleName, - //custom modules + // custom modules compute.ModuleName, reg.ModuleName, @@ -585,7 +583,7 @@ func NewSecretNetworkApp( // evidence.NewAppModule(app.evidenceKeeper), //) - //app.sm.RegisterStoreDecoders() + // app.sm.RegisterStoreDecoders() // initialize stores app.MountKVStores(keys) diff --git a/app/config.go b/app/config.go index bca32c030..fc2950fcf 100644 --- a/app/config.go +++ b/app/config.go @@ -52,44 +52,42 @@ import ( "github.com/enigmampc/SecretNetwork/x/registration" ) -var ( - mbasics = module.NewBasicManager( - append([]module.AppModuleBasic{ - authz.AppModuleBasic{}, - // accounts, fees. - auth.AppModuleBasic{}, - // genesis utilities - genutil.AppModuleBasic{}, - // tokens, token balance. - bank.AppModuleBasic{}, - capability.AppModuleBasic{}, - // validator staking - staking.AppModuleBasic{}, - // inflation - mint.AppModuleBasic{}, - // distribution of fess and inflation - distr.AppModuleBasic{}, - // governance functionality (voting) - gov.NewAppModuleBasic( - paramsclient.ProposalHandler, distrclient.ProposalHandler, - upgradeclient.ProposalHandler, upgradeclient.CancelProposalHandler, - ), - // chain parameters - params.AppModuleBasic{}, - crisis.AppModuleBasic{}, - slashing.AppModuleBasic{}, - ibc.AppModuleBasic{}, - upgrade.AppModuleBasic{}, - evidence.AppModuleBasic{}, - transfer.AppModuleBasic{}, - vesting.AppModuleBasic{}, - feegrantmodule.AppModuleBasic{}, - ica.AppModuleBasic{}, - }, - // our stuff - customModuleBasics()..., - )..., - ) +var mbasics = module.NewBasicManager( + append([]module.AppModuleBasic{ + authz.AppModuleBasic{}, + // accounts, fees. + auth.AppModuleBasic{}, + // genesis utilities + genutil.AppModuleBasic{}, + // tokens, token balance. + bank.AppModuleBasic{}, + capability.AppModuleBasic{}, + // validator staking + staking.AppModuleBasic{}, + // inflation + mint.AppModuleBasic{}, + // distribution of fess and inflation + distr.AppModuleBasic{}, + // governance functionality (voting) + gov.NewAppModuleBasic( + paramsclient.ProposalHandler, distrclient.ProposalHandler, + upgradeclient.ProposalHandler, upgradeclient.CancelProposalHandler, + ), + // chain parameters + params.AppModuleBasic{}, + crisis.AppModuleBasic{}, + slashing.AppModuleBasic{}, + ibc.AppModuleBasic{}, + upgrade.AppModuleBasic{}, + evidence.AppModuleBasic{}, + transfer.AppModuleBasic{}, + vesting.AppModuleBasic{}, + feegrantmodule.AppModuleBasic{}, + ica.AppModuleBasic{}, + }, + // our stuff + customModuleBasics()..., + )..., ) func customKVStoreKeys() []string { @@ -163,5 +161,4 @@ func transientStoreKeys() map[string]*sdk.TransientStoreKey { func memStoreKeys() map[string]*sdk.MemoryStoreKey { return sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) - } diff --git a/app/export.go b/app/export.go index e476ec61f..d1267e5bb 100644 --- a/app/export.go +++ b/app/export.go @@ -2,6 +2,7 @@ package app import ( "encoding/json" + servertypes "github.com/cosmos/cosmos-sdk/server/types" sdk "github.com/cosmos/cosmos-sdk/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" @@ -103,7 +104,6 @@ func (app *SecretNetworkApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllow // reinitialize all validators app.stakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { - // donate any unwithdrawn outstanding reward fraction tokens to the community pool scraps := app.distrKeeper.GetValidatorOutstandingRewardsCoins(ctx, val.GetOperator()) feePool := app.distrKeeper.GetFeePool(ctx) diff --git a/app/legacy/migrate.go b/app/legacy/migrate.go index 170ea8471..53cafd533 100644 --- a/app/legacy/migrate.go +++ b/app/legacy/migrate.go @@ -3,10 +3,11 @@ package legacy import ( "encoding/json" "fmt" - "github.com/cosmos/cosmos-sdk/x/authz" "io/ioutil" "time" + "github.com/cosmos/cosmos-sdk/x/authz" + "github.com/pkg/errors" "github.com/spf13/cobra" tmjson "github.com/tendermint/tendermint/libs/json" diff --git a/app/legacy/v120/migrate.go b/app/legacy/v120/migrate.go index c3409b114..1654f15aa 100644 --- a/app/legacy/v120/migrate.go +++ b/app/legacy/v120/migrate.go @@ -2,6 +2,7 @@ package legacy import ( "fmt" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/crypto/keys/multisig" diff --git a/app/upgrades/v1.3/upgrades.go b/app/upgrades/v1.3/upgrades.go index 283f6bef5..41af2fca0 100644 --- a/app/upgrades/v1.3/upgrades.go +++ b/app/upgrades/v1.3/upgrades.go @@ -15,7 +15,6 @@ const UpgradeName = "v1.3" func CreateUpgradeHandler(mm *module.Manager, icamodule *icamodule.AppModule, configurator module.Configurator, ) upgradetypes.UpgradeHandler { return func(ctx sdk.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - // Assaf: Set version map for all modules because for some // reason it's not already set in upgradekeepr. // We upgrade from cosmos-sdk v0.44.5 to v0.45.4 and ibc-go v1.1.5 to v3.0.0 diff --git a/cmd/secretd/attestation.go b/cmd/secretd/attestation.go index 71be2f7d7..a9bc95ce9 100644 --- a/cmd/secretd/attestation.go +++ b/cmd/secretd/attestation.go @@ -9,6 +9,12 @@ import ( "encoding/hex" "encoding/json" "fmt" + "io/ioutil" + "log" + "net/http" + "os" + "path/filepath" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/codec" @@ -19,25 +25,25 @@ import ( reg "github.com/enigmampc/SecretNetwork/x/registration" ra "github.com/enigmampc/SecretNetwork/x/registration/remote_attestation" "github.com/spf13/cobra" - "io/ioutil" - "log" - "net/http" - "os" - "path/filepath" ) -const flagReset = "reset" -const flagPulsar = "pulsar" -const flagCustomRegistrationService = "registration-service" +const ( + flagReset = "reset" + flagPulsar = "pulsar" + flagCustomRegistrationService = "registration-service" +) -const flagLegacyRegistrationNode = "registration-node" -const flagLegacyBootstrapNode = "node" +const ( + flagLegacyRegistrationNode = "registration-node" + flagLegacyBootstrapNode = "node" +) -const mainnetRegistrationService = "https://mainnet-register.scrtlabs.com/api/registernode" -const pulsarRegistrationService = "https://testnet-register.scrtlabs.com/api/registernode" +const ( + mainnetRegistrationService = "https://mainnet-register.scrtlabs.com/api/registernode" + pulsarRegistrationService = "https://testnet-register.scrtlabs.com/api/registernode" +) func InitAttestation() *cobra.Command { - cmd := &cobra.Command{ Use: "init-enclave [output-file]", Short: "Perform remote attestation of the enclave", @@ -47,7 +53,6 @@ blockchain. Writes the certificate in DER format to ~/attestation_cert `, Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - sgxSecretsDir := os.Getenv("SCRT_SGX_STORAGE") if sgxSecretsDir == "" { sgxSecretsDir = os.ExpandEnv("/opt/secret/.sgx_secrets") @@ -55,7 +60,7 @@ blockchain. Writes the certificate in DER format to ~/attestation_cert // create sgx secrets dir if it doesn't exist if _, err := os.Stat(sgxSecretsDir); !os.IsNotExist(err) { - err := os.MkdirAll(sgxSecretsDir, 0777) + err := os.MkdirAll(sgxSecretsDir, 0o777) if err != nil { return err } @@ -109,7 +114,6 @@ blockchain. Writes the certificate in DER format to ~/attestation_cert } func InitBootstrapCmd() *cobra.Command { - cmd := &cobra.Command{ Use: "init-bootstrap [node-exchange-file] [io-exchange-file]", Short: "Perform bootstrap initialization", @@ -224,7 +228,6 @@ func ParseCert() *cobra.Command { "register the node, during node initialization", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - // parse coins trying to be sent cert, err := ioutil.ReadFile(args[0]) if err != nil { @@ -251,7 +254,6 @@ func ConfigureSecret() *cobra.Command { "seed that was written on-chain", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { - cert, err := ioutil.ReadFile(args[0]) if err != nil { return err @@ -287,7 +289,7 @@ func ConfigureSecret() *cobra.Command { seedFilePath := filepath.Join(nodeDir, reg.SecretNodeSeedConfig) - err = ioutil.WriteFile(seedFilePath, cfgBytes, 0664) + err = ioutil.WriteFile(seedFilePath, cfgBytes, 0o664) if err != nil { return err } @@ -306,7 +308,6 @@ func HealthCheck() *cobra.Command { Long: "Help diagnose issues by performing a basic sanity test that SGX is working properly", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - res, err := api.HealthCheck() if err != nil { return fmt.Errorf("failed to start enclave. Enclave returned: %s", err) @@ -328,7 +329,6 @@ func ResetEnclave() *cobra.Command { "You will have to go through registration again to be able to start the node", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - homeDir, err := cmd.Flags().GetString(flags.FlagHome) if err != nil { return err @@ -359,7 +359,7 @@ func ResetEnclave() *cobra.Command { if err != nil { return err } - err := os.MkdirAll(sgxSecretsDir, 0777) + err := os.MkdirAll(sgxSecretsDir, 0o777) if err != nil { return err } @@ -393,7 +393,6 @@ type ErrorResponse struct { // AutoRegisterNode *** EXPERIMENTAL *** func AutoRegisterNode() *cobra.Command { - cmd := &cobra.Command{ Use: "auto-register", Short: "Perform remote attestation of the enclave", @@ -402,7 +401,6 @@ Please report any issues with this command `, Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - sgxSecretsFolder := os.Getenv("SCRT_SGX_STORAGE") if sgxSecretsFolder == "" { sgxSecretsFolder = os.ExpandEnv("/opt/secret/.sgx_secrets") @@ -552,7 +550,7 @@ Please report any issues with this command // create seed directory if it doesn't exist _, err = os.Stat(seedCfgDir) if os.IsNotExist(err) { - err = os.MkdirAll(seedCfgDir, 0777) + err = os.MkdirAll(seedCfgDir, 0o777) if err != nil { return fmt.Errorf("failed to create directory '%s': %w", seedCfgDir, err) } @@ -561,7 +559,7 @@ Please report any issues with this command // write seed to file - if file doesn't exist, write it. If it does, delete the existing one and create this _, err = os.Stat(seedCfgFile) if os.IsNotExist(err) { - err = ioutil.WriteFile(seedCfgFile, cfgBytes, 0644) + err = ioutil.WriteFile(seedCfgFile, cfgBytes, 0o644) if err != nil { return err } @@ -571,7 +569,7 @@ Please report any issues with this command return fmt.Errorf("failed to modify file '%s': %w", seedCfgFile, err) } - err = ioutil.WriteFile(seedCfgFile, cfgBytes, 0644) + err = ioutil.WriteFile(seedCfgFile, cfgBytes, 0o644) if err != nil { return fmt.Errorf("failed to create file '%s': %w", seedCfgFile, err) } diff --git a/cmd/secretd/cli_attestation.go b/cmd/secretd/cli_attestation.go index 143b4cefb..3fcecb04c 100644 --- a/cmd/secretd/cli_attestation.go +++ b/cmd/secretd/cli_attestation.go @@ -1,3 +1,4 @@ +//go:build secretcli // +build secretcli package main @@ -9,7 +10,6 @@ import ( const flagReset = "reset" func InitAttestation() *cobra.Command { - cmd := &cobra.Command{ Use: "init-enclave [output-file]", Short: "Perform remote attestation of the enclave", @@ -29,7 +29,6 @@ blockchain. Writes the certificate in DER format to ~/attestation_cert } func InitBootstrapCmd() *cobra.Command { - cmd := &cobra.Command{ Use: "init-bootstrap [node-exchange-file] [io-exchange-file]", Short: "Perform bootstrap initialization", diff --git a/cmd/secretd/genaccounts.go b/cmd/secretd/genaccounts.go index f9ec63813..e4bf9b8c7 100644 --- a/cmd/secretd/genaccounts.go +++ b/cmd/secretd/genaccounts.go @@ -4,6 +4,7 @@ import ( "bufio" "encoding/json" "fmt" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/crypto/keyring" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" @@ -30,7 +31,6 @@ const ( // AddGenesisAccountCmd returns add-genesis-account cobra Command. func AddGenesisAccountCmd(defaultNodeHome string) *cobra.Command { - cmd := &cobra.Command{ Use: "add-genesis-account [address_or_key_name] [coin][,[coin]]", Short: "Add a genesis account to genesis.json", @@ -183,11 +183,11 @@ contain valid denominations. Accounts may optionally be supplied with vesting pa } cmd.Flags().String(flags.FlagHome, defaultNodeHome, "The application home directory") - //cmd.Flags().String(flags.FlagKeyringBackend, flags.DefaultKeyringBackend, "Select keyring's backend (os|file|kwallet|pass|test)") - //cmd.Flags().String(flagClientHome, defaultClientHome, "client's home directory") - //cmd.Flags().String(flagVestingAmt, "", "amount of coins for vesting accounts") - //cmd.Flags().Uint64(flagVestingStart, 0, "schedule start time (unix epoch) for vesting accounts") - //cmd.Flags().Uint64(flagVestingEnd, 0, "schedule end time (unix epoch) for vesting accounts") + // cmd.Flags().String(flags.FlagKeyringBackend, flags.DefaultKeyringBackend, "Select keyring's backend (os|file|kwallet|pass|test)") + // cmd.Flags().String(flagClientHome, defaultClientHome, "client's home directory") + // cmd.Flags().String(flagVestingAmt, "", "amount of coins for vesting accounts") + // cmd.Flags().Uint64(flagVestingStart, 0, "schedule start time (unix epoch) for vesting accounts") + // cmd.Flags().Uint64(flagVestingEnd, 0, "schedule end time (unix epoch) for vesting accounts") flags.AddQueryFlagsToCmd(cmd) return cmd diff --git a/cmd/secretd/init.go b/cmd/secretd/init.go index 3893f3ae7..ad5e686ca 100644 --- a/cmd/secretd/init.go +++ b/cmd/secretd/init.go @@ -92,7 +92,7 @@ func InitCmd(mbm module.BasicManager, defaultNodeHome string) *cobra.Command { "ab6394e953e0b570bb1deeb5a8b387aa0dc6188a@scrt-seed-02.scrtlabs.com:26656", // SCRT Labs 2 "9cdaa5856e0245ecd73bd464308fb990fbc53b57@scrt-seed-03.scrtlabs.com:26656", // SCRT Labs 3 } - //Override default settings in config.toml + // Override default settings in config.toml config.P2P.Seeds = strings.Join(seeds[:], ",") } diff --git a/cmd/secretd/root.go b/cmd/secretd/root.go index f8035c58b..5c759aefc 100644 --- a/cmd/secretd/root.go +++ b/cmd/secretd/root.go @@ -50,8 +50,11 @@ import ( // thanks @terra-project for this fix const flagLegacyHdPath = "legacy-hd-path" -const flagIsBootstrap = "bootstrap" -const cfgFileName = "config.toml" + +const ( + flagIsBootstrap = "bootstrap" + cfgFileName = "config.toml" +) var bootstrap bool @@ -91,7 +94,7 @@ func NewRootCmd() (*cobra.Command, app.EncodingConfig) { WithLegacyAmino(encodingConfig.Amino). WithInput(os.Stdin). WithAccountRetriever(types.AccountRetriever{}). - //WithBroadcastMode(flags.BroadcastBlock). + // WithBroadcastMode(flags.BroadcastBlock). WithHomeDir(app.DefaultNodeHome). WithViper("SECRET") @@ -118,12 +121,12 @@ func NewRootCmd() (*cobra.Command, app.EncodingConfig) { secretAppTemplate, secretAppConfig := initAppConfig() - //ctx := server.GetServerContextFromCmd(cmd) + // ctx := server.GetServerContextFromCmd(cmd) - //bindFlags(cmd, ctx.Viper) + // bindFlags(cmd, ctx.Viper) return server.InterceptConfigsPreRunHandler(cmd, secretAppTemplate, secretAppConfig) - //return initConfig(&initClientCtx, cmd) + // return initConfig(&initClientCtx, cmd) }, SilenceUsage: true, } @@ -157,7 +160,7 @@ func initRootCmd(rootCmd *cobra.Command, encodingConfig app.EncodingConfig) { rootCmd.AddCommand( InitCmd(app.ModuleBasics(), app.DefaultNodeHome), - //updateTmParamsAndInit(app.ModuleBasics(), app.DefaultNodeHome), + // updateTmParamsAndInit(app.ModuleBasics(), app.DefaultNodeHome), genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), secretlegacy.MigrateGenesisCmd(), genutilcli.GenTxCmd(app.ModuleBasics(), encodingConfig.TxConfig, banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), @@ -245,7 +248,7 @@ func txCommand() *cobra.Command { authcmd.GetEncodeCommand(), authcmd.GetDecodeCommand(), flags.LineBreak, - //vestingcli.GetTxCmd(), + // vestingcli.GetTxCmd(), S20GetTxCmd(), ) @@ -310,7 +313,6 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts serverty func exportAppStateAndTMValidators( logger log.Logger, db dbm.DB, traceStore io.Writer, height int64, forZeroHeight bool, jailWhiteList []string, appOpts servertypes.AppOptions, ) (servertypes.ExportedApp, error) { - bootstrap := viper.GetBool("bootstrap") encCfg := app.MakeEncodingConfig() @@ -361,7 +363,6 @@ func initConfig(ctx *client.Context, cmd *cobra.Command) error { cmd.PersistentFlags().Bool(flagLegacyHdPath, false, "Flag to specify the command uses old HD path - use this for ledger compatibility") _, err := cmd.PersistentFlags().GetBool(flagLegacyHdPath) - if err != nil { return err } diff --git a/cmd/secretd/secret20.go b/cmd/secretd/secret20.go index cea3e5589..3a5663de7 100644 --- a/cmd/secretd/secret20.go +++ b/cmd/secretd/secret20.go @@ -6,6 +6,9 @@ import ( "encoding/json" "errors" "fmt" + "strconv" + "strings" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" @@ -13,12 +16,12 @@ import ( "github.com/enigmampc/SecretNetwork/x/compute/client/cli" "github.com/spf13/cobra" "github.com/spf13/viper" - "strconv" - "strings" ) -const MessageBlockSize = 256 -const flagAmount = "amount" +const ( + MessageBlockSize = 256 + flagAmount = "amount" +) // S20GetQueryCmd GetQueryCmd returns the cli query commands for this module func S20GetQueryCmd() *cobra.Command { @@ -69,7 +72,6 @@ func S20TransferHistoryCmd() *cobra.Command { Long: `Print out transfer you have been a part of - either as a sender or recipient`, Args: cobra.RangeArgs(3, 5), RunE: func(cmd *cobra.Command, args []string) error { - cliCtx, err := client.GetClientQueryContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -129,7 +131,6 @@ func S20TransactionHistoryCmd() *cobra.Command { Unlike the transfers query, this query shows all kinds of transactions with the contract.`, Args: cobra.RangeArgs(3, 5), RunE: func(cmd *cobra.Command, args []string) error { - cliCtx, err := client.GetClientQueryContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -189,7 +190,6 @@ func S20BalanceCmd() *cobra.Command { key yet, use the "create-viewing-key" command. Otherwise, you can still see your current balance using a raw transaction`, Args: cobra.ExactArgs(3), RunE: func(cmd *cobra.Command, args []string) error { - cliCtx, err := client.GetClientQueryContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -246,7 +246,6 @@ func s20TransferCmd() *cobra.Command { Long: `Transfer tokens to another address`, Args: cobra.ExactArgs(3), RunE: func(cmd *cobra.Command, args []string) error { - ////inBuf := bufio.NewReader(cmd.InOrStdin()) cliCtx, err := client.GetClientTxContext(cmd) @@ -288,8 +287,7 @@ func s20CreatingViewingKey() *cobra.Command { This way you can perform balance and transaction history queries without waiting for a transaction on-chain.`, Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - - //inBuf := bufio.NewReader(cmd.InOrStdin()) + // inBuf := bufio.NewReader(cmd.InOrStdin()) cliCtx, err := client.GetClientTxContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -327,8 +325,7 @@ func s20SetViewingKey() *cobra.Command { you're doing`, Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { - - //inBuf := bufio.NewReader(cmd.InOrStdin()) + // inBuf := bufio.NewReader(cmd.InOrStdin()) cliCtx, err := client.GetClientTxContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -357,8 +354,7 @@ func s20DepositCmd() *cobra.Command { Long: `Convert your SCRT into a secret token. This command will only work if the token supports native currency conversion`, Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - - //inBuf := bufio.NewReader(cmd.InOrStdin()) + // inBuf := bufio.NewReader(cmd.InOrStdin()) cliCtx, err := client.GetClientTxContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -391,8 +387,7 @@ func s20Redeem() *cobra.Command { Long: `Convert your secret token back to SCRT. This command will only work if the token supports native currency conversion`, Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { - - //inBuf := bufio.NewReader(cmd.InOrStdin()) + // inBuf := bufio.NewReader(cmd.InOrStdin()) cliCtx, err := client.GetClientTxContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -428,8 +423,7 @@ func s20SendCmd() *cobra.Command { If no callback provided, this is identical to 'transfer'.`, Args: cobra.RangeArgs(3, 4), RunE: func(cmd *cobra.Command, args []string) error { - - //inBuf := bufio.NewReader(cmd.InOrStdin()) + // inBuf := bufio.NewReader(cmd.InOrStdin()) cliCtx, err := client.GetClientTxContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) @@ -474,8 +468,7 @@ func s20BurnCmd() *cobra.Command { WARNING! This action is irreversible and permanent! use at your own risk`, Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { - - //inBuf := bufio.NewReader(cmd.InOrStdin()) + // inBuf := bufio.NewReader(cmd.InOrStdin()) cliCtx, err := client.GetClientTxContext(cmd) contractAddr, err := addressFromBechOrLabel(args[0], cliCtx) diff --git a/deployment/docker/devimage/bootstrap_init_no_stop.sh b/deployment/docker/devimage/bootstrap_init_no_stop.sh index 8d15a1551..677174c59 100755 --- a/deployment/docker/devimage/bootstrap_init_no_stop.sh +++ b/deployment/docker/devimage/bootstrap_init_no_stop.sh @@ -65,7 +65,7 @@ perl -i -pe 's/enable-unsafe-cors = false/enable-unsafe-cors = true/' .secretd/c lcp --proxyUrl http://localhost:1316 --port 1317 --proxyPartial '' & # Setup faucet -gunicorn --bind 0.0.0.0:5000 svc & +setsid node faucet_server.js & # Setup secretcli cp $(which secretd) $(dirname $(which secretd))/secretcli diff --git a/deployment/docker/devimage/faucet/faucet_server.js b/deployment/docker/devimage/faucet/faucet_server.js new file mode 100644 index 000000000..3739488ce --- /dev/null +++ b/deployment/docker/devimage/faucet/faucet_server.js @@ -0,0 +1,155 @@ +const http = require("http"); +const querystring = require("querystring"); +const exec = require("child_process").exec; + +const FAUCET_WALLET_NAME = process.env.FAUCET_WALLET_NAME || "a"; +const FAUCET_AMOUNT = process.env.FAUCET_AMOUNT || "1000000000"; +const DENOM = process.env.DENOM || "uscrt"; + +let faucet_address; + +/** + * Execute a shell command and return it as a Promise. + * @param cmd {string} + * @return {Promise} + */ +function execShellCommand(cmd) { + return new Promise((resolve, reject) => { + exec(cmd, (error, stdout, stderr) => { + if (error) { + console.error("error in execShellCommand", error); + reject(error); + } else if (stderr) { + console.error("stderr in execShellCommand", stderr); + reject(stderr); + } else { + resolve(JSON.parse(stdout)); + } + }); + }); +} + +/** + * Command to send coins. + * @param src_key_name source account key name, default 'a' + * @param src_address source account's secret address + * @param dest_address destination address + * @param amount amount to send + * @returns result of executing the command. + */ +async function send_command(src_key_name, src_address, dest_address, amount) { + const send_message = `secretd tx bank send ${src_address} ${dest_address} ${amount}${DENOM} --from ${src_key_name} --gas-prices 0.25uscrt -y`; + console.log(`send_message: \n ${send_message}`); + + const result = await execShellCommand(send_message); + console.log(`Sent tokens with txhash: ${result.txhash}`); + return result.txhash; +} + +/** + * Returns the address for the requested account key. + * @param key_name faucet account key to use, default 'a' + * @returns address + */ +async function get_address(key_name) { + // Already looked up, won't change while running + if (faucet_address !== undefined) { + return faucet_address; + } + + const list_keys = "secretd keys list"; + const result = await execShellCommand(list_keys); + + for (index in result) { + const key = result[index]; + if (key["name"] == key_name) { + console.log(`Found key with address: ${key["address"]}`); + faucet_address = key["address"]; + break; + } + } + + return faucet_address; +} + +// Start the http server +const server = http.createServer(); +server.on("request", async (req, res) => { + try { + // for root or status, return the configured faucet address and amount sent + if (req.url === "/" || req.url === "/status") { + const faucet_address = await get_address(FAUCET_WALLET_NAME); + + if (faucet_address === undefined) { + console.error( + `No key account with required name: ${FAUCET_WALLET_NAME}` + ); + + res.writeHead(500, { "Content-Type": "application/json" }); + res.write( + JSON.stringify({ + error: `No key account with required name: ${FAUCET_WALLET_NAME}`, + }) + ); + res.end(); + return; + } else { + res.writeHead(200, { "Content-Type": "application/json" }); + res.write( + JSON.stringify({ + faucet_address: faucet_address, + amount: FAUCET_AMOUNT, + }) + ); + res.end(); + } + } else if (req.url.startsWith("/faucet")) { + // ensure address is present, not necessarily valid checksum + if (!req.url.startsWith("/faucet?address=")) { + res.writeHead(400, { "Content-Type": "application/json" }); + res.write(JSON.stringify({ error: "address is required" })); + res.end(); + return; + } + + const address = querystring.parse(req.url)["/faucet?address"]; + const faucet_address = await get_address(FAUCET_WALLET_NAME); + + if (faucet_address === undefined) { + console.error( + `No key account with required name: ${FAUCET_WALLET_NAME}` + ); + + res.writeHead(500, { "Content-Type": "application/json" }); + res.write( + JSON.stringify({ + error: `No key account with required name: ${FAUCET_WALLET_NAME}`, + }) + ); + res.end(); + return; + } else { + const txhash = await send_command( + FAUCET_WALLET_NAME, + faucet_address, + address, + FAUCET_AMOUNT + ); + + res.writeHead(200, { "Content-Type": "application/json" }); + res.write(JSON.stringify({ txhash: txhash })); + res.end(); + } + } else { + res.end("Invalid Request!"); + } + } catch (err) { + res.writeHead(500, { "Content-Type": "application/json" }); + res.write(JSON.stringify({ error: `${err.message}` })); + res.end(); + } +}); + +server.listen(5000); + +console.log("Secret Faucet is running on port 5000 ..."); diff --git a/deployment/docker/devimage/faucet/requirements.txt b/deployment/docker/devimage/faucet/requirements.txt deleted file mode 100644 index d25c8e802..000000000 --- a/deployment/docker/devimage/faucet/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -requests -flask -flask_cors -gunicorn \ No newline at end of file diff --git a/deployment/docker/devimage/faucet/svc.py b/deployment/docker/devimage/faucet/svc.py deleted file mode 100755 index 8ba4bd712..000000000 --- a/deployment/docker/devimage/faucet/svc.py +++ /dev/null @@ -1,86 +0,0 @@ -#! /usr/bin/python3 - -import logging -import base64 - -import subprocess -import os -import json - -from flask import Flask, request, abort, jsonify -from flask_cors import CORS -# from flask_restplus import Api, Resource -# from flask_restplus import abort - -logger = logging.getLogger(__name__) - -logging.getLogger("urllib3.connectionpool").setLevel(logging.INFO) -logging.getLogger("werkzeug").setLevel(logging.INFO) - -logger.setLevel(logging.INFO) - -application = Flask(__name__) -CORS(application) - -node_url = os.getenv("RPC_URL", 'localhost:26657') - -chain_id = os.getenv("CHAIN_ID", 'secretdev-1') - -def get_address(key_name: str) -> str: - p = subprocess.check_output(['secretd', 'keys', 'list']) - print(f'{p}') - res = '' - for key in filter(lambda x: x['name'] == key_name, json.loads(p.decode())): - res = key['address'] - if not res: - raise RuntimeError(f"No key account with required name: {key_name}") - return res - - - -def send_command(src: str, dest: str, amount: str) -> str: - exec = ['secretd', 'tx', 'bank', 'send' ] - - address = get_address(src) - - exec.append(address) - exec.append(dest) - exec.append(f'{amount}uscrt') - exec.extend(['--from', src, '--gas-prices', '0.25uscrt', '-y']) - return exec - -# @ns.param('cert', 'Base64 encoded certificate file', 'query') -@application.route('/faucet') -def get(): # pylint: disable=no-self-use - address: str = request.args.get('address') - - wallet_name = os.getenv('FAUCET_WALLET_NAME', 'a') - faucet_amount = os.getenv('FAUCET_AMOUNT', '1000000000') - - executable = send_command(wallet_name, address, faucet_amount) - - try: - logger.info(f"sending: {executable}") - resp = subprocess.check_output(executable) - res = json.loads(resp.decode()) - logger.info(f"{resp}") - if res.get("code", 0) == 0: - return jsonify(res["txhash"]) - else: - logger.error(f"Error creating transaction: {res['raw_log']}") - except Exception as e: - logger.error(f"Error while trying to create transaction: {e} - {executable}") - abort(500) - finally: - try: - os.remove(cert_file) - except Exception: - pass - - -def start_server(port): - application.run(host='0.0.0.0', port=port, debug=False) - - -if __name__ == '__main__': - start_server(8081) \ No newline at end of file diff --git a/deployment/dockerfiles/base-go.Dockerfile b/deployment/dockerfiles/base-go.Dockerfile index 4407ed5ed..c80fc930c 100644 --- a/deployment/dockerfiles/base-go.Dockerfile +++ b/deployment/dockerfiles/base-go.Dockerfile @@ -6,8 +6,8 @@ ENV GOROOT=/usr/local/go ENV GOPATH=/go/ ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin -ADD https://go.dev/dl/go1.17.7.linux-amd64.tar.gz go1.17.7.linux-amd64.tar.gz -RUN tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz +ADD https://go.dev/dl/go1.18.3.linux-amd64.tar.gz go1.18.3.linux-amd64.tar.gz +RUN tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz RUN go install github.com/jteeuwen/go-bindata/go-bindata@latest && go-bindata -version # Set working directory for the build diff --git a/deployment/dockerfiles/base-rocksdb.Dockerfile b/deployment/dockerfiles/base-rocksdb.Dockerfile index 5790e0197..406126bb9 100644 --- a/deployment/dockerfiles/base-rocksdb.Dockerfile +++ b/deployment/dockerfiles/base-rocksdb.Dockerfile @@ -9,8 +9,8 @@ ENV GOROOT=/usr/local/go ENV GOPATH=/go/ ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin -ADD https://go.dev/dl/go1.17.7.linux-amd64.tar.gz go1.17.7.linux-amd64.tar.gz -RUN tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz +ADD https://go.dev/dl/go1.18.3.linux-amd64.tar.gz go1.18.3.linux-amd64.tar.gz +RUN tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz RUN go install github.com/jteeuwen/go-bindata/go-bindata@latest && go-bindata -version RUN wget -q https://github.com/WebAssembly/wabt/releases/download/1.0.20/wabt-1.0.20-ubuntu.tar.gz && \ diff --git a/deployment/dockerfiles/base.Dockerfile b/deployment/dockerfiles/base.Dockerfile index 68c5e3037..68ac3296f 100644 --- a/deployment/dockerfiles/base.Dockerfile +++ b/deployment/dockerfiles/base.Dockerfile @@ -9,8 +9,8 @@ ENV GOROOT=/usr/local/go ENV GOPATH=/go/ ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin -ADD https://go.dev/dl/go1.17.7.linux-amd64.tar.gz go1.17.7.linux-amd64.tar.gz -RUN tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz +ADD https://go.dev/dl/go1.18.3.linux-amd64.tar.gz go1.18.3.linux-amd64.tar.gz +RUN tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz RUN go install github.com/jteeuwen/go-bindata/go-bindata@latest && go-bindata -version RUN wget -q https://github.com/WebAssembly/wabt/releases/download/1.0.20/wabt-1.0.20-ubuntu.tar.gz && \ diff --git a/deployment/dockerfiles/dev-image.Dockerfile b/deployment/dockerfiles/dev-image.Dockerfile index cca50315a..4d56adf64 100644 --- a/deployment/dockerfiles/dev-image.Dockerfile +++ b/deployment/dockerfiles/dev-image.Dockerfile @@ -1,17 +1,7 @@ # Final image FROM build-release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - #### Base utilities #### - python3.8 \ - python3-pip - -COPY deployment/docker/devimage/faucet/requirements.txt . - -RUN pip install -r requirements.txt - COPY deployment/docker/devimage/bootstrap_init_no_stop.sh bootstrap_init.sh -COPY deployment/docker/devimage/faucet/svc.py . +COPY deployment/docker/devimage/faucet/faucet_server.js . ENTRYPOINT ["./bootstrap_init.sh"] \ No newline at end of file diff --git a/go-cosmwasm/api/callbacks.go b/go-cosmwasm/api/callbacks.go index 97a7f5fc4..315c56d72 100644 --- a/go-cosmwasm/api/callbacks.go +++ b/go-cosmwasm/api/callbacks.go @@ -1,3 +1,4 @@ +//go:build !secretcli // +build !secretcli package api @@ -302,8 +303,10 @@ func cNext(ref C.iterator_t, gasMeter *C.gas_meter_t, usedGas *C.uint64_t, key * /***** GoAPI *******/ -type HumanizeAddress func([]byte) (string, uint64, error) -type CanonicalizeAddress func(string) ([]byte, uint64, error) +type ( + HumanizeAddress func([]byte) (string, uint64, error) + CanonicalizeAddress func(string) ([]byte, uint64, error) +) type GoAPI struct { HumanAddress HumanizeAddress diff --git a/go-cosmwasm/api/callbacks_cgo.go b/go-cosmwasm/api/callbacks_cgo.go index 98a453e96..d734cc73f 100644 --- a/go-cosmwasm/api/callbacks_cgo.go +++ b/go-cosmwasm/api/callbacks_cgo.go @@ -1,3 +1,4 @@ +//go:build !secretcli // +build !secretcli package api diff --git a/go-cosmwasm/api/callbacks_cgo_mock.go b/go-cosmwasm/api/callbacks_cgo_mock.go index 56ef5102c..cafb234be 100644 --- a/go-cosmwasm/api/callbacks_cgo_mock.go +++ b/go-cosmwasm/api/callbacks_cgo_mock.go @@ -1,3 +1,4 @@ +//go:build secretcli // +build secretcli package api diff --git a/go-cosmwasm/api/callbacks_mock.go b/go-cosmwasm/api/callbacks_mock.go index 9a72c3fdb..56bc58aee 100644 --- a/go-cosmwasm/api/callbacks_mock.go +++ b/go-cosmwasm/api/callbacks_mock.go @@ -1,3 +1,4 @@ +//go:build secretcli // +build secretcli package api diff --git a/go-cosmwasm/api/iterator.go b/go-cosmwasm/api/iterator.go index 0d2fe8e68..352cef898 100644 --- a/go-cosmwasm/api/iterator.go +++ b/go-cosmwasm/api/iterator.go @@ -1,8 +1,9 @@ package api import ( - dbm "github.com/tendermint/tm-db" "sync" + + dbm "github.com/tendermint/tm-db" ) // frame stores all Iterators for one contract diff --git a/go-cosmwasm/api/lib.go b/go-cosmwasm/api/lib.go index c1d54cca9..4dfb9fc49 100644 --- a/go-cosmwasm/api/lib.go +++ b/go-cosmwasm/api/lib.go @@ -1,3 +1,4 @@ +//go:build !secretcli // +build !secretcli package api @@ -16,13 +17,16 @@ import ( // nice aliases to the rust names type i32 = C.int32_t -type i64 = C.int64_t -type u64 = C.uint64_t -type u32 = C.uint32_t -type u8 = C.uint8_t -type u8_ptr = *C.uint8_t -type usize = C.uintptr_t -type cint = C.int + +type ( + i64 = C.int64_t + u64 = C.uint64_t + u32 = C.uint32_t + u8 = C.uint8_t + u8_ptr = *C.uint8_t + usize = C.uintptr_t + cint = C.int +) type Cache struct { ptr *C.cache_t @@ -89,7 +93,7 @@ func ReleaseCache(cache Cache) { func InitEnclaveRuntime(ModuleCacheSize uint8) error { errmsg := C.Buffer{} - config := C.EnclaveRuntimeConfig { + config := C.EnclaveRuntimeConfig{ module_cache_size: u8(ModuleCacheSize), } _, err := C.configure_enclave_runtime(config, &errmsg) diff --git a/go-cosmwasm/api/lib_mock.go b/go-cosmwasm/api/lib_mock.go index e6d0caf16..53a0b8a0b 100644 --- a/go-cosmwasm/api/lib_mock.go +++ b/go-cosmwasm/api/lib_mock.go @@ -1,3 +1,4 @@ +//go:build secretcli // +build secretcli package api @@ -75,7 +76,7 @@ func InitCache(dataDir string, supportedFeatures string, cacheSize uint64) (Cach } func ReleaseCache(cache Cache) { - //C.release_cache(cache.ptr) + // C.release_cache(cache.ptr) } func InitEnclaveRuntime(ModuleCacheSize uint8) error { diff --git a/go-cosmwasm/api/link_muslc.go b/go-cosmwasm/api/link_muslc.go index f3b7ed4ac..b829c62d1 100644 --- a/go-cosmwasm/api/link_muslc.go +++ b/go-cosmwasm/api/link_muslc.go @@ -1,3 +1,4 @@ +//go:build linux && muslc // +build linux,muslc package api diff --git a/go-cosmwasm/api/link_std.go b/go-cosmwasm/api/link_std.go index b5bd2e4d8..703122fb1 100644 --- a/go-cosmwasm/api/link_std.go +++ b/go-cosmwasm/api/link_std.go @@ -1,3 +1,4 @@ +//go:build !secretcli && linux && !muslc && !darwin // +build !secretcli,linux,!muslc,!darwin package api diff --git a/go-cosmwasm/api/memory.go b/go-cosmwasm/api/memory.go index 94859c445..5e8afe8be 100644 --- a/go-cosmwasm/api/memory.go +++ b/go-cosmwasm/api/memory.go @@ -1,3 +1,4 @@ +//go:build !secretcli // +build !secretcli package api @@ -63,7 +64,7 @@ func receiveVector(b C.Buffer) []byte { // Copy the contents of a vector that was allocated on the Rust side. // Unlike receiveVector, we do not free it, because it will be manually // freed on the Rust side after control returns to it. -//This should be used in places like callbacks from Rust to Go. +// This should be used in places like callbacks from Rust to Go. func receiveSlice(b C.Buffer) []byte { if bufIsNil(b) { return nil diff --git a/go-cosmwasm/api/mock_test.go b/go-cosmwasm/api/mock_test.go index 24b1404d7..7fa664e00 100644 --- a/go-cosmwasm/api/mock_test.go +++ b/go-cosmwasm/api/mock_test.go @@ -75,7 +75,6 @@ func (g *mockGasMeter) ConsumeGas(amount Gas, descriptor string) { if g.consumed > g.limit { panic(ErrorOutOfGas{descriptor}) } - } /*** Mock KVStore ****/ @@ -286,7 +285,7 @@ func NewBankQuerier(balances map[string]types.Coins) BankQuerier { func (q BankQuerier) Query(request *types.BankQuery) ([]byte, error) { if request.Balance != nil { denom := request.Balance.Denom - var coin = types.NewCoin(0, denom) + coin := types.NewCoin(0, denom) for _, c := range q.Balances[request.Balance.Address] { if c.Denom == denom { coin = c diff --git a/go-cosmwasm/cmd/main.go b/go-cosmwasm/cmd/main.go index 1b1856dc8..149d3ccf4 100644 --- a/go-cosmwasm/cmd/main.go +++ b/go-cosmwasm/cmd/main.go @@ -18,9 +18,8 @@ func main() { } fmt.Println("Loaded!") - os.MkdirAll("tmp", 0755) + os.MkdirAll("tmp", 0o755) wasmer, err := wasm.NewWasmer("tmp", "staking", 0, 15) - if err != nil { panic(err) } diff --git a/go-cosmwasm/types/msg.go b/go-cosmwasm/types/msg.go index 310a031e6..579f7705b 100644 --- a/go-cosmwasm/types/msg.go +++ b/go-cosmwasm/types/msg.go @@ -84,9 +84,9 @@ type VoteMsg struct { } var ( - Yes = "Yes" - Abstain = "Abstain" - No = "No" + Yes = "Yes" + Abstain = "Abstain" + No = "No" NoWithVeto = "NoWithVeto" ) diff --git a/go-cosmwasm/types/queries.go b/go-cosmwasm/types/queries.go index d22175b7a..5c2059f7e 100644 --- a/go-cosmwasm/types/queries.go +++ b/go-cosmwasm/types/queries.go @@ -243,8 +243,10 @@ type MintQuery struct { BondedRatio *MintingBondedRatioQuery `json:"bonded_ratio,omitempty"` } -type MintingBondedRatioQuery struct{} -type MintingInflationQuery struct{} +type ( + MintingBondedRatioQuery struct{} + MintingInflationQuery struct{} +) type MintingInflationResponse struct { InflationRate string `json:"inflation_rate"` @@ -312,7 +314,7 @@ func (d ProposalsResponse) MarshalJSON() ([]byte, error) { if len(d.Proposals) == 0 { return []byte("{\"proposals\": []}"), nil } - var raw = d.Proposals + raw := d.Proposals asBytes, err := json.Marshal(raw) if err != nil { return nil, err diff --git a/go-cosmwasm/types/queries_test.go b/go-cosmwasm/types/queries_test.go index 861b507e3..ebaca168f 100644 --- a/go-cosmwasm/types/queries_test.go +++ b/go-cosmwasm/types/queries_test.go @@ -2,9 +2,10 @@ package types import ( "encoding/json" + "testing" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "testing" ) func TestDelegationWithEmptyArray(t *testing.T) { diff --git a/go-cosmwasm/types/systemerror.go b/go-cosmwasm/types/systemerror.go index bdfd6639e..064c9ae18 100644 --- a/go-cosmwasm/types/systemerror.go +++ b/go-cosmwasm/types/systemerror.go @@ -7,12 +7,12 @@ import ( // SystemError captures all errors returned from the Rust code as SystemError. // Exactly one of the fields should be set. type SystemError struct { - InvalidRequest *InvalidRequest `json:"invalid_request,omitempty"` - InvalidResponse *InvalidResponse `json:"invalid_response,omitempty"` - NoSuchContract *NoSuchContract `json:"no_such_contract,omitempty"` - Unknown *Unknown `json:"unknown,omitempty"` - UnsupportedRequest *UnsupportedRequest `json:"unsupported_request,omitempty"` - ExceededRecursionLimit *ExceededRecursionLimit `json:"exceeded_recursion_limit,omitempty"` + InvalidRequest *InvalidRequest `json:"invalid_request,omitempty"` + InvalidResponse *InvalidResponse `json:"invalid_response,omitempty"` + NoSuchContract *NoSuchContract `json:"no_such_contract,omitempty"` + Unknown *Unknown `json:"unknown,omitempty"` + UnsupportedRequest *UnsupportedRequest `json:"unsupported_request,omitempty"` + ExceededRecursionLimit *ExceededRecursionLimit `json:"exceeded_recursion_limit,omitempty"` } var ( diff --git a/go-cosmwasm/types/types.go b/go-cosmwasm/types/types.go index 5b7b232ee..e60fbf33e 100644 --- a/go-cosmwasm/types/types.go +++ b/go-cosmwasm/types/types.go @@ -59,10 +59,10 @@ func (o OutOfGasError) Error() string { } type VerificationInfo struct { - Bytes []byte `json:"sign_bytes"` - SignMode string `json:"sign_mode"` - ModeInfo []byte `json:"mode_info"` - PublicKey []byte `json:"public_key"` - Signature []byte `json:"signature"` - CallbackSignature []byte `json:"callback_sig"` // Optional + Bytes []byte `json:"sign_bytes"` + SignMode string `json:"sign_mode"` + ModeInfo []byte `json:"mode_info"` + PublicKey []byte `json:"public_key"` + Signature []byte `json:"signature"` + CallbackSignature []byte `json:"callback_sig"` // Optional } diff --git a/go.mod b/go.mod index 29db8f1fa..7221a851a 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/enigmampc/SecretNetwork -go 1.17 +go 1.18 require ( github.com/cosmos/cosmos-sdk v0.45.4 diff --git a/go.sum b/go.sum index 047d6defd..cf7caa4ff 100644 --- a/go.sum +++ b/go.sum @@ -25,7 +25,6 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= @@ -143,7 +142,6 @@ github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= @@ -217,7 +215,6 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-sdk v0.45.1/go.mod h1:XXS/asyCqWNWkx2rW6pSuen+EVcpAFxq6khrhnZgHaQ= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -286,12 +283,10 @@ github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= @@ -318,7 +313,6 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= -github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -455,7 +449,6 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= @@ -493,7 +486,6 @@ github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIv github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= -github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= @@ -560,7 +552,6 @@ github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1C github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.9.0 h1:npqHz788dryJiR/l6K/RUQAyh2SwV91+d1dnh4RjO9w= -github.com/jhump/protoreflect v1.9.0/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= @@ -611,7 +602,6 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+ github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= @@ -670,7 +660,6 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= @@ -707,7 +696,6 @@ github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -723,7 +711,6 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= @@ -756,11 +743,6 @@ github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= -github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E= -github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= -github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= -github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= @@ -768,7 +750,6 @@ github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144T github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= @@ -818,7 +799,6 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= @@ -853,16 +833,13 @@ github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= github.com/rs/zerolog v1.26.0 h1:ORM4ibhEZeTeQlCojCK2kPz1ogAY4bGs4tD+SaAdGaE= github.com/rs/zerolog v1.26.0/go.mod h1:yBiM87lvSqX8h0Ww4sdzNSkVYZ8dL2xjZJG1lAuGZEo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= @@ -894,15 +871,12 @@ github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY52 github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -916,8 +890,6 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= @@ -1178,7 +1150,6 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -1358,10 +1329,8 @@ golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWc golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -1411,7 +1380,6 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= @@ -1422,7 +1390,6 @@ google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqiv google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1497,11 +1464,8 @@ google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 h1:q1kiSVscqoDeqTF27eQ2NnLLDmqF0I373qQNXYMy0fo= google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= @@ -1517,7 +1481,6 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= @@ -1536,7 +1499,6 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= diff --git a/types/util/prefix.go b/types/util/prefix.go index 06b08fdd7..61129d056 100644 --- a/types/util/prefix.go +++ b/types/util/prefix.go @@ -19,13 +19,11 @@ const ( CoinPurpose = 44 ) -var ( - // AddressVerifier secret address verifier - AddressVerifier = func(bz []byte) error { - if n := len(bz); n != 20 { - return fmt.Errorf("incorrect address length %d", n) - } - - return nil +// AddressVerifier secret address verifier +var AddressVerifier = func(bz []byte) error { + if n := len(bz); n != 20 { + return fmt.Errorf("incorrect address length %d", n) } -) + + return nil +} diff --git a/x/compute/client/cli/query.go b/x/compute/client/cli/query.go index 41f39ba20..bc26f67ad 100644 --- a/x/compute/client/cli/query.go +++ b/x/compute/client/cli/query.go @@ -7,14 +7,13 @@ import ( "encoding/json" "errors" "fmt" + "io/ioutil" + "strconv" "github.com/gogo/protobuf/proto" authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" - "io/ioutil" - "strconv" - sdkErrors "github.com/cosmos/cosmos-sdk/types/errors" cosmwasmTypes "github.com/enigmampc/SecretNetwork/go-cosmwasm/types" flag "github.com/spf13/pflag" @@ -219,7 +218,7 @@ func GetCmdQueryCode() *cobra.Command { } fmt.Printf("Downloading wasm code to %s\n", args[1]) - return ioutil.WriteFile(args[1], code.Data, 0644) + return ioutil.WriteFile(args[1], code.Data, 0o644) }, } @@ -558,7 +557,6 @@ func QueryWithData(contractAddress sdk.AccAddress, queryData []byte, cliCtx clie nonce := queryData[:32] res, _, err := cliCtx.QueryWithData(route, queryData) - if err != nil { if types.ErrContainsQueryError(err) { errorPlainBz, err := wasmCtx.DecryptError(err.Error(), "query", nonce) diff --git a/x/compute/client/cli/tx.go b/x/compute/client/cli/tx.go index e502ae839..606cc6c07 100644 --- a/x/compute/client/cli/tx.go +++ b/x/compute/client/cli/tx.go @@ -48,9 +48,9 @@ func GetTxCmd() *cobra.Command { InstantiateContractCmd(), ExecuteContractCmd(), // Currently not supporting these commands - //MigrateContractCmd(cdc), - //UpdateContractAdminCmd(cdc), - //ClearContractAdminCmd(cdc), + // MigrateContractCmd(cdc), + // UpdateContractAdminCmd(cdc), + // ClearContractAdminCmd(cdc), ) return txCmd } diff --git a/x/compute/client/rest/query.go b/x/compute/client/rest/query.go index 9988bc28a..cecfbe706 100644 --- a/x/compute/client/rest/query.go +++ b/x/compute/client/rest/query.go @@ -5,10 +5,11 @@ import ( "encoding/hex" "encoding/json" "fmt" - "github.com/cosmos/cosmos-sdk/client" "net/http" "strconv" + "github.com/cosmos/cosmos-sdk/client" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/rest" "github.com/enigmampc/SecretNetwork/x/compute/internal/keeper" diff --git a/x/compute/client/rest/tx.go b/x/compute/client/rest/tx.go index 33fc9479e..d630e09c9 100644 --- a/x/compute/client/rest/tx.go +++ b/x/compute/client/rest/tx.go @@ -1,11 +1,12 @@ package rest import ( - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/tx" "net/http" "strconv" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/tx" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/rest" "github.com/gorilla/mux" diff --git a/x/compute/client/utils/utils.go b/x/compute/client/utils/utils.go index aefbd66d7..d91908ba1 100644 --- a/x/compute/client/utils/utils.go +++ b/x/compute/client/utils/utils.go @@ -98,7 +98,7 @@ func (ctx WASMContext) GetTxSenderKeyPair() (privkey []byte, pubkey []byte, er e return nil, nil, err } - err = ioutil.WriteFile(keyPairFilePath, keyPairJSONBytes, 0644) + err = ioutil.WriteFile(keyPairFilePath, keyPairJSONBytes, 0o644) if err != nil { return nil, nil, err } diff --git a/x/compute/client/utils/utils_test.go b/x/compute/client/utils/utils_test.go index 0594a9a96..86f7ce67b 100644 --- a/x/compute/client/utils/utils_test.go +++ b/x/compute/client/utils/utils_test.go @@ -1,14 +1,14 @@ package utils import ( - "github.com/stretchr/testify/require" "io/ioutil" "testing" + + "github.com/stretchr/testify/require" ) func GetTestData() ([]byte, []byte, []byte, error) { wasmCode, err := ioutil.ReadFile("../../internal/keeper/testdata/contract.wasm") - if err != nil { return nil, nil, nil, err } @@ -46,8 +46,10 @@ func TestIsGzip(t *testing.T) { func TestGzipIt(t *testing.T) { wasmCode, someRandomStr, _, err := GetTestData() - originalGzipData := []byte{31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 202, 72, 205, 201, 201, 87, 40, 207, 47, 202, 73, 1, - 4, 0, 0, 255, 255, 133, 17, 74, 13, 11, 0, 0, 0} + originalGzipData := []byte{ + 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 202, 72, 205, 201, 201, 87, 40, 207, 47, 202, 73, 1, + 4, 0, 0, 255, 255, 133, 17, 74, 13, 11, 0, 0, 0, + } require.NoError(t, err) diff --git a/x/compute/handler.go b/x/compute/handler.go index b3484d2f9..9a630a907 100644 --- a/x/compute/handler.go +++ b/x/compute/handler.go @@ -2,6 +2,7 @@ package compute import ( "fmt" + abci "github.com/tendermint/tendermint/abci/types" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/x/compute/internal/keeper/genesis.go b/x/compute/internal/keeper/genesis.go index f69866168..5be357ee6 100644 --- a/x/compute/internal/keeper/genesis.go +++ b/x/compute/internal/keeper/genesis.go @@ -46,7 +46,7 @@ func InitGenesis(ctx sdk.Context, keeper Keeper, data types.GenesisState) error if keeper.peekAutoIncrementID(ctx, types.KeyLastInstanceID) <= uint64(maxContractID) { return sdkerrors.Wrapf(types.ErrInvalid, "seq %s must be greater %d ", string(types.KeyLastInstanceID), maxContractID) } - //keeper.setParams(ctx, data.Params) + // keeper.setParams(ctx, data.Params) return nil } @@ -55,7 +55,7 @@ func InitGenesis(ctx sdk.Context, keeper Keeper, data types.GenesisState) error func ExportGenesis(ctx sdk.Context, keeper Keeper) *types.GenesisState { var genState types.GenesisState - //genState.Params = keeper.GetParams(ctx) + // genState.Params = keeper.GetParams(ctx) keeper.IterateCodeInfos(ctx, func(codeID uint64, info types.CodeInfo) bool { bytecode, err := keeper.GetByteCode(ctx, codeID) diff --git a/x/compute/internal/keeper/gov_test.go b/x/compute/internal/keeper/gov_test.go index fa4f17f7c..81123dfff 100644 --- a/x/compute/internal/keeper/gov_test.go +++ b/x/compute/internal/keeper/gov_test.go @@ -14,9 +14,7 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" ) -var ( - TestProposal = types.NewTextProposal("Test", "description") -) +var TestProposal = types.NewTextProposal("Test", "description") type GovInitMsg struct{} diff --git a/x/compute/internal/keeper/handler_plugin.go b/x/compute/internal/keeper/handler_plugin.go index 321dfcf78..c422a8dd2 100644 --- a/x/compute/internal/keeper/handler_plugin.go +++ b/x/compute/internal/keeper/handler_plugin.go @@ -2,6 +2,7 @@ package keeper import ( "encoding/json" + "github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -27,11 +28,13 @@ func NewMessageHandler(router sdk.Router, customEncoders *MessageEncoders) Messa } } -type BankEncoder func(sender sdk.AccAddress, msg *wasmTypes.BankMsg) ([]sdk.Msg, error) -type CustomEncoder func(sender sdk.AccAddress, msg json.RawMessage) ([]sdk.Msg, error) -type StakingEncoder func(sender sdk.AccAddress, msg *wasmTypes.StakingMsg) ([]sdk.Msg, error) -type WasmEncoder func(sender sdk.AccAddress, msg *wasmTypes.WasmMsg) ([]sdk.Msg, error) -type GovEncoder func(sender sdk.AccAddress, msg *wasmTypes.GovMsg) ([]sdk.Msg, error) +type ( + BankEncoder func(sender sdk.AccAddress, msg *wasmTypes.BankMsg) ([]sdk.Msg, error) + CustomEncoder func(sender sdk.AccAddress, msg json.RawMessage) ([]sdk.Msg, error) + StakingEncoder func(sender sdk.AccAddress, msg *wasmTypes.StakingMsg) ([]sdk.Msg, error) + WasmEncoder func(sender sdk.AccAddress, msg *wasmTypes.WasmMsg) ([]sdk.Msg, error) + GovEncoder func(sender sdk.AccAddress, msg *wasmTypes.GovMsg) ([]sdk.Msg, error) +) type MessageEncoders struct { Bank BankEncoder @@ -282,7 +285,6 @@ func EncodeWasmMsg(sender sdk.AccAddress, msg *wasmTypes.WasmMsg) ([]sdk.Msg, er } func (k Keeper) Dispatch(ctx sdk.Context, contractAddr sdk.AccAddress, msg wasmTypes.CosmosMsg) (events sdk.Events, data []byte, err error) { - sdkMsgs, err := k.messenger.encoders.Encode(contractAddr, msg) if err != nil { return nil, nil, err @@ -292,7 +294,7 @@ func (k Keeper) Dispatch(ctx sdk.Context, contractAddr sdk.AccAddress, msg wasmT if err != nil { return nil, nil, err } - //return sdkEvents, msgData, err + // return sdkEvents, msgData, err } return nil, nil, nil } @@ -356,7 +358,7 @@ func (k Keeper) handleSdkMessage(ctx sdk.Context, contractAddr sdk.Address, msg //} // append message action attribute - //events = append(events, sdkEvents...) + // events = append(events, sdkEvents...) return nil, nil, nil } diff --git a/x/compute/internal/keeper/handler_plugin_test.go b/x/compute/internal/keeper/handler_plugin_test.go index 704f9c30d..65b23f2c8 100644 --- a/x/compute/internal/keeper/handler_plugin_test.go +++ b/x/compute/internal/keeper/handler_plugin_test.go @@ -274,5 +274,4 @@ func TestEncoding(t *testing.T) { } }) } - } diff --git a/x/compute/internal/keeper/ioutil.go b/x/compute/internal/keeper/ioutil.go index 640545e1c..e7906d1cc 100644 --- a/x/compute/internal/keeper/ioutil.go +++ b/x/compute/internal/keeper/ioutil.go @@ -3,9 +3,10 @@ package keeper import ( "bytes" "compress/gzip" - "github.com/enigmampc/SecretNetwork/x/compute/internal/types" "io" "io/ioutil" + + "github.com/enigmampc/SecretNetwork/x/compute/internal/types" ) // magic bytes to identify gzip. diff --git a/x/compute/internal/keeper/ioutil_test.go b/x/compute/internal/keeper/ioutil_test.go index a6d3c7ff4..8944cae5b 100644 --- a/x/compute/internal/keeper/ioutil_test.go +++ b/x/compute/internal/keeper/ioutil_test.go @@ -77,7 +77,6 @@ func TestUncompress(t *testing.T) { require.Equal(t, spec.expResult, r) }) } - } func asGzip(src string) []byte { diff --git a/x/compute/internal/keeper/keeper.go b/x/compute/internal/keeper/keeper.go index fbe0b1b9a..e23f87845 100644 --- a/x/compute/internal/keeper/keeper.go +++ b/x/compute/internal/keeper/keeper.go @@ -50,7 +50,7 @@ type Keeper struct { queryGasLimit uint64 serviceRouter MsgServiceRouter // authZPolicy AuthorizationPolicy - //paramSpace subspace.Subspace + // paramSpace subspace.Subspace } // MsgServiceRouter expected MsgServiceRouter interface @@ -70,7 +70,7 @@ func NewKeeper( distKeeper distrkeeper.Keeper, mintKeeper mintkeeper.Keeper, stakingKeeper stakingkeeper.Keeper, - //serviceRouter MsgServiceRouter, + // serviceRouter MsgServiceRouter, router sdk.Router, homeDir string, wasmConfig *types.WasmConfig, @@ -99,9 +99,9 @@ func NewKeeper( bankKeeper: bankKeeper, messenger: NewMessageHandler(router, customEncoders), queryGasLimit: wasmConfig.SmartQueryGasLimit, - //serviceRouter: serviceRouter, + // serviceRouter: serviceRouter, // authZPolicy: DefaultAuthorizationPolicy{}, - //paramSpace: paramSpace, + // paramSpace: paramSpace, } keeper.queryPlugins = DefaultQueryPlugins(govKeeper, distKeeper, mintKeeper, bankKeeper, stakingKeeper, &keeper).Merge(customPlugins) return keeper @@ -689,7 +689,6 @@ func (k Keeper) GetContractAddress(ctx sdk.Context, label string) sdk.AccAddress } func (k Keeper) GetContractHash(ctx sdk.Context, contractAddress sdk.AccAddress) []byte { - codeId := k.GetContractInfo(ctx, contractAddress).CodeID hash := k.GetCodeInfo(ctx, codeId).CodeHash @@ -721,13 +720,12 @@ func (k Keeper) setContractInfo(ctx sdk.Context, contractAddress sdk.AccAddress, func (k Keeper) setContractCustomInfo(ctx sdk.Context, contractAddress sdk.AccAddress, contract *types.ContractCustomInfo) { store := ctx.KVStore(k.storeKey) store.Set(types.GetContractEnclaveKey(contractAddress), contract.EnclaveKey) - //println(fmt.Sprintf("Setting enclave key: %x: %x\n", types.GetContractEnclaveKey(contractAddress), contract.EnclaveKey)) + // println(fmt.Sprintf("Setting enclave key: %x: %x\n", types.GetContractEnclaveKey(contractAddress), contract.EnclaveKey)) store.Set(types.GetContractLabelPrefix(contract.Label), contractAddress) - //println(fmt.Sprintf("Setting label: %x: %x\n", types.GetContractLabelPrefix(contract.Label), contractAddress)) + // println(fmt.Sprintf("Setting label: %x: %x\n", types.GetContractLabelPrefix(contract.Label), contractAddress)) } func (k Keeper) IterateContractInfo(ctx sdk.Context, cb func(sdk.AccAddress, types.ContractInfo, types.ContractCustomInfo) bool) { - prefixStore := prefix.NewStore(ctx.KVStore(k.storeKey), types.ContractKeyPrefix) iter := prefixStore.Iterator(nil, nil) for ; iter.Valid(); iter.Next() { @@ -735,8 +733,8 @@ func (k Keeper) IterateContractInfo(ctx sdk.Context, cb func(sdk.AccAddress, typ k.cdc.MustUnmarshal(iter.Value(), &contract) enclaveId := ctx.KVStore(k.storeKey).Get(types.GetContractEnclaveKey(iter.Key())) - //println(fmt.Sprintf("Setting enclave key: %x: %x\n", types.GetContractEnclaveKey(iter.Key()), enclaveId)) - //println(fmt.Sprintf("Setting label: %x: %x\n", types.GetContractLabelPrefix(contract.Label), contract.Label)) + // println(fmt.Sprintf("Setting enclave key: %x: %x\n", types.GetContractEnclaveKey(iter.Key()), enclaveId)) + // println(fmt.Sprintf("Setting label: %x: %x\n", types.GetContractLabelPrefix(contract.Label), contract.Label)) contractCustomInfo := types.ContractCustomInfo{ EnclaveKey: enclaveId, @@ -840,8 +838,8 @@ func (k Keeper) GetByteCode(ctx sdk.Context, codeID uint64) ([]byte, error) { func (k Keeper) dispatchMessages(ctx sdk.Context, contractAddr sdk.AccAddress, msgs []wasmTypes.CosmosMsg) error { for _, msg := range msgs { - //var events sdk.Events - //var data []byte + // var events sdk.Events + // var data []byte var err error if _, _, err = k.Dispatch(ctx, contractAddr, msg); err != nil { @@ -880,7 +878,6 @@ func contractAddress(codeID, instanceID uint64) sdk.AccAddress { // overflow 32 bits. This is highly improbable, but something that could be refactored. contractID := codeID<<32 + instanceID return addrFromUint64(contractID) - } func (k Keeper) GetNextCodeID(ctx sdk.Context) uint64 { diff --git a/x/compute/internal/keeper/keeper_test.go b/x/compute/internal/keeper/keeper_test.go index f1e094ad5..e5fee6e24 100644 --- a/x/compute/internal/keeper/keeper_test.go +++ b/x/compute/internal/keeper/keeper_test.go @@ -259,7 +259,7 @@ func TestIsSimulationMode(t *testing.T) { } for msg := range specs { t.Run(msg, func(t *testing.T) { - //require.Equal(t, spec.exp, isSimulationMode(spec.ctx)) + // require.Equal(t, spec.exp, isSimulationMode(spec.ctx)) }) } } @@ -556,7 +556,7 @@ func TestExecute(t *testing.T) { initMsgBz, err := json.Marshal(initMsg) key := keeper.GetCodeInfo(ctx, contractID).CodeHash - //keyStr := hex.EncodeToString(key) + // keyStr := hex.EncodeToString(key) msg := types.SecretMsg{ CodeHash: []byte(hex.EncodeToString(key)), @@ -607,12 +607,12 @@ func TestExecute(t *testing.T) { gasBefore = ctx.GasMeter().GasConsumed() require.NoError(t, err) - //res, _, _, err := execHelper(t, keeper, trialCtx, addr, creator, `{"release":{}}`, true, defaultGasForTests) + // res, _, _, err := execHelper(t, keeper, trialCtx, addr, creator, `{"release":{}}`, true, defaultGasForTests) initMsgBz = []byte(`{"release":{}}`) key = keeper.GetCodeInfo(ctx, contractID).CodeHash - //keyStr := hex.EncodeToString(key) + // keyStr := hex.EncodeToString(key) msg = types.SecretMsg{ CodeHash: []byte(hex.EncodeToString(key)), diff --git a/x/compute/internal/keeper/legacy_querier.go b/x/compute/internal/keeper/legacy_querier.go index a6ffc8a70..1bafb8535 100644 --- a/x/compute/internal/keeper/legacy_querier.go +++ b/x/compute/internal/keeper/legacy_querier.go @@ -21,7 +21,7 @@ const ( QueryContractAddress = "label" QueryContractKey = "contract-key" QueryContractHash = "contract-hash" - //QueryContractHistory = "contract-history" + // QueryContractHistory = "contract-history" ) const QueryMethodContractStateSmart = "smart" @@ -106,7 +106,7 @@ func NewLegacyQuerier(keeper Keeper) sdk.Querier { return nil, nil } - //bz, err = keeper.legacyAmino.MarshalJSON(rsp) + // bz, err = keeper.legacyAmino.MarshalJSON(rsp) bz, err = json.MarshalIndent(rsp, "", " ") if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) @@ -159,5 +159,4 @@ func queryContractState(ctx sdk.Context, bech, queryMethod string, data []byte, } return bz, nil */ - } diff --git a/x/compute/internal/keeper/param_verification_test.go b/x/compute/internal/keeper/param_verification_test.go index 65aa654ad..8f35e7d3e 100644 --- a/x/compute/internal/keeper/param_verification_test.go +++ b/x/compute/internal/keeper/param_verification_test.go @@ -78,6 +78,7 @@ func multisigTxCreator( signModeHandler := multisigTxCreatorForExisting(t, ctx, multisigAccount, signers, actualSigners, sdkMsg) return signModeHandler, signers, multisigAccount } + func multisigTxCreatorForExisting( t *testing.T, ctx *sdk.Context, multisigAccount Account, signers []Account, actualSigners int, sdkMsg sdk.Msg, ) authsigning.SignModeHandler { @@ -803,7 +804,7 @@ func TestInvalidKeyType(t *testing.T) { initMsgBz, err := wasmCtx.Encrypt(msg.Serialize()) require.NoError(t, err) - //nonce := initMsgBz[0:32] + // nonce := initMsgBz[0:32] sdkMsg := types.MsgInstantiateContract{ Sender: edAddr, diff --git a/x/compute/internal/keeper/querier.go b/x/compute/internal/keeper/querier.go index 494330fa5..5a30da3cf 100644 --- a/x/compute/internal/keeper/querier.go +++ b/x/compute/internal/keeper/querier.go @@ -118,7 +118,6 @@ func (q GrpcQuerier) SmartContractState(c context.Context, req *types.QuerySmart return nil, types.ErrNotFound } return &types.QuerySmartContractStateResponse{Data: rsp}, nil - } func (q GrpcQuerier) Code(c context.Context, req *types.QueryCodeRequest) (*types.QueryCodeResponse, error) { @@ -159,7 +158,6 @@ func (q GrpcQuerier) AddressByLabel(c context.Context, req *types.QueryContractA return nil, types.ErrNotFound } return &types.QueryContractAddressByLabelResponse{Address: rsp}, nil - } func (q GrpcQuerier) ContractKey(c context.Context, req *types.QueryContractKeyRequest) (*types.QueryContractKeyResponse, error) { @@ -175,7 +173,6 @@ func (q GrpcQuerier) ContractKey(c context.Context, req *types.QueryContractKeyR return nil, types.ErrNotFound } return &types.QueryContractKeyResponse{Key: rsp}, nil - } func (q GrpcQuerier) ContractHash(c context.Context, req *types.QueryContractHashRequest) (*types.QueryContractHashResponse, error) { @@ -191,7 +188,6 @@ func (q GrpcQuerier) ContractHash(c context.Context, req *types.QueryContractHas return nil, types.ErrNotFound } return &types.QueryContractHashResponse{CodeHash: rsp}, nil - } func queryContractInfo(ctx sdk.Context, addr sdk.AccAddress, keeper Keeper) (*types.ContractInfoWithAddress, error) { diff --git a/x/compute/internal/keeper/querier_test.go b/x/compute/internal/keeper/querier_test.go index f880a0be7..d64f7a992 100644 --- a/x/compute/internal/keeper/querier_test.go +++ b/x/compute/internal/keeper/querier_test.go @@ -21,7 +21,7 @@ import ( func TestQueryContractLabel(t *testing.T) { encoders := DefaultEncoders() - ctx, keepers := CreateTestInput(t, false,SupportedFeatures, &encoders, nil) + ctx, keepers := CreateTestInput(t, false, SupportedFeatures, &encoders, nil) accKeeper, keeper := keepers.AccountKeeper, keepers.WasmKeeper deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000)) @@ -87,7 +87,7 @@ func TestQueryContractLabel(t *testing.T) { for msg, spec := range specs { t.Run(msg, func(t *testing.T) { - //binResult, err := q(ctx, spec.srcPath, spec.srcReq) + // binResult, err := q(ctx, spec.srcPath, spec.srcReq) binResult, err := q(ctx, spec.srcPath, spec.srcReq) // require.True(t, spec.expErr.Is(err), "unexpected error") require.True(t, spec.expErr.Is(err), err) diff --git a/x/compute/internal/keeper/query_plugins.go b/x/compute/internal/keeper/query_plugins.go index fcd934322..66d201222 100644 --- a/x/compute/internal/keeper/query_plugins.go +++ b/x/compute/internal/keeper/query_plugins.go @@ -2,9 +2,10 @@ package keeper import ( "encoding/json" - "github.com/enigmampc/SecretNetwork/x/compute/internal/types" "strings" + "github.com/enigmampc/SecretNetwork/x/compute/internal/types" + "github.com/cosmos/cosmos-sdk/codec" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" @@ -171,7 +172,6 @@ func MintQuerier(keeper mintkeeper.Keeper) func(ctx sdk.Context, request *wasmTy } return nil, wasmTypes.UnsupportedRequest{Kind: "unknown MintQuery variant"} } - } func DistQuerier(keeper distrkeeper.Keeper) func(ctx sdk.Context, request *wasmTypes.DistQuery) ([]byte, error) { @@ -278,7 +278,7 @@ func StakingQuerier(keeper stakingkeeper.Keeper, distKeeper distrkeeper.Keeper) } if request.Validators != nil { validators := keeper.GetBondedValidatorsByPower(ctx) - //validators := keeper.GetAllValidators(ctx) + // validators := keeper.GetAllValidators(ctx) wasmVals := make([]wasmTypes.Validator, len(validators)) for i, v := range validators { wasmVals[i] = wasmTypes.Validator{ @@ -360,7 +360,6 @@ func sdkToUnbondingDelegations(bondDenom string, delegations stakingtypes.Unbond result := make([]wasmTypes.Delegation, len(delegations)) for i, d := range delegations { - for _, e := range d.Entries { wasmCoin := wasmTypes.Coin{ @@ -375,7 +374,6 @@ func sdkToUnbondingDelegations(bondDenom string, delegations stakingtypes.Unbond } } - } return result, nil } diff --git a/x/compute/internal/keeper/reflect_test.go b/x/compute/internal/keeper/reflect_test.go index 63eec9b6b..d6733d6d5 100644 --- a/x/compute/internal/keeper/reflect_test.go +++ b/x/compute/internal/keeper/reflect_test.go @@ -156,7 +156,6 @@ func TestMaskReflectContractSend(t *testing.T) { checkAccount(t, ctx, accKeeper, keeper.bankKeeper, maskAddr, sdk.NewCoins(sdk.NewInt64Coin("denom", 26000))) // 40k - 14k (from send) checkAccount(t, ctx, accKeeper, keeper.bankKeeper, escrowAddr, sdk.Coins{}) // emptied reserved checkAccount(t, ctx, accKeeper, keeper.bankKeeper, bob, sdk.NewCoins(sdk.NewInt64Coin("denom", 39000))) // all escrow of 25k + 14k - } func TestMaskReflectCustomMsg(t *testing.T) { @@ -427,7 +426,6 @@ func reflectPlugins() *QueryPlugins { } func performCustomQuery(_ sdk.Context, request json.RawMessage) ([]byte, error) { - var custom reflectCustomQuery err := json.Unmarshal(request, &custom) if err != nil { diff --git a/x/compute/internal/keeper/secret_contracts_test.go b/x/compute/internal/keeper/secret_contracts_test.go index 3bc4e68a4..40eb6e1c4 100644 --- a/x/compute/internal/keeper/secret_contracts_test.go +++ b/x/compute/internal/keeper/secret_contracts_test.go @@ -28,7 +28,6 @@ type ContractEvent []cosmwasm.LogAttribute // if codeID isn't 0, it will try to use that. Otherwise will take the contractAddress func testEncrypt(t *testing.T, keeper Keeper, ctx sdk.Context, contractAddress sdk.AccAddress, codeId uint64, msg []byte) ([]byte, error) { - var hash []byte if codeId != 0 { hash = keeper.GetCodeInfo(ctx, codeId).CodeHash @@ -214,27 +213,34 @@ func (wasmGasMeter *WasmCounterGasMeter) RefundGas(amount stypes.Gas, descriptor func (wasmGasMeter *WasmCounterGasMeter) GasConsumed() sdk.Gas { return wasmGasMeter.gasMeter.GasConsumed() } + func (wasmGasMeter *WasmCounterGasMeter) GasConsumedToLimit() sdk.Gas { return wasmGasMeter.gasMeter.GasConsumedToLimit() } + func (wasmGasMeter *WasmCounterGasMeter) Limit() sdk.Gas { return wasmGasMeter.gasMeter.Limit() } + func (wasmGasMeter *WasmCounterGasMeter) ConsumeGas(amount sdk.Gas, descriptor string) { if (descriptor == "wasm contract" || descriptor == "contract sub-query") && amount > 0 { wasmGasMeter.wasmCounter++ } wasmGasMeter.gasMeter.ConsumeGas(amount, descriptor) } + func (wasmGasMeter *WasmCounterGasMeter) IsPastLimit() bool { return wasmGasMeter.gasMeter.IsPastLimit() } + func (wasmGasMeter *WasmCounterGasMeter) IsOutOfGas() bool { return wasmGasMeter.gasMeter.IsOutOfGas() } + func (wasmGasMeter *WasmCounterGasMeter) String() string { return fmt.Sprintf("WasmCounterGasMeter: %v %v", wasmGasMeter.wasmCounter, wasmGasMeter.gasMeter) } + func (wasmGasMeter *WasmCounterGasMeter) GetWasmCounter() uint64 { return wasmGasMeter.wasmCounter } @@ -467,7 +473,7 @@ func TestSanity(t *testing.T) { contractAddress, _, err := initHelper(t, keeper, ctx, codeID, walletA, privKeyA, initMsg, true, defaultGasForTests) require.Empty(t, err) - //require.Empty(t, initEvents) + // require.Empty(t, initEvents) // check state after init qRes, qErr := queryHelper(t, keeper, ctx, contractAddress, fmt.Sprintf(`{"balance":{"address":"%s"}}`, walletA.String()), true, defaultGasForTests) @@ -631,7 +637,7 @@ func TestQueryInputParamError(t *testing.T) { contractAddress, _, err := initHelper(t, keeper, ctx, codeID, walletA, privKeyA, initMsg, true, defaultGasForTests) require.Empty(t, err) - //require.Empty(t, initEvents) + // require.Empty(t, initEvents) _, qErr := queryHelper(t, keeper, ctx, contractAddress, `{"balance":{"address":"blabla"}}`, true, defaultGasForTests) @@ -854,7 +860,7 @@ func TestQueryInputStructureError(t *testing.T) { contractAddress, _, err := initHelper(t, keeper, ctx, codeID, walletA, privKeyA, initMsg, true, defaultGasForTests) require.Empty(t, err) - //require.Empty(t, initEvents) + // require.Empty(t, initEvents) _, qErr := queryHelper(t, keeper, ctx, contractAddress, `{"balance":{"invalidkey":"invalidval"}}`, true, defaultGasForTests) @@ -938,7 +944,7 @@ func TestExecNoLogs(t *testing.T) { _, _, _, err := execHelper(t, keeper, ctx, contractAddress, walletA, privKeyA, `{"no_logs":{}}`, true, defaultGasForTests, 0) require.Empty(t, err) - //require.Empty(t, execEvents) + // require.Empty(t, execEvents) } func TestExecCallbackToInit(t *testing.T) { @@ -974,7 +980,7 @@ func TestExecCallbackToInit(t *testing.T) { data, execEvents, _, err := execHelper(t, keeper, ctx, secondContractAddress, walletA, privKeyA, `{"unicode_data":{}}`, true, defaultGasForTests, 0) require.Empty(t, err) - //require.Empty(t, execEvents) + // require.Empty(t, execEvents) require.Equal(t, "🍆🥑🍄", string(data)) } @@ -1005,7 +1011,7 @@ func TestInitCallbackToInit(t *testing.T) { data, _, _, err := execHelper(t, keeper, ctx, secondContractAddress, walletA, privKeyA, `{"unicode_data":{}}`, true, defaultGasForTests, 0) require.Empty(t, err) - //require.Empty(t, execEvents) + // require.Empty(t, execEvents) require.Equal(t, "🍆🥑🍄", string(data)) } @@ -1021,7 +1027,7 @@ func TestInitCallbackContractError(t *testing.T) { require.NotNil(t, initErr.GenericErr) require.Equal(t, "la la 🤯", initErr.GenericErr.Msg) require.Empty(t, secondContractAddress) - //require.Empty(t, initEvents) + // require.Empty(t, initEvents) } func TestExecCallbackContractError(t *testing.T) { @@ -1036,7 +1042,7 @@ func TestExecCallbackContractError(t *testing.T) { require.NotNil(t, execErr.GenericErr) require.Equal(t, "la la 🤯", execErr.GenericErr.Msg) - //require.Empty(t, execEvents) + // require.Empty(t, execEvents) require.Empty(t, data) } @@ -1053,7 +1059,7 @@ func TestExecCallbackBadParam(t *testing.T) { require.NotNil(t, execErr.ParseErr) require.Equal(t, "test_contract::contract::HandleMsg", execErr.ParseErr.Target) require.Contains(t, execErr.ParseErr.Msg, "unknown variant `callback_contract_bad_param`") - //require.Empty(t, execEvents) + // require.Empty(t, execEvents) require.Empty(t, data) } @@ -1067,7 +1073,7 @@ func TestInitCallbackBadParam(t *testing.T) { secondContractAddress, initEvents, initErr := initHelper(t, keeper, ctx, codeID, walletA, privKeyA, fmt.Sprintf(`{"callback_contract_bad_param":{"contract_addr":"%s"}}`, contractAddress), true, defaultGasForTests) require.Empty(t, secondContractAddress) - //require.Empty(t, initEvents) + // require.Empty(t, initEvents) require.NotNil(t, initErr.ParseErr) require.Equal(t, "test_contract::contract::InitMsg", initErr.ParseErr.Target) @@ -1528,7 +1534,7 @@ func TestContractSendFundsToInitCallbackNotEnough(t *testing.T) { _, _, _, execErr := execHelper(t, keeper, ctx, addr, walletA, privKeyA, fmt.Sprintf(`{"send_funds_to_init_callback":{"code_id":%d,"denom":"%s","amount":%d,"code_hash":"%s"}}`, codeID, "denom", 18, codeHash), false, defaultGasForTests, 17) - //require.Empty(t, execEvents) + // require.Empty(t, execEvents) require.NotNil(t, execErr.GenericErr) require.Contains(t, execErr.GenericErr.Msg, "insufficient funds") @@ -2152,7 +2158,6 @@ func TestQueryGasPrice(t *testing.T) { require.Empty(t, err) t.Run("Query to Self Gas Price", func(t *testing.T) { - _, _, gasUsed, err := execHelper(t, keeper, ctx, addr, walletA, privKeyA, fmt.Sprintf(`{"call_to_query":{"addr":"%s","code_hash":"%s","msg":"%s"}}`, addr.String(), codeHash, `{\"receive_external_query\":{\"num\":1}}`), true, defaultGasForTests, 0) require.Empty(t, err) // require that more gas was used than the base 20K (10K for execute, another 10K for query) @@ -2410,7 +2415,6 @@ func TestSecp256k1Verify(t *testing.T) { events, ) }) - } func TestBenchmarkSecp256k1VerifyAPI(t *testing.T) { @@ -2506,7 +2510,6 @@ func TestEd25519Verify(t *testing.T) { events, ) }) - } func TestEd25519BatchVerify(t *testing.T) { @@ -2656,7 +2659,6 @@ func TestEd25519BatchVerify(t *testing.T) { events, ) }) - } func TestSecp256k1RecoverPubkey(t *testing.T) { diff --git a/x/compute/internal/keeper/staking_test.go b/x/compute/internal/keeper/staking_test.go index eb889c092..f132753cb 100644 --- a/x/compute/internal/keeper/staking_test.go +++ b/x/compute/internal/keeper/staking_test.go @@ -3,10 +3,11 @@ package keeper import ( "encoding/json" "fmt" - "github.com/cosmos/cosmos-sdk/codec/types" "io/ioutil" "testing" + "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/x/compute/internal/keeper/test_common.go b/x/compute/internal/keeper/test_common.go index 7f0074ff7..c3f6e2a3e 100644 --- a/x/compute/internal/keeper/test_common.go +++ b/x/compute/internal/keeper/test_common.go @@ -81,8 +81,10 @@ import ( "github.com/enigmampc/SecretNetwork/x/registration" ) -const flagLRUCacheSize = "lru_size" -const flagQueryGasLimit = "query_gas_limit" +const ( + flagLRUCacheSize = "lru_size" + flagQueryGasLimit = "query_gas_limit" +) var ModuleBasics = module.NewBasicManager( auth.AppModuleBasic{}, @@ -97,16 +99,17 @@ var ModuleBasics = module.NewBasicManager( params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, - //ibc.AppModuleBasic{}, + // ibc.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, - //transfer.AppModuleBasic{}, + // transfer.AppModuleBasic{}, registration.AppModuleBasic{}, ) func MakeTestCodec() codec.Codec { return MakeEncodingConfig().Marshaler } + func MakeEncodingConfig() simappparams.EncodingConfig { amino := codec.NewLegacyAmino() interfaceRegistry := types.NewInterfaceRegistry() @@ -231,14 +234,14 @@ func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, enc blockedAddrs, ) - //bankParams = bankParams.SetSendEnabledParam(sdk.DefaultBondDenom, true) + // bankParams = bankParams.SetSendEnabledParam(sdk.DefaultBondDenom, true) bankKeeper.SetParams(ctx, banktypes.DefaultParams()) stakingSubsp, _ := paramsKeeper.GetSubspace(stakingtypes.ModuleName) stakingKeeper := stakingkeeper.NewKeeper(encodingConfig.Marshaler, keyStaking, authKeeper, bankKeeper, stakingSubsp) stakingKeeper.SetParams(ctx, TestingStakeParams) - //mintSubsp, _ := paramsKeeper.GetSubspace(minttypes.ModuleName) + // mintSubsp, _ := paramsKeeper.GetSubspace(minttypes.ModuleName) //mintKeeper := mintkeeper.NewKeeper(encodingConfig.Marshaler, // keyBank, @@ -277,8 +280,8 @@ func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, enc err = bankKeeper.MintCoins(ctx, faucetAccountName, totalSupply) require.NoError(t, err) - //err = bankKeeper.SendCoinsFromModuleToAccount(ctx, faucetAccountName, distrAcc.GetAddress(), totalSupply) - //require.NoError(t, err) + // err = bankKeeper.SendCoinsFromModuleToAccount(ctx, faucetAccountName, distrAcc.GetAddress(), totalSupply) + // require.NoError(t, err) notBondedPool := authtypes.NewEmptyModuleAccount(stakingtypes.NotBondedPoolName, authtypes.Burner, authtypes.Staking) bondPool := authtypes.NewEmptyModuleAccount(stakingtypes.BondedPoolName, authtypes.Burner, authtypes.Staking) @@ -304,14 +307,14 @@ func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, enc AddRoute(govtypes.RouterKey, govtypes.ProposalHandler). AddRoute(paramproposal.RouterKey, params.NewParamChangeProposalHandler(paramsKeeper)). AddRoute(distrtypes.RouterKey, distribution.NewCommunityPoolSpendProposalHandler(distKeeper)) - //AddRoute(wasmtypes.RouterKey, NewWasmProposalHandler(keeper, wasmtypes.EnableAllProposals)) + // AddRoute(wasmtypes.RouterKey, NewWasmProposalHandler(keeper, wasmtypes.EnableAllProposals)) govKeeper := govkeeper.NewKeeper( encodingConfig.Marshaler, keyGov, paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govtypes.ParamKeyTable()), authKeeper, bankKeeper, stakingKeeper, govRouter, ) // bank := bankKeeper. - //bk := bank.Keeper(bankKeeper) + // bk := bank.Keeper(bankKeeper) mintSubsp, _ := paramsKeeper.GetSubspace(minttypes.ModuleName) mintKeeper := mintkeeper.NewKeeper(encodingConfig.Marshaler, mintStore, mintSubsp, stakingKeeper, authKeeper, bankKeeper, authtypes.FeeCollectorName) @@ -332,17 +335,17 @@ func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, enc wasmConfig := wasmtypes.DefaultWasmConfig() // todo: new grpc routing - //serviceRouter := baseapp.NewMsgServiceRouter() + // serviceRouter := baseapp.NewMsgServiceRouter() - //serviceRouter.SetInterfaceRegistry(encodingConfig.InterfaceRegistry) - //bankMsgServer := bankkeeper.NewMsgServerImpl(bankKeeper) - //stakingMsgServer := stakingkeeper.NewMsgServerImpl(stakingKeeper) - //distrMsgServer := distrkeeper.NewMsgServerImpl(distKeeper) - //wasmMsgServer := NewMsgServerImpl(keeper) + // serviceRouter.SetInterfaceRegistry(encodingConfig.InterfaceRegistry) + // bankMsgServer := bankkeeper.NewMsgServerImpl(bankKeeper) + // stakingMsgServer := stakingkeeper.NewMsgServerImpl(stakingKeeper) + // distrMsgServer := distrkeeper.NewMsgServerImpl(distKeeper) + // wasmMsgServer := NewMsgServerImpl(keeper) - //banktypes.RegisterMsgServer(serviceRouter, bankMsgServer) - //stakingtypes.RegisterMsgServer(serviceRouter, stakingMsgServer) - //distrtypes.RegisterMsgServer(serviceRouter, distrMsgServer) + // banktypes.RegisterMsgServer(serviceRouter, bankMsgServer) + // stakingtypes.RegisterMsgServer(serviceRouter, stakingMsgServer) + // distrtypes.RegisterMsgServer(serviceRouter, distrMsgServer) keeper := NewKeeper( encodingConfig.Marshaler, @@ -362,7 +365,7 @@ func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, enc encoders, queriers, ) - //keeper.setParams(ctx, wasmtypes.DefaultParams()) + // keeper.setParams(ctx, wasmtypes.DefaultParams()) // add wasm handler so we can loop-back (contracts calling contracts) router.AddRoute(sdk.NewRoute(wasmtypes.RouterKey, TestHandler(keeper))) diff --git a/x/compute/internal/keeper/test_fuzz.go b/x/compute/internal/keeper/test_fuzz.go index b345f2805..c5d625beb 100644 --- a/x/compute/internal/keeper/test_fuzz.go +++ b/x/compute/internal/keeper/test_fuzz.go @@ -1,8 +1,8 @@ package keeper import ( - "github.com/enigmampc/SecretNetwork/x/compute/internal/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/enigmampc/SecretNetwork/x/compute/internal/types" fuzz "github.com/google/gofuzz" tmBytes "github.com/tendermint/tendermint/libs/bytes" ) diff --git a/x/compute/internal/types/msg_test.go b/x/compute/internal/types/msg_test.go index 35f7db37c..3ab8fa108 100644 --- a/x/compute/internal/types/msg_test.go +++ b/x/compute/internal/types/msg_test.go @@ -31,13 +31,12 @@ func TestBuilderRegexp(t *testing.T) { assert.Error(t, err) } }) - } } func TestStoreCodeValidation(t *testing.T) { badAddress := sdk.AccAddress(make([]byte, 2000)) - //require.NoError(t, err) + // require.NoError(t, err) // proper address size goodAddress := sdk.AccAddress(make([]byte, 20)) @@ -239,7 +238,7 @@ func TestInstantiateContractValidation(t *testing.T) { func TestExecuteContractValidation(t *testing.T) { badAddress := sdk.AccAddress(make([]byte, 2000)) - //require.NoError(t, err) + // require.NoError(t, err) // proper address size goodAddress := sdk.AccAddress(make([]byte, 20)) diff --git a/x/compute/internal/types/types.go b/x/compute/internal/types/types.go index b430ed6df..1ccd6ac9d 100644 --- a/x/compute/internal/types/types.go +++ b/x/compute/internal/types/types.go @@ -11,9 +11,11 @@ import ( "github.com/spf13/cast" ) -const defaultLRUCacheSize = uint64(0) -const defaultEnclaveLRUCacheSize = uint8(0) // can safely go up to 15 -const defaultQueryGasLimit = uint64(10_000_000) +const ( + defaultLRUCacheSize = uint64(0) + defaultEnclaveLRUCacheSize = uint8(0) // can safely go up to 15 + defaultQueryGasLimit = uint64(10_000_000) +) // base64 of a 64 byte key type ContractKey string @@ -87,6 +89,7 @@ func NewContractInfo(codeID uint64, creator /* , admin */ sdk.AccAddress, label Created: createdAt, } } + func (c *ContractInfo) ValidateBasic() error { if c.CodeID == 0 { return sdkerrors.Wrap(ErrEmpty, "code id") @@ -186,7 +189,7 @@ func NewEnv(ctx sdk.Context, creator sdk.AccAddress, deposit sdk.Coins, contract Contract: wasmTypes.ContractInfo{ Address: contractAddr.String(), }, - Key: wasmTypes.ContractKey(base64.StdEncoding.EncodeToString(contractKey)), + Key: wasmTypes.ContractKey(base64.StdEncoding.EncodeToString(contractKey)), Recursive: false, } return env @@ -204,8 +207,10 @@ func NewWasmCoins(cosmosCoins sdk.Coins) (wasmCoins []wasmTypes.Coin) { return wasmCoins } -const CustomEventType = "wasm" -const AttributeKeyContractAddr = "contract_address" +const ( + CustomEventType = "wasm" + AttributeKeyContractAddr = "contract_address" +) // ParseEvents converts wasm LogAttributes into an sdk.Events (with 0 or 1 elements) func ParseEvents(logs []wasmTypes.LogAttribute, contractAddr sdk.AccAddress) sdk.Events { diff --git a/x/mauth/keeper/keeper_test.go b/x/mauth/keeper/keeper_test.go index debda201f..1f57b1ec5 100644 --- a/x/mauth/keeper/keeper_test.go +++ b/x/mauth/keeper/keeper_test.go @@ -2,9 +2,10 @@ package keeper_test import ( "encoding/json" + "testing" + "github.com/cosmos/cosmos-sdk/simapp" "github.com/enigmampc/SecretNetwork/x/compute" - "testing" "github.com/stretchr/testify/suite" "github.com/tendermint/tendermint/crypto" diff --git a/x/mauth/keeper/msg_server_test.go b/x/mauth/keeper/msg_server_test.go index 8de620e90..262ddf14c 100644 --- a/x/mauth/keeper/msg_server_test.go +++ b/x/mauth/keeper/msg_server_test.go @@ -74,7 +74,6 @@ func (suite *KeeperTestSuite) TestRegisterInterchainAccount() { suite.Require().Error(err) suite.Require().Nil(res) } - }) } } diff --git a/x/mauth/types/msgs.go b/x/mauth/types/msgs.go index 634c5bce5..1eaaa96b1 100644 --- a/x/mauth/types/msgs.go +++ b/x/mauth/types/msgs.go @@ -75,9 +75,7 @@ func PackTxMsgAny(sdkMsg sdk.Msg) (*codectypes.Any, error) { // UnpackInterfaces implements codectypes.UnpackInterfacesMessage func (msg MsgSubmitTx) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error { - var ( - sdkMsg sdk.Msg - ) + var sdkMsg sdk.Msg return unpacker.UnpackAny(msg.Msg, &sdkMsg) } @@ -99,7 +97,6 @@ func (msg MsgSubmitTx) GetSigners() []sdk.AccAddress { // ValidateBasic implements sdk.Msg func (msg MsgSubmitTx) ValidateBasic() error { - if len(msg.Msg.GetValue()) == 0 { return fmt.Errorf("can't execute an empty msg") } diff --git a/x/registration/client/cli/query.go b/x/registration/client/cli/query.go index dd564b1eb..e879ddc49 100644 --- a/x/registration/client/cli/query.go +++ b/x/registration/client/cli/query.go @@ -90,12 +90,12 @@ func GetCmdMasterParams() *cobra.Command { return err } - err = ioutil.WriteFile(types.IoExchMasterCertPath, certs.IoMasterCertificate.Bytes, 0644) + err = ioutil.WriteFile(types.IoExchMasterCertPath, certs.IoMasterCertificate.Bytes, 0o644) if err != nil { return err } - err = ioutil.WriteFile(types.NodeExchMasterCertPath, certs.NodeExchMasterCertificate.Bytes, 0644) + err = ioutil.WriteFile(types.NodeExchMasterCertPath, certs.NodeExchMasterCertificate.Bytes, 0o644) if err != nil { return err } diff --git a/x/registration/client/cli/tx.go b/x/registration/client/cli/tx.go index e381b850c..5dc855267 100644 --- a/x/registration/client/cli/tx.go +++ b/x/registration/client/cli/tx.go @@ -1,12 +1,13 @@ package cli import ( + "io/ioutil" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" "github.com/enigmampc/SecretNetwork/x/registration/internal/types" "github.com/spf13/cobra" - "io/ioutil" ) // GetTxCmd returns the transaction commands for this module @@ -31,7 +32,7 @@ func AuthenticateNodeCmd() *cobra.Command { Short: "Upload a certificate to authenticate the node", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - //clientCtx := client.GetClientContextFromCmd(cmd) + // clientCtx := client.GetClientContextFromCmd(cmd) clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err diff --git a/x/registration/client/rest/query.go b/x/registration/client/rest/query.go index d0c71ba1e..941a21bab 100644 --- a/x/registration/client/rest/query.go +++ b/x/registration/client/rest/query.go @@ -5,10 +5,11 @@ import ( "encoding/hex" "encoding/json" "fmt" + "net/http" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/types/rest" ra "github.com/enigmampc/SecretNetwork/x/registration/remote_attestation" - "net/http" "github.com/enigmampc/SecretNetwork/x/registration/internal/keeper" "github.com/enigmampc/SecretNetwork/x/registration/internal/types" @@ -168,7 +169,6 @@ func newArgDecoder(def func(string) ([]byte, error)) *argumentDecoder { } func (a *argumentDecoder) DecodeString(s string) ([]byte, error) { - switch a.encoding { case "hex": return hex.DecodeString(s) diff --git a/x/registration/client/rest/tx.go b/x/registration/client/rest/tx.go index f377c66e6..91c2abbb4 100644 --- a/x/registration/client/rest/tx.go +++ b/x/registration/client/rest/tx.go @@ -6,9 +6,9 @@ import ( ) func registerTxRoutes(cliCtx client.Context, r *mux.Router) { - //r.HandleFunc("/wasm/code", storeCodeHandlerFn(cliCtx)).Methods("POST") - //r.HandleFunc("/wasm/code/{codeId}", instantiateContractHandlerFn(cliCtx)).Methods("POST") - //r.HandleFunc("/wasm/contract/{contractAddr}", executeContractHandlerFn(cliCtx)).Methods("POST") + // r.HandleFunc("/wasm/code", storeCodeHandlerFn(cliCtx)).Methods("POST") + // r.HandleFunc("/wasm/code/{codeId}", instantiateContractHandlerFn(cliCtx)).Methods("POST") + // r.HandleFunc("/wasm/contract/{contractAddr}", executeContractHandlerFn(cliCtx)).Methods("POST") } // limit max bytes read to prevent gzip bombs diff --git a/x/registration/handler.go b/x/registration/handler.go index b365f90b7..32a1c3125 100644 --- a/x/registration/handler.go +++ b/x/registration/handler.go @@ -3,6 +3,7 @@ package registration import ( "encoding/hex" "fmt" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/enigmampc/SecretNetwork/x/registration/internal/types" diff --git a/x/registration/internal/keeper/genesis.go b/x/registration/internal/keeper/genesis.go index b92de2e08..d3600a20a 100644 --- a/x/registration/internal/keeper/genesis.go +++ b/x/registration/internal/keeper/genesis.go @@ -2,6 +2,7 @@ package keeper import ( "encoding/json" + "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/enigmampc/SecretNetwork/x/registration/internal/types" @@ -10,7 +11,6 @@ import ( // InitGenesis sets supply information for genesis. // func InitGenesis(ctx sdk.Context, keeper Keeper, data types.GenesisState) { - if data.IoMasterCertificate != nil && data.NodeExchMasterCertificate != nil { // keeper.setMasterPublicKey(ctx, data.MasterPublic) keeper.setMasterCertificate(ctx, *data.IoMasterCertificate, types.MasterIoKeyId) diff --git a/x/registration/internal/keeper/genesis_test.go b/x/registration/internal/keeper/genesis_test.go index 410aba057..99fd4dca9 100644 --- a/x/registration/internal/keeper/genesis_test.go +++ b/x/registration/internal/keeper/genesis_test.go @@ -1,12 +1,13 @@ package keeper import ( - "github.com/enigmampc/SecretNetwork/x/registration/internal/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "io/ioutil" "os" "testing" + + "github.com/enigmampc/SecretNetwork/x/registration/internal/types" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestInitGenesisNoMaster(t *testing.T) { diff --git a/x/registration/internal/keeper/keeper.go b/x/registration/internal/keeper/keeper.go index 6818ffdbe..3c49c55b1 100644 --- a/x/registration/internal/keeper/keeper.go +++ b/x/registration/internal/keeper/keeper.go @@ -5,13 +5,14 @@ import ( "encoding/hex" "encoding/json" "fmt" + "path/filepath" + "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx" "github.com/enigmampc/SecretNetwork/x/registration/internal/types" ra "github.com/enigmampc/SecretNetwork/x/registration/remote_attestation" - "path/filepath" ) // Keeper will have a reference to Wasmer with it's own data directory. @@ -24,7 +25,6 @@ type Keeper struct { // NewKeeper creates a new contract Keeper instance func NewKeeper(cdc codec.BinaryCodec, storeKey sdk.StoreKey, router sdk.Router, enclave EnclaveInterface, homeDir string, bootstrap bool) Keeper { - if !bootstrap { InitializeNode(homeDir, enclave) } @@ -38,7 +38,6 @@ func NewKeeper(cdc codec.BinaryCodec, storeKey sdk.StoreKey, router sdk.Router, } func InitializeNode(homeDir string, enclave EnclaveInterface) { - seedPath := filepath.Join(homeDir, types.SecretNodeCfgFolder, types.SecretNodeSeedConfig) if !fileExists(seedPath) { diff --git a/x/registration/internal/keeper/keeper_test.go b/x/registration/internal/keeper/keeper_test.go index 0bbcc0f72..8ed51f22c 100644 --- a/x/registration/internal/keeper/keeper_test.go +++ b/x/registration/internal/keeper/keeper_test.go @@ -1,15 +1,16 @@ package keeper import ( + "io/ioutil" + "os" + "path/filepath" + "testing" + sdk "github.com/cosmos/cosmos-sdk/types" eng "github.com/enigmampc/SecretNetwork/types" "github.com/enigmampc/SecretNetwork/x/registration/internal/types" ra "github.com/enigmampc/SecretNetwork/x/registration/remote_attestation" "github.com/stretchr/testify/require" - "io/ioutil" - "os" - "path/filepath" - "testing" ) func init() { @@ -35,10 +36,10 @@ func TestNewKeeper_Node(t *testing.T) { seedPath := filepath.Join(tempDir, types.SecretNodeCfgFolder, types.SecretNodeSeedConfig) - err = os.MkdirAll(filepath.Join(tempDir, types.SecretNodeCfgFolder), 0700) + err = os.MkdirAll(filepath.Join(tempDir, types.SecretNodeCfgFolder), 0o700) require.NoError(t, err) - err = ioutil.WriteFile(seedPath, CreateTestSeedConfig(t), 0700) + err = ioutil.WriteFile(seedPath, CreateTestSeedConfig(t), 0o700) require.NoError(t, err) _, regKeeper := CreateTestInput(t, false, tempDir, false) @@ -89,5 +90,4 @@ func TestKeeper_RegisterNode(t *testing.T) { _, err = regKeeper.RegisterNode(ctx, cert) require.NoError(t, err) - } diff --git a/x/registration/internal/keeper/legacy_querier.go b/x/registration/internal/keeper/legacy_querier.go index a759eb065..c9b450eea 100644 --- a/x/registration/internal/keeper/legacy_querier.go +++ b/x/registration/internal/keeper/legacy_querier.go @@ -3,10 +3,11 @@ package keeper import ( "encoding/hex" "encoding/json" + "reflect" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" abci "github.com/tendermint/tendermint/abci/types" - "reflect" ) const ( diff --git a/x/registration/internal/keeper/querier.go b/x/registration/internal/keeper/querier.go index b60712707..36ddb4bdb 100644 --- a/x/registration/internal/keeper/querier.go +++ b/x/registration/internal/keeper/querier.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/golang/protobuf/ptypes/empty" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/x/registration/internal/keeper/querier_test.go b/x/registration/internal/keeper/querier_test.go index c78ed835f..13034f152 100644 --- a/x/registration/internal/keeper/querier_test.go +++ b/x/registration/internal/keeper/querier_test.go @@ -5,13 +5,14 @@ package keeper import ( "encoding/hex" "encoding/json" - sdkErrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/enigmampc/SecretNetwork/x/registration/internal/types" - ra "github.com/enigmampc/SecretNetwork/x/registration/remote_attestation" "io/ioutil" "os" "testing" + sdkErrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/enigmampc/SecretNetwork/x/registration/internal/types" + ra "github.com/enigmampc/SecretNetwork/x/registration/remote_attestation" + "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/registration/internal/keeper/registration.go b/x/registration/internal/keeper/registration.go index 681e40f4c..735b0f44b 100644 --- a/x/registration/internal/keeper/registration.go +++ b/x/registration/internal/keeper/registration.go @@ -52,7 +52,7 @@ func (k Keeper) isMasterCertificateDefined(ctx sdk.Context, certType string) boo func (k Keeper) getRegistrationInfo(ctx sdk.Context, publicKey types.NodeID) *types.RegistrationNodeInfo { store := ctx.KVStore(k.storeKey) var nodeInfo types.RegistrationNodeInfo - //fmt.Println("pubkey", hex.EncodeToString(publicKey)) + // fmt.Println("pubkey", hex.EncodeToString(publicKey)) certBz := store.Get(types.RegistrationKeyPrefix(publicKey)) if certBz == nil { @@ -84,8 +84,8 @@ func (k Keeper) SetRegistrationInfo(ctx sdk.Context, certificate types.Registrat return } - //fmt.Println("pubkey", hex.EncodeToString(publicKey)) - //fmt.Println("EncryptedSeed", hex.EncodeToString(certificate.EncryptedSeed)) + // fmt.Println("pubkey", hex.EncodeToString(publicKey)) + // fmt.Println("EncryptedSeed", hex.EncodeToString(certificate.EncryptedSeed)) store.Set(types.RegistrationKeyPrefix(publicKey), k.cdc.MustMarshal(&certificate)) } diff --git a/x/registration/internal/keeper/test_common.go b/x/registration/internal/keeper/test_common.go index c2f17aef4..b773f49e7 100644 --- a/x/registration/internal/keeper/test_common.go +++ b/x/registration/internal/keeper/test_common.go @@ -3,6 +3,9 @@ package keeper import ( "encoding/base64" "encoding/json" + "io/ioutil" + "os" + "testing" "github.com/cosmos/cosmos-sdk/simapp/params" "github.com/cosmos/cosmos-sdk/std" @@ -20,10 +23,7 @@ import ( "github.com/cosmos/ibc-go/v3/modules/apps/transfer" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - //ibc "github.com/cosmos/cosmos-sdk/x/ibc/core" - "io/ioutil" - "os" - "testing" + // ibc "github.com/cosmos/cosmos-sdk/x/ibc/core" "github.com/cosmos/cosmos-sdk/x/mint" paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" @@ -45,7 +45,6 @@ import ( ) func CreateTestSeedConfig(t *testing.T) []byte { - seed := "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" cert, err := ioutil.ReadFile("../../testdata/attestation_cert_sw") require.NoError(t, err) @@ -73,7 +72,7 @@ var ModuleBasics = module.NewBasicManager( ), crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, - //ibc.AppModuleBasic{}, + // ibc.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, transfer.AppModuleBasic{}, @@ -82,6 +81,7 @@ var ModuleBasics = module.NewBasicManager( func MakeTestCodec() codec.Codec { return MakeEncodingConfig().Marshaler } + func MakeEncodingConfig() params.EncodingConfig { amino := codec.NewLegacyAmino() interfaceRegistry := types.NewInterfaceRegistry() @@ -102,7 +102,6 @@ func MakeEncodingConfig() params.EncodingConfig { } func CreateTestInput(t *testing.T, isCheckTx bool, tempDir string, bootstrap bool) (sdk.Context, Keeper) { - err := os.Setenv("SGX_MODE", "SW") require.Nil(t, err) diff --git a/x/registration/internal/types/genesis.go b/x/registration/internal/types/genesis.go index ef05f0157..124a2c7b9 100644 --- a/x/registration/internal/types/genesis.go +++ b/x/registration/internal/types/genesis.go @@ -3,7 +3,6 @@ package types // ValidateGenesis performs basic validation of supply genesis data returning an // error for any failed validation criteria. func ValidateGenesis(data GenesisState) error { - // todo: do we want to use this, or just fail if they don't exist? //if data.IoMasterCertificate == nil { diff --git a/x/registration/internal/types/msg_test.go b/x/registration/internal/types/msg_test.go index faa9ce746..2a5d36610 100644 --- a/x/registration/internal/types/msg_test.go +++ b/x/registration/internal/types/msg_test.go @@ -16,7 +16,7 @@ func TestMsgRaAuthenticateRoute(t *testing.T) { cert, err := ioutil.ReadFile("../../testdata/attestation_cert_sw") require.NoError(t, err) // coins := sdk.NewCoins(sdk.NewInt64Coin("atom", 10)) - var msg = RaAuthenticate{ + msg := RaAuthenticate{ addr1, cert, } @@ -26,7 +26,6 @@ func TestMsgRaAuthenticateRoute(t *testing.T) { } func TestMsgSendValidation(t *testing.T) { - _ = os.Setenv("SGX_MODE", "SW") addr0 := sdk.AccAddress([]byte("qwlnmxj7prpx8rysxm2u")) @@ -44,10 +43,11 @@ func TestMsgSendValidation(t *testing.T) { cases := []struct { valid bool tx RaAuthenticate - }{{true, RaAuthenticate{ - addr0, - cert, - }}, + }{ + {true, RaAuthenticate{ + addr0, + cert, + }}, // invalid address send {false, RaAuthenticate{ addr0, @@ -75,7 +75,7 @@ func TestMsgSendGetSignBytes(t *testing.T) { cert, err := ioutil.ReadFile("../../testdata/attestation_cert_sw") require.NoError(t, err) - var msg = RaAuthenticate{ + msg := RaAuthenticate{ addr0, cert, } @@ -90,7 +90,7 @@ func TestMsgSendGetSigners(t *testing.T) { cert, err := ioutil.ReadFile("../../testdata/attestation_cert_sw") require.NoError(t, err) - var msg = RaAuthenticate{ + msg := RaAuthenticate{ addr0, cert, } diff --git a/x/registration/internal/types/types.go b/x/registration/internal/types/types.go index a4d5ba0a1..924955611 100644 --- a/x/registration/internal/types/types.go +++ b/x/registration/internal/types/types.go @@ -5,16 +5,20 @@ import ( "encoding/hex" ) -const EnclaveRegistrationKey = "new_node_seed_exchange_keypair.sealed" -const PublicKeyLength = 64 // encoded length -const EncryptedKeyLength = 96 // encoded length -const MasterNodeKeyId = "NodeExchMasterKey" -const MasterIoKeyId = "IoExchMasterKey" -const SecretNodeSeedConfig = "seed.json" -const SecretNodeCfgFolder = ".node" +const ( + EnclaveRegistrationKey = "new_node_seed_exchange_keypair.sealed" + PublicKeyLength = 64 // encoded length + EncryptedKeyLength = 96 // encoded length + MasterNodeKeyId = "NodeExchMasterKey" + MasterIoKeyId = "IoExchMasterKey" + SecretNodeSeedConfig = "seed.json" + SecretNodeCfgFolder = ".node" +) -const NodeExchMasterCertPath = "node-master-cert.der" -const IoExchMasterCertPath = "io-master-cert.der" +const ( + NodeExchMasterCertPath = "node-master-cert.der" + IoExchMasterCertPath = "io-master-cert.der" +) const AttestationCertPath = "attestation_cert.der" diff --git a/x/registration/module.go b/x/registration/module.go index d1a5563c3..0e4f2fce9 100644 --- a/x/registration/module.go +++ b/x/registration/module.go @@ -3,13 +3,14 @@ package registration import ( "context" "encoding/json" + "math/rand" + "github.com/cosmos/cosmos-sdk/client" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/enigmampc/SecretNetwork/x/registration/internal/keeper" "github.com/enigmampc/SecretNetwork/x/registration/internal/types" "github.com/grpc-ecosystem/grpc-gateway/runtime" - "math/rand" "github.com/gorilla/mux" "github.com/spf13/cobra" diff --git a/x/registration/remote_attestation/fuzz_test.go b/x/registration/remote_attestation/fuzz_test.go index e974766aa..12d6676ab 100644 --- a/x/registration/remote_attestation/fuzz_test.go +++ b/x/registration/remote_attestation/fuzz_test.go @@ -1,5 +1,6 @@ // rename this to fuzz.go if you want to run the fuzzer +//go:build gofuzz // +build gofuzz package remote_attestation diff --git a/x/registration/remote_attestation/ra_test.go b/x/registration/remote_attestation/ra_test.go index 7985003d1..42c51281e 100644 --- a/x/registration/remote_attestation/ra_test.go +++ b/x/registration/remote_attestation/ra_test.go @@ -1,10 +1,11 @@ package remote_attestation import ( - "github.com/stretchr/testify/require" "io/ioutil" "os" "testing" + + "github.com/stretchr/testify/require" ) func Test_ValidateCertificateHwMode(t *testing.T) { @@ -39,8 +40,7 @@ func Test_InvalidRandomDataAsCert(t *testing.T) { } func Test_FuzzCrashers(t *testing.T) { - - var crashers = [][]byte{ + crashers := [][]byte{ []byte("\x06\b*\x86H\xce=\x03\x01\a0\xd80r0"), []byte("\x06\b*\x86H\xce=\x03\x01\a\f\x1cEnigmaCh" + "ain Node Ce000000000"), diff --git a/x/registration/remote_attestation/remote_attestation.go b/x/registration/remote_attestation/remote_attestation.go index 6d345614a..e63ade54f 100644 --- a/x/registration/remote_attestation/remote_attestation.go +++ b/x/registration/remote_attestation/remote_attestation.go @@ -7,8 +7,9 @@ import ( "encoding/hex" "encoding/json" "fmt" - "github.com/pkg/errors" "time" + + "github.com/pkg/errors" ) /* @@ -134,7 +135,7 @@ func verifyCert(payload []byte) ([]byte, error) { // note: there's no way to not validate the time, and we don't want to write this code // ourselves. We also can't just ignore the error message, since that means that the rest of // the validation didn't happen (time is validated early on) - CurrentTime: time.Date(2023, 11, 04, 00, 00, 00, 00, time.UTC), + CurrentTime: time.Date(2023, 11, 0o4, 0o0, 0o0, 0o0, 0o0, time.UTC), } if _, err := certServer.Verify(opts); err != nil { @@ -159,11 +160,11 @@ func verifyAttReport(attnReportRaw []byte, pubK []byte) ([]byte, error) { // 1. Check timestamp is within 24H if qr.Timestamp != "" { - //timeFixed := qr.Timestamp + "+0000" - //timeFixed := qr.Timestamp + "Z" - //ts, _ := time.Parse(time.RFC3339, timeFixed) - //now := time.Now().Unix() - //fmt.Println("Time diff = ", now-ts.Unix()) + // timeFixed := qr.Timestamp + "+0000" + // timeFixed := qr.Timestamp + "Z" + // ts, _ := time.Parse(time.RFC3339, timeFixed) + // now := time.Now().Unix() + // fmt.Println("Time diff = ", now-ts.Unix()) } else { return nil, errors.New("Failed to fetch timestamp from attestation report") } @@ -171,7 +172,7 @@ func verifyAttReport(attnReportRaw []byte, pubK []byte) ([]byte, error) { // 2. Verify quote status (mandatory field) if qr.IsvEnclaveQuoteStatus != "" { - //fmt.Println("isvEnclaveQuoteStatus = ", qr.IsvEnclaveQuoteStatus) + // fmt.Println("isvEnclaveQuoteStatus = ", qr.IsvEnclaveQuoteStatus) switch qr.IsvEnclaveQuoteStatus { case "OK": break @@ -240,13 +241,13 @@ func verifyAttReport(attnReportRaw []byte, pubK []byte) ([]byte, error) { qrData := parseReport(qb, quoteHex) // todo: possibly verify mr signer/enclave? - //fmt.Println("Quote = [" + quoteBytes[:len(quoteBytes)-2] + "]") - //fmt.Println("sgx quote version = ", qrData.version) - //fmt.Println("sgx quote signature type = ", qrData.signType) - //fmt.Println("sgx quote report_data = ", qrData.reportBody.reportData) - //fmt.Println("sgx quote mr_enclave = ", qrData.reportBody.mrEnclave) - //fmt.Println("sgx quote mr_signer = ", qrData.reportBody.mrSigner) - //fmt.Println("Anticipated public key = ", pubHex) + // fmt.Println("Quote = [" + quoteBytes[:len(quoteBytes)-2] + "]") + // fmt.Println("sgx quote version = ", qrData.version) + // fmt.Println("sgx quote signature type = ", qrData.signType) + // fmt.Println("sgx quote report_data = ", qrData.reportBody.reportData) + // fmt.Println("sgx quote mr_enclave = ", qrData.reportBody.mrEnclave) + // fmt.Println("sgx quote mr_signer = ", qrData.reportBody.mrSigner) + // fmt.Println("Anticipated public key = ", pubHex) if qrData.ReportBody.ReportData != pubHex { // err := errors.New("Failed to authenticate certificate public key")