diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..255525c18 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,55 @@ +name: golangci-lint +on: + push: + branches: + - master + - main + pull_request: + +permissions: + contents: read + # Optional: allow read access to pull request. Use with `only-new-issues` option. + # pull-requests: read + +jobs: + golangci: + name: lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: '1.21' + cache: false + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + # Require: The version of golangci-lint to use. + # When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version. + # When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit. + version: v1.54 + + # Optional: working directory, useful for monorepos + # working-directory: somedir + + # Optional: golangci-lint command line arguments. + # + # Note: By default, the `.golangci.yml` file should be at the root of the repository. + # The location of the configuration file can be changed by using `--config=` + # args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0 + + # Optional: show only new issues if it's a pull request. The default value is `false`. + # only-new-issues: true + + # Optional: if set to true, then all caching functionality will be completely disabled, + # takes precedence over all other caching options. + # skip-cache: true + + # Optional: if set to true, then the action won't cache or restore ~/go/pkg. + # skip-pkg-cache: true + + # Optional: if set to true, then the action won't cache or restore ~/.cache/go-build. + # skip-build-cache: true + + # Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'. + # install-mode: "goinstall" diff --git a/.golangci.yml b/.golangci.yml index b33694958..6ecdfa2f3 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,61 +1,130 @@ +run: + tests: true + allow-parallel-runners: true + # # timeout for analysis, e.g. 30s, 5m, default is 1m + timeout: 5m + skip-files: + - relayer/codecs/injective/tx.pb.go + linters: + disable-all: true enable: - - bodyclose - - deadcode - - depguard - - dogsled - # - errcheck - # - funlen - # - gochecknoglobals - # - gochecknoinits + - exportloopref + - errcheck + - gci - goconst - gocritic - # - gocyclo - # - godox - - gofmt - - goimports - - golint + - gofumpt - gosec - gosimple - govet - ineffassign - - interfacer - - lll - misspell - # - maligned - nakedret - - prealloc - - scopelint - staticcheck - - structcheck + - thelper + - typecheck - stylecheck + - revive - typecheck + - tenv - unconvert - # - unparam + # Prefer unparam over revive's unused param. It is more thorough in its checking. + - unparam - unused - - varcheck - # - whitespace - # - wsl - # - gocognit - - nolintlint + - misspell issues: exclude-rules: - - linters: - - lll - source: "https://" - max-same-issues: 50 + - text: 'differs only by capitalization to method' + linters: + - revive + - text: 'Use of weak random number generator' + linters: + - gosec + - text: 'ST1003' + linters: + - stylecheck + + max-issues-per-linter: 10000 + max-same-issues: 10000 linters-settings: - dogsled: - max-blank-identifiers: 3 - maligned: - suggest-new: true - # govet: - # check-shadowing: true - golint: - min-confidence: 0 - # gocyclo: - # min-complexity: 10 - # misspell: - # locale: US + gci: + sections: + - standard # Standard section: captures all standard packages. + - default # Default section: contains all imports that could not be matched to another section type. + - blank # blank imports + - dot # dot imports + - prefix(cosmossdk.io) + - prefix(github.com/cosmos/cosmos-sdk) + - prefix(github.com/cometbft/cometbft) + - prefix(github.com/cosmos/relayer) + custom-order: true + revive: + enable-all-rules: true + # Do NOT whine about the following, full explanation found in: + # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#description-of-available-rules + rules: + - name: import-shadowing + disabled: true + - name: exported + disabled: true + - name: use-any + disabled: true + - name: if-return + disabled: true + - name: max-public-structs + disabled: true + - name: cognitive-complexity + disabled: true + - name: argument-limit + disabled: true + - name: cyclomatic + disabled: true + - name: file-header + disabled: true + - name: function-length + disabled: true + - name: function-result-limit + disabled: true + - name: line-length-limit + disabled: true + - name: flag-parameter + disabled: true + - name: add-constant + disabled: true + - name: empty-lines + disabled: true + - name: banned-characters + disabled: true + - name: deep-exit + disabled: true + - name: confusing-results + disabled: true + - name: unused-parameter + disabled: true + - name: modifies-value-receiver + disabled: true + - name: early-return + disabled: true + - name: confusing-naming + disabled: true + - name: var-naming + disabled: true + - name: defer + disabled: true + # Disabled in favour of unparam. + - name: unused-parameter + disabled: true + - name: unhandled-error + disabled: true + arguments: + - 'fmt.Printf' + - 'fmt.Print' + - 'fmt.Println' + - 'myFunction' + - name: nested-structs + disabled: true + - name: context-as-argument + disabled: true diff --git a/Makefile b/Makefile index 20e9bbb2b..475d4e11b 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ DIRTY := $(shell git status --porcelain | wc -l | xargs) GAIA_VERSION := v7.0.1 AKASH_VERSION := v0.16.3 OSMOSIS_VERSION := v8.0.0 -WASMD_VERSION := v0.25.0 +WASMD_VERSION := v0.41.0 DOCKER := $(shell which docker) GOPATH := $(shell go env GOPATH) @@ -165,7 +165,7 @@ release: goreleaser/goreleaser-cross:${GOLANG_CROSS_VERSION} \ release --rm-dist -protoVer=0.11.2 +protoVer=0.14.0 protoImageName=ghcr.io/cosmos/proto-builder:$(protoVer) protoImage=$(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace $(protoImageName) diff --git a/cmd/appstate.go b/cmd/appstate.go index d6378bb8a..13352aca6 100644 --- a/cmd/appstate.go +++ b/cmd/appstate.go @@ -9,11 +9,12 @@ import ( "os" "path" - "github.com/cosmos/relayer/v2/relayer" "github.com/gofrs/flock" "github.com/spf13/viper" "go.uber.org/zap" "gopkg.in/yaml.v3" + + "github.com/cosmos/relayer/v2/relayer" ) // appState is the modifiable state of the application. @@ -212,7 +213,7 @@ func (a *appState) performConfigLockingOperation(ctx context.Context, operation cfgPath := a.configPath() // Overwrite the config file. - if err := os.WriteFile(cfgPath, out, 0600); err != nil { + if err := os.WriteFile(cfgPath, out, 0o600); err != nil { return fmt.Errorf("failed to write config file at %s: %w", cfgPath, err) } diff --git a/cmd/chains.go b/cmd/chains.go index 7e471ae00..2da0b0c8b 100644 --- a/cmd/chains.go +++ b/cmd/chains.go @@ -11,12 +11,13 @@ import ( "path/filepath" "strings" - "github.com/cosmos/relayer/v2/cregistry" - "github.com/cosmos/relayer/v2/relayer" - "github.com/cosmos/relayer/v2/relayer/provider" "github.com/spf13/cobra" "go.uber.org/zap" "gopkg.in/yaml.v3" + + "github.com/cosmos/relayer/v2/cregistry" + "github.com/cosmos/relayer/v2/relayer" + "github.com/cosmos/relayer/v2/relayer/provider" ) const ( diff --git a/cmd/chains_test.go b/cmd/chains_test.go index 0a1b69566..f4596e554 100644 --- a/cmd/chains_test.go +++ b/cmd/chains_test.go @@ -7,10 +7,11 @@ import ( "regexp" "testing" + "github.com/stretchr/testify/require" + "github.com/cosmos/relayer/v2/cmd" "github.com/cosmos/relayer/v2/internal/relayertest" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - "github.com/stretchr/testify/require" ) func TestChainsList_Empty(t *testing.T) { @@ -73,7 +74,7 @@ func TestChainsAdd_URL(t *testing.T) { } enc := json.NewEncoder(w) - enc.Encode(pcw) + enc.Encode(pcw) // nolint:errcheck // we don't care about the error here }) srv := httptest.NewServer(h) defer srv.Close() diff --git a/cmd/config.go b/cmd/config.go index 9888a4596..d2ce5196a 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -22,7 +22,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "path" "path/filepath" @@ -30,13 +29,14 @@ import ( "strings" "time" + "github.com/spf13/cobra" + "go.uber.org/zap" + "gopkg.in/yaml.v3" + "github.com/cosmos/relayer/v2/relayer" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/chains/penumbra" "github.com/cosmos/relayer/v2/relayer/provider" - "github.com/spf13/cobra" - "go.uber.org/zap" - "gopkg.in/yaml.v3" ) func configCmd(a *appState) *cobra.Command { @@ -179,7 +179,7 @@ $ %s cfg i`, appName, defaultHome, appName)), // An error is only returned if the directory cannot be read at all. func addChainsFromDirectory(ctx context.Context, stderr io.Writer, a *appState, dir string) error { dir = path.Clean(dir) - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { return err } @@ -231,7 +231,7 @@ func addChainsFromDirectory(ctx context.Context, stderr io.Writer, a *appState, // which means a's paths may include a subset of the path files in dir. func addPathsFromDirectory(ctx context.Context, stderr io.Writer, a *appState, dir string) error { dir = path.Clean(dir) - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { return err } @@ -395,8 +395,8 @@ func UnmarshalJSONProviderConfig(data []byte, customTypes map[string]reflect.Typ } typeName, ok := m["type"].(string) - if !ok { - return nil, errors.New("cannot find type"); + if !ok { + return nil, errors.New("cannot find type") } var provCfg provider.ProviderConfig @@ -648,7 +648,7 @@ func (c *Config) ValidatePathEnd(ctx context.Context, stderr io.Writer, pe *rela } // ValidateClient validates client id in provided pathend -func (c *Config) ValidateClient(ctx context.Context, chain *relayer.Chain, height int64, pe *relayer.PathEnd) error { +func (*Config) ValidateClient(ctx context.Context, chain *relayer.Chain, height int64, pe *relayer.PathEnd) error { if err := pe.Vclient(); err != nil { return err } @@ -662,7 +662,7 @@ func (c *Config) ValidateClient(ctx context.Context, chain *relayer.Chain, heigh } // ValidateConnection validates connection id in provided pathend -func (c *Config) ValidateConnection(ctx context.Context, chain *relayer.Chain, height int64, pe *relayer.PathEnd) error { +func (*Config) ValidateConnection(ctx context.Context, chain *relayer.Chain, height int64, pe *relayer.PathEnd) error { if err := pe.Vconn(); err != nil { return err } diff --git a/cmd/errors.go b/cmd/errors.go index 31f5ee086..070e74c20 100644 --- a/cmd/errors.go +++ b/cmd/errors.go @@ -17,6 +17,4 @@ func errChainNotFound(chainName string) error { return fmt.Errorf("chain with name \"%s\" not found in config. consider running `rly chains add %s`", chainName, chainName) } -var ( - errMultipleAddFlags = errors.New("expected either --file/-f OR --url/u, found multiple") -) +var errMultipleAddFlags = errors.New("expected either --file/-f OR --url/u, found multiple") diff --git a/cmd/feegrant.go b/cmd/feegrant.go index edb66d800..bb58ec159 100644 --- a/cmd/feegrant.go +++ b/cmd/feegrant.go @@ -4,8 +4,9 @@ import ( "errors" "fmt" - "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/spf13/cobra" + + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" ) // feegrantConfigureCmd returns the fee grant configuration commands for this module @@ -26,7 +27,7 @@ func feegrantConfigureBaseCmd(a *appState) *cobra.Command { func feegrantConfigureBasicCmd(a *appState) *cobra.Command { var numGrantees int var update bool - var delete bool + var deleteChain bool var updateGrantees bool var grantees []string @@ -49,11 +50,12 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { granterKeyOrAddr := "" - if len(args) > 1 { + switch { + case len(args) > 1: granterKeyOrAddr = args[1] - } else if prov.PCfg.FeeGrants != nil { + case prov.PCfg.FeeGrants != nil: granterKeyOrAddr = prov.PCfg.FeeGrants.GranterKey - } else { + default: granterKeyOrAddr = prov.PCfg.Key } @@ -62,7 +64,7 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { return fmt.Errorf("could not get granter key from '%s'", granterKeyOrAddr) } - if delete { + if deleteChain { fmt.Printf("Deleting %s feegrant configuration\n", chain) cfgErr := a.performConfigLockingOperation(cmd.Context(), func() error { @@ -88,7 +90,6 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { if prov.PCfg.FeeGrants == nil || updateGrantees || len(grantees) > 0 { var feegrantErr error - //No list of grantees was provided, so we will use the default naming convention "grantee1, ... granteeN" if grantees == nil { feegrantErr = prov.ConfigureFeegrants(numGrantees, granterKey) } else { @@ -119,8 +120,7 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { return fmt.Errorf("error writing grants on chain: '%s'", err.Error()) } - //Get latest height from the chain, mark feegrant configuration as verified up to that height. - //This means we've verified feegranting is enabled on-chain and TXs can be sent with a feegranter. + // This means we've verified feegranting is enabled on-chain and TXs can be sent with a feegranter. if prov.PCfg.FeeGrants != nil { fmt.Printf("Querying latest chain height to mark FeeGrant height... \n") h, err := prov.QueryLatestHeight(ctx) @@ -141,7 +141,7 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { }, } - cmd.Flags().BoolVar(&delete, "delete", false, "delete the feegrant configuration") + cmd.Flags().BoolVar(&deleteChain, "delete", false, "delete the feegrant configuration") cmd.Flags().BoolVar(&update, "overwrite-granter", false, "allow overwriting the existing granter") cmd.Flags().BoolVar(&updateGrantees, "overwrite-grantees", false, "allow overwriting existing grantees") cmd.Flags().IntVar(&numGrantees, "num-grantees", 10, "number of grantees that will be feegranted with basic allowances") @@ -175,7 +175,6 @@ func feegrantBasicGrantsCmd(a *appState) *cobra.Command { // return err // } - //TODO fix height // height, err := lensCmd.ReadHeight(cmd.Flags()) // if err != nil { // return err diff --git a/cmd/flags.go b/cmd/flags.go index 82bab138a..a73276aa7 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -4,10 +4,10 @@ import ( "fmt" "time" - "github.com/cosmos/relayer/v2/relayer" - "github.com/spf13/cobra" "github.com/spf13/viper" + + "github.com/cosmos/relayer/v2/relayer" ) const ( @@ -57,10 +57,6 @@ const ( ) const ( - // 7597 is "RLYR" on a telephone keypad. - // It also happens to be unassigned in the IANA port list. - defaultDebugAddr = "localhost:7597" - blankValue = "blank" ) @@ -240,19 +236,19 @@ func strategyFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { func getAddInputs(cmd *cobra.Command) (file string, url string, err error) { file, err = cmd.Flags().GetString(flagFile) if err != nil { - return + return "", "", err } url, err = cmd.Flags().GetString(flagURL) if err != nil { - return + return "", "", err } if file != "" && url != "" { return "", "", errMultipleAddFlags } - return + return file, url, nil } func retryFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { diff --git a/cmd/flags_test.go b/cmd/flags_test.go index f8f8f89ab..f6ce5f2b6 100644 --- a/cmd/flags_test.go +++ b/cmd/flags_test.go @@ -3,8 +3,9 @@ package cmd import ( "testing" - "github.com/cosmos/cosmos-sdk/client/flags" "github.com/stretchr/testify/require" + + "github.com/cosmos/cosmos-sdk/client/flags" ) // TestFlagEqualityAgainstSDK makes assertions against our local flags and the corresponding flags from diff --git a/cmd/keys.go b/cmd/keys.go index 0ddd447d4..74e404774 100644 --- a/cmd/keys.go +++ b/cmd/keys.go @@ -22,11 +22,13 @@ import ( "io" "strings" + "github.com/spf13/cobra" + "go.uber.org/zap" + "github.com/cosmos/cosmos-sdk/crypto/hd" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - "github.com/spf13/cobra" - "go.uber.org/zap" ) const ( diff --git a/cmd/keys_test.go b/cmd/keys_test.go index df51f8924..01e51a72e 100644 --- a/cmd/keys_test.go +++ b/cmd/keys_test.go @@ -3,15 +3,17 @@ package cmd_test import ( "testing" + "github.com/stretchr/testify/require" + "github.com/cosmos/cosmos-sdk/client/keys" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/crypto/keyring" + "github.com/cosmos/relayer/v2/cmd" "github.com/cosmos/relayer/v2/internal/relayertest" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - "github.com/stretchr/testify/require" ) func TestKeysList_Empty(t *testing.T) { diff --git a/cmd/paths.go b/cmd/paths.go index 640414fa5..c316a2bf6 100644 --- a/cmd/paths.go +++ b/cmd/paths.go @@ -8,11 +8,12 @@ import ( "path" "strings" - "github.com/cosmos/relayer/v2/relayer" - "github.com/cosmos/relayer/v2/relayer/processor" "github.com/google/go-github/v43/github" "github.com/spf13/cobra" "gopkg.in/yaml.v3" + + "github.com/cosmos/relayer/v2/relayer" + "github.com/cosmos/relayer/v2/relayer/processor" ) func pathsCmd(a *appState) *cobra.Command { diff --git a/cmd/query.go b/cmd/query.go index 15ccd743a..475ff535d 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -7,12 +7,16 @@ import ( "strings" "sync" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/spf13/cobra" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/types/query" - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - "github.com/spf13/cobra" ) // queryCmd represents the chain command @@ -428,10 +432,10 @@ $ %s query clients ibc-2 --offset 2 --limit 30`, } // TODO fix pagination - //pagereq, err := client.ReadPageRequest(cmd.Flags()) - //if err != nil { + // pagereq, err := client.ReadPageRequest(cmd.Flags()) + // if err != nil { // return err - //} + // } res, err := chain.ChainProvider.QueryClients(cmd.Context()) if err != nil { @@ -439,6 +443,7 @@ $ %s query clients ibc-2 --offset 2 --limit 30`, } for _, client := range res { + client := client s, err := chain.ChainProvider.Sprint(&client) if err != nil { fmt.Fprintf(cmd.ErrOrStderr(), "Failed to marshal state: %v\n", err) @@ -474,10 +479,10 @@ $ %s q conns ibc-1`, } // TODO fix pagination - //pagereq, err := client.ReadPageRequest(cmd.Flags()) - //if err != nil { + // pagereq, err := client.ReadPageRequest(cmd.Flags()) + // if err != nil { // return err - //} + // } res, err := chain.ChainProvider.QueryConnections(cmd.Context()) if err != nil { @@ -512,8 +517,6 @@ $ %s query client-connections ibc-0 ibczeroclient --height 1205`, appName, appName, )), RunE: func(cmd *cobra.Command, args []string) error { - //TODO - Add pagination - chain, ok := a.config.Chains[args[0]] if !ok { return errChainNotFound(args[0]) @@ -620,10 +623,10 @@ $ %s query connection-channels ibc-2 ibcconnection2 --offset 2 --limit 30`, } // TODO fix pagination - //pagereq, err := client.ReadPageRequest(cmd.Flags()) - //if err != nil { + // pagereq, err := client.ReadPageRequest(cmd.Flags()) + // if err != nil { // return err - //} + // } chans, err := chain.ChainProvider.QueryConnectionChannels(cmd.Context(), 0, args[1]) if err != nil { @@ -713,7 +716,8 @@ func printChannelWithExtendedInfo( cmd *cobra.Command, chain *relayer.Chain, channel *chantypes.IdentifiedChannel, - extendedInfo *chanExtendedInfo) { + extendedInfo *chanExtendedInfo, +) { s, err := chain.ChainProvider.Sprint(channel) if err != nil { fmt.Fprintf(cmd.ErrOrStderr(), "Failed to marshal channel: %v\n", err) @@ -760,6 +764,7 @@ func queryChannelsToChain(cmd *cobra.Command, chain *relayer.Chain, dstChain *re } for _, client := range clients { + client := client // Create a new variable to hold the current client clientInfo, err := relayer.ClientInfoFromClientState(client.ClientState) if err != nil { continue @@ -775,14 +780,16 @@ func queryChannelsToChain(cmd *cobra.Command, chain *relayer.Chain, dstChain *re var wg sync.WaitGroup i := 0 for _, conn := range connections.Connections { + conn := conn // Create a new variable to hold the current connection wg.Add(1) - go func() { + go func(client clienttypes.IdentifiedClientState, conn connectiontypes.IdentifiedConnection) { defer wg.Done() channels, err := chain.ChainProvider.QueryConnectionChannels(ctx, 0, conn.Id) if err != nil { return } for _, channel := range channels { + channel := channel printChannelWithExtendedInfo(cmd, chain, channel, &chanExtendedInfo{ clientID: client.ClientId, counterpartyChainID: clientInfo.ChainID, @@ -790,7 +797,7 @@ func queryChannelsToChain(cmd *cobra.Command, chain *relayer.Chain, dstChain *re counterpartyConnID: conn.Counterparty.ConnectionId, }) } - }() + }(client, *conn) // Pass the new variables to the goroutine i++ if i%concurrentQueries == 0 { wg.Wait() diff --git a/cmd/root.go b/cmd/root.go index 1a6cfc3d3..84b3cda3d 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -59,7 +59,7 @@ func NewRootCmd(log *zap.Logger) *cobra.Command { } // RootCmd represents the base command when called without any subcommands - var rootCmd = &cobra.Command{ + rootCmd := &cobra.Command{ Use: appName, Short: "This application makes data relay between IBC enabled chains easy!", Long: strings.TrimSpace(`rly has: @@ -135,7 +135,6 @@ func Execute() { rootCmd.SilenceUsage = true ctx, cancel := context.WithCancel(context.Background()) - defer cancel() sigCh := make(chan os.Signal, 1) signal.Notify(sigCh, os.Interrupt) // Using signal.Notify, instead of signal.NotifyContext, in order to see details of signal. @@ -167,8 +166,12 @@ func Execute() { }() if err := rootCmd.ExecuteContext(ctx); err != nil { + cancel() + fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) } + + cancel() } func newRootLogger(format string, debug bool) (*zap.Logger, error) { diff --git a/cmd/start.go b/cmd/start.go index c2cdf9406..c6ebc5189 100644 --- a/cmd/start.go +++ b/cmd/start.go @@ -23,12 +23,13 @@ import ( "net" "strings" + "github.com/spf13/cobra" + "go.uber.org/zap" + "github.com/cosmos/relayer/v2/internal/relaydebug" "github.com/cosmos/relayer/v2/relayer" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/spf13/cobra" - "go.uber.org/zap" ) // startCmd represents the start command diff --git a/cmd/tx.go b/cmd/tx.go index de83c177e..58ac15fae 100644 --- a/cmd/tx.go +++ b/cmd/tx.go @@ -8,13 +8,15 @@ import ( "time" "github.com/avast/retry-go/v4" - sdk "github.com/cosmos/cosmos-sdk/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/spf13/cobra" + "go.uber.org/zap" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/relayer/v2/relayer" "github.com/cosmos/relayer/v2/relayer/processor" "github.com/cosmos/relayer/v2/relayer/provider" - "github.com/spf13/cobra" - "go.uber.org/zap" ) const flushTimeout = 10 * time.Minute @@ -424,7 +426,6 @@ $ %s tx chan demo-path --timeout 5s --max-retries 10`, appName, appName, )), RunE: func(cmd *cobra.Command, args []string) error { - pathName := args[0] c, src, dst, err := a.config.ChainsFromPath(pathName) @@ -924,11 +925,12 @@ $ %s tx raw send ibc-0 ibc-1 100000stake cosmos1skjwj5whet0lpe65qaq4rpq03hjxlwd9 srcChannelID := args[4] var pathConnectionID string - if src.ChainID() == path.Src.ChainID { + switch src.ChainID() { + case path.Src.ChainID: pathConnectionID = path.Src.ConnectionID - } else if src.ChainID() == path.Dst.ChainID { + case path.Dst.ChainID: pathConnectionID = path.Dst.ConnectionID - } else { + default: return fmt.Errorf("no path configured using chain-id: %s", src.ChainID()) } @@ -1052,7 +1054,6 @@ $ %s register-counterparty channel-1 transfer cosmos1skjwj5whet0lpe65qaq4rpq03hj $ %s reg-cpt channel-1 cosmos1skjwj5whet0lpe65qaq4rpq03hjxlwd9nf39lk juno1g0ny488ws4064mjjxk4keenwfjrthn503ngjxd`, appName, appName)), RunE: func(cmd *cobra.Command, args []string) error { - chain, ok := a.config.Chains[args[0]] if !ok { return errChainNotFound(args[0]) diff --git a/cregistry/chain_info.go b/cregistry/chain_info.go index 7309296e2..c4157c526 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -11,11 +11,12 @@ import ( "net/url" "time" - "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - "github.com/cosmos/relayer/v2/relayer/provider" "github.com/spf13/viper" "go.uber.org/zap" "golang.org/x/sync/errgroup" + + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" + "github.com/cosmos/relayer/v2/relayer/provider" ) // AssetList describes the various chain asset metadata found in the cosmos chain registry. @@ -121,7 +122,7 @@ func (c ChainInfo) GetAllRPCEndpoints() (out []string, err error) { out = append(out, fmt.Sprintf("%s://%s:%s%s", u.Scheme, u.Hostname(), port, u.Path)) } - return + return out, nil } // IsHealthyRPC returns an error if the specified endpoint is not caught up with the current chain tip. @@ -160,7 +161,7 @@ func (c ChainInfo) GetRPCEndpoints(ctx context.Context) (out []string, err error eg.Go(func() error { err := IsHealthyRPC(ctx, endpoint) if err != nil { - unhealthy += 1 + unhealthy++ c.log.Debug( "Ignoring endpoint due to error", zap.String("endpoint", endpoint), @@ -168,7 +169,7 @@ func (c ChainInfo) GetRPCEndpoints(ctx context.Context) (out []string, err error ) return nil } - healthy += 1 + healthy++ c.log.Debug("Verified healthy endpoint", zap.String("endpoint", endpoint)) endpoints = append(endpoints, endpoint) return nil @@ -206,10 +207,10 @@ func (c ChainInfo) GetRandomRPCEndpoint(ctx context.Context) (string, error) { } // GetAssetList returns the asset metadata from the cosmos chain registry for this particular chain. -func (c ChainInfo) GetAssetList(ctx context.Context, name string) (AssetList, error) { - chainRegURL := fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/assetlist.json", name) +func (ChainInfo) GetAssetList(ctx context.Context, name string) (AssetList, error) { + chainRegURL := fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/assetlist.json", name) // nolint: gosec - res, err := http.Get(chainRegURL) + res, err := http.Get(chainRegURL) // nolint: gosec if err != nil { return AssetList{}, err } @@ -231,7 +232,6 @@ func (c ChainInfo) GetAssetList(ctx context.Context, name string) (AssetList, er return AssetList{}, err } return assetList, nil - } // GetChainConfig returns a CosmosProviderConfig composed from the details found in the cosmos chain registry for diff --git a/cregistry/cosmos_github_registry.go b/cregistry/cosmos_github_registry.go index 8970b90ff..30d553b42 100644 --- a/cregistry/cosmos_github_registry.go +++ b/cregistry/cosmos_github_registry.go @@ -26,7 +26,7 @@ func NewCosmosGithubRegistry(log *zap.Logger) CosmosGithubRegistry { // ListChains attempts to connect to GitHub and get the tree object for the cosmos chain registry. // It then builds a slice of chain names using the entries in the tree. -func (c CosmosGithubRegistry) ListChains(ctx context.Context) ([]string, error) { +func (CosmosGithubRegistry) ListChains(ctx context.Context) ([]string, error) { client := github.NewClient(http.DefaultClient) var chains []string @@ -55,7 +55,7 @@ func (c CosmosGithubRegistry) ListChains(ctx context.Context) ([]string, error) func (c CosmosGithubRegistry) GetChain(ctx context.Context, name string) (ChainInfo, error) { chainRegURL := fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/chain.json", name) - res, err := http.Get(chainRegURL) + res, err := http.Get(chainRegURL) // nolint: gosec if err != nil { return ChainInfo{}, err } @@ -80,6 +80,6 @@ func (c CosmosGithubRegistry) GetChain(ctx context.Context, name string) (ChainI } // SourceLink returns the string representation of the cosmos chain registry URL. -func (c CosmosGithubRegistry) SourceLink() string { +func (CosmosGithubRegistry) SourceLink() string { return "https://github.com/cosmos/chain-registry" } diff --git a/go.mod b/go.mod index 110d90355..3bab83feb 100644 --- a/go.mod +++ b/go.mod @@ -1,21 +1,24 @@ module github.com/cosmos/relayer/v2 -go 1.20 +go 1.21 require ( - cosmossdk.io/api v0.3.1 - cosmossdk.io/errors v1.0.0-beta.7 - cosmossdk.io/math v1.0.1 + cosmossdk.io/api v0.7.0 + cosmossdk.io/errors v1.0.0 + cosmossdk.io/math v1.1.2 + cosmossdk.io/store v1.0.0-rc.0 + cosmossdk.io/x/feegrant v0.0.0-20230818115413-c402c51a1508 + cosmossdk.io/x/upgrade v0.0.0-20230818115413-c402c51a1508 github.com/avast/retry-go/v4 v4.3.2 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 - github.com/cometbft/cometbft v0.37.2 - github.com/cosmos/cosmos-proto v1.0.0-beta.2 - github.com/cosmos/cosmos-sdk v0.47.3 + github.com/cometbft/cometbft v0.38.0-rc3 + github.com/cosmos/cosmos-proto v1.0.0-beta.3 + github.com/cosmos/cosmos-sdk v0.50.0-rc.0.0.20230831181921-878e00a9bb6e github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/gogoproto v1.4.10 - github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 - github.com/cosmos/ibc-go/v7 v7.2.0 + github.com/cosmos/gogoproto v1.4.11 + github.com/cosmos/ibc-go/modules/capability v1.0.0-rc3 + github.com/cosmos/ibc-go/v7 v7.0.0-20230831153406-6c9c1a23b7c4 github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 github.com/gofrs/flock v0.8.1 @@ -23,67 +26,73 @@ require ( github.com/google/go-github/v43 v43.0.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/jsternberg/zap-logfmt v1.3.0 - github.com/prometheus/client_golang v1.14.0 + github.com/prometheus/client_golang v1.16.0 github.com/spf13/cobra v1.7.0 github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 github.com/tyler-smith/go-bip39 v1.1.0 - go.uber.org/multierr v1.8.0 + go.uber.org/multierr v1.10.0 go.uber.org/zap v1.24.0 - golang.org/x/mod v0.8.0 - golang.org/x/sync v0.1.0 - golang.org/x/text v0.9.0 - google.golang.org/grpc v1.55.0 + golang.org/x/mod v0.12.0 + golang.org/x/sync v0.3.0 + golang.org/x/text v0.12.0 + google.golang.org/grpc v1.57.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.19.0 // indirect + cloud.google.com/go v0.110.6 // indirect + cloud.google.com/go/compute v1.23.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/storage v1.29.0 // indirect - cosmossdk.io/core v0.5.1 // indirect - cosmossdk.io/depinject v1.0.0-alpha.3 // indirect - cosmossdk.io/log v1.1.0 // indirect - cosmossdk.io/tools/rosetta v0.2.1 // indirect + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/storage v1.30.1 // indirect + cosmossdk.io/collections v0.4.0 // indirect + cosmossdk.io/core v0.10.0 // indirect + cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/log v1.2.1 // indirect + cosmossdk.io/x/tx v0.9.1 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.44.203 // indirect + github.com/DataDog/zstd v1.5.5 // indirect + github.com/aws/aws-sdk-go v1.44.224 // indirect github.com/benbjohnson/clock v1.3.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect + github.com/bits-and-blooms/bitset v1.8.0 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chzyer/readline v1.5.1 // indirect - github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect + github.com/cockroachdb/errors v1.10.0 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v0.0.0-20230817233644-564b068800e0 // indirect + github.com/cockroachdb/redact v1.1.5 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.8.0 // indirect - github.com/confio/ics23/go v0.9.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-db v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/iavl v0.20.0 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect - github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect - github.com/creachadair/taskgroup v0.4.2 // indirect + github.com/cosmos/iavl v1.0.0-rc.1 // indirect + github.com/cosmos/ledger-cosmos-go v0.13.0 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/emicklei/dot v1.5.0 // indirect + github.com/fatih/color v1.15.0 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/getsentry/sentry-go v0.23.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect @@ -99,58 +108,64 @@ require ( github.com/google/btree v1.1.2 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/orderedcode v0.0.1 // indirect - github.com/google/s2a-go v0.1.3 // indirect + github.com/google/s2a-go v0.1.4 // indirect github.com/google/uuid v1.3.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.8.0 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/gtank/merlin v0.1.1 // indirect - github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-getter v1.7.1 // indirect + github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-metrics v0.5.1 // indirect + github.com/hashicorp/go-plugin v1.4.10 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect - github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/holiman/uint256 v1.2.0 // indirect github.com/huandu/skiplist v1.2.0 // indirect + github.com/iancoleman/strcase v0.3.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.16.3 // indirect + github.com/klauspost/compress v1.16.7 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/linxGnu/grocksdb v1.7.16 // indirect + github.com/linxGnu/grocksdb v1.8.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/pelletier/go-toml/v2 v2.0.8 // indirect - github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect + github.com/oasisprotocol/curve25519-voi v0.0.0-20230110094441-db37f07504ce // indirect + github.com/oklog/run v1.1.0 // indirect + github.com/pelletier/go-toml/v2 v2.0.9 // indirect + github.com/petermattis/goid v0.0.0-20230518223814-80aa455d8761 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.42.0 // indirect - github.com/prometheus/procfs v0.9.0 // indirect - github.com/rakyll/statik v0.1.7 // indirect + github.com/prometheus/client_model v0.4.0 // indirect + github.com/prometheus/common v0.44.0 // indirect + github.com/prometheus/procfs v0.11.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/rs/cors v1.8.3 // indirect - github.com/rs/zerolog v1.29.1 // indirect + github.com/rs/zerolog v1.30.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.1 // indirect @@ -167,19 +182,22 @@ require ( go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/crypto v0.9.0 // indirect - golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect - golang.org/x/net v0.10.0 // indirect - golang.org/x/oauth2 v0.7.0 // indirect - golang.org/x/sys v0.8.0 // indirect - golang.org/x/term v0.8.0 // indirect + golang.org/x/crypto v0.12.0 // indirect + golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect + golang.org/x/net v0.14.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.11.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.122.0 // indirect + google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230815205213-6bfd019c3878 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect + gotest.tools/v3 v3.5.0 // indirect nhooyr.io/websocket v1.8.6 // indirect - pgregory.net/rapid v0.5.5 // indirect + pgregory.net/rapid v1.1.0 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/go.sum b/go.sum index 3d3a56d43..182a04dde 100644 --- a/go.sum +++ b/go.sum @@ -32,8 +32,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.6 h1:8uYAkj3YHTP/1iwReuHPxLSbdcyc+dSBbzFMrVwDR6Q= +cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -70,8 +70,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbCEQ= -cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= +cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -111,13 +111,12 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -175,8 +174,8 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= -cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= @@ -188,20 +187,34 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= -cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= -cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= -cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= -cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= -cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= -cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= -cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= -cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= -cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= -cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= +cosmossdk.io/api v0.7.0 h1:QsEMIWuv9xWDbF2HZnW4Lpu1/SejCztPu0LQx7t6MN4= +cosmossdk.io/api v0.7.0/go.mod h1:kJFAEMLN57y0viszHDPLMmieF0471o5QAwwApa+270M= +cosmossdk.io/client/v2 v2.0.0-20230818115413-c402c51a1508 h1:tt5OMwdouv7dkwkWJYxb8I9h322bOxnC9RmK2qGvWMs= +cosmossdk.io/client/v2 v2.0.0-20230818115413-c402c51a1508/go.mod h1:iHeSk2AT6O8RNGlfcEQq6Yty6Z/6gydQsXXBh5I715Q= +cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= +cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= +cosmossdk.io/core v0.10.0 h1:NP28Ol9YyRODmZLJg2ko/mUl40hMegeMzhJnG+XPkcY= +cosmossdk.io/core v0.10.0/go.mod h1:MygXNld9DvMgYY4yE76DM/mdZpgfeyRjy6FPjEEehlY= +cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= +cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= +cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= +cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= +cosmossdk.io/log v1.2.1 h1:Xc1GgTCicniwmMiKwDxUjO4eLhPxoVdI9vtMW8Ti/uk= +cosmossdk.io/log v1.2.1/go.mod h1:GNSCc/6+DhFIj1aLn/j7Id7PaO8DzNylUZoOYBL9+I4= +cosmossdk.io/math v1.1.2 h1:ORZetZCTyWkI5GlZ6CZS28fMHi83ZYf+A2vVnHNzZBM= +cosmossdk.io/math v1.1.2/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= +cosmossdk.io/store v1.0.0-rc.0 h1:9DwOjuUYxDtYxn/REkTxGQAmxlIGfRroB35MQ8TrxF4= +cosmossdk.io/store v1.0.0-rc.0/go.mod h1:FtBDOJmwtOZfmKKF65bKZbTYgS3bDNjjo3nP76dAegk= +cosmossdk.io/x/circuit v0.0.0-20230818115413-c402c51a1508 h1:9HRBpMbGgk+W4BIp4ezYH2EjbpuVl2fBlwyJ2GZgrS0= +cosmossdk.io/x/circuit v0.0.0-20230818115413-c402c51a1508/go.mod h1:BhFX0kD6lkctNQO3ZGYY3p6h0/wPLVbFhrOt3uQxEIM= +cosmossdk.io/x/evidence v0.0.0-20230818115413-c402c51a1508 h1:R9H1lDpcPSkrLOnt6IDE38o0Wp8xE/+BAxocb0oyX4I= +cosmossdk.io/x/evidence v0.0.0-20230818115413-c402c51a1508/go.mod h1:yjIo3J0QKDo9CJawK1QoTA1hBx0llafVJdPqI0+ry74= +cosmossdk.io/x/feegrant v0.0.0-20230818115413-c402c51a1508 h1:TKqjhhTfLchU8nSo1WZRgaH7xZWzYUQXVRj9CePcbaw= +cosmossdk.io/x/feegrant v0.0.0-20230818115413-c402c51a1508/go.mod h1:kOr8Rr10RoMeGGk/pfW5yo1R7GQTGu4KdRgKphVvjz4= +cosmossdk.io/x/tx v0.9.1 h1:9pmmXA9Vs4qdouOFnzhsdsff2mif0f0kylMq5xTGhRI= +cosmossdk.io/x/tx v0.9.1/go.mod h1:/YFGTXG6+kyihd8YbfuJiXHV4R/mIMm2uvVzo80CIhA= +cosmossdk.io/x/upgrade v0.0.0-20230818115413-c402c51a1508 h1:tZ5fSX+ev+QHQ15457Vhxug8BSZJcHeBhU8DpgwlkCc= +cosmossdk.io/x/upgrade v0.0.0-20230818115413-c402c51a1508/go.mod h1:M0JWINHzdN0eFHrWMs082akHHSO5muExS+/tNNIOyP8= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -209,27 +222,32 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMb github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= +github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= +github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= +github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/alecthomas/participle/v2 v2.0.0-alpha7 h1:cK4vjj0VSgb3lN1nuKA5F7dw+1s1pWBe5bx7nNCnN+c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -241,8 +259,6 @@ github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= -github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/avast/retry-go/v4 v4.3.2 h1:x4sTEu3jSwr7zNjya8NTdIN+U88u/jtO/q3OupBoDtM= @@ -250,9 +266,10 @@ github.com/avast/retry-go/v4 v4.3.2/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8 github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.203 h1:pcsP805b9acL3wUqa4JR2vg1k2wnItkDYNvfmcy6F+U= -github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.44.224 h1:09CiaaF35nRmxrzWZ2uRq5v6Ghg/d2RiPjZnSgtt+RQ= +github.com/aws/aws-sdk-go v1.44.224/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -264,6 +281,8 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= +github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= @@ -289,7 +308,8 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= +github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -326,18 +346,27 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= -github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= +github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= +github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v0.0.0-20230817233644-564b068800e0 h1:M4A5LioEhkZ/s+m0g0pWgiLBQr83p0jWnQUo320Qy+A= +github.com/cockroachdb/pebble v0.0.0-20230817233644-564b068800e0/go.mod h1:EDjiaAXc0FXiRmxDzcu1wIEJ093ohHMUWxrI6iku0XA= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= -github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= -github.com/cometbft/cometbft v0.37.2 h1:XB0yyHGT0lwmJlFmM4+rsRnczPlHoAKFX6K8Zgc2/Jc= -github.com/cometbft/cometbft v0.37.2/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/cometbft/cometbft v0.38.0-rc3 h1:Ly3eVPWoFu0y68PmZwLljucPdEBtfigZtqm+OV1W6dE= +github.com/cometbft/cometbft v0.38.0-rc3/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= -github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= -github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -346,49 +375,46 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= -github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk v0.47.3 h1:r0hGmZoAzP2D+MaPaFGHwAaTdFQq3pNpHaUp1BsffbM= -github.com/cosmos/cosmos-sdk v0.47.3/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= +github.com/cosmos/cosmos-db v1.0.0 h1:EVcQZ+qYag7W6uorBKFPvX6gRjw6Uq2hIh4hCWjuQ0E= +github.com/cosmos/cosmos-db v1.0.0/go.mod h1:iBvi1TtqaedwLdcrZVYRSSCb6eSy61NLj4UNmdIgs0U= +github.com/cosmos/cosmos-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o= +github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= +github.com/cosmos/cosmos-sdk v0.50.0-rc.0.0.20230831181921-878e00a9bb6e h1:2SGTtQzOwOMtJ5FfcLTeGvWobq8ro9UkNFmXHBpgc8g= +github.com/cosmos/cosmos-sdk v0.50.0-rc.0.0.20230831181921-878e00a9bb6e/go.mod h1:olbHxcVB4zWwnF+oNPbKIoEIO5HgHndzKUqdpuu4s34= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= -github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= -github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= -github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= -github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 h1:BvSKnPFKxL+TTSLxGKwJN4x0ndCZj0yfXhSvmsQztSA= -github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1/go.mod h1:A+CxAQdn2j6ihDTbClpEEBdHthWgAUAcHbRAQPY8sl4= -github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= -github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= +github.com/cosmos/gogoproto v1.4.11 h1:LZcMHrx4FjUgrqQSWeaGC1v/TeuVFqSLa43CC6aWR2g= +github.com/cosmos/gogoproto v1.4.11/go.mod h1:/g39Mh8m17X8Q/GDEs5zYTSNaNnInBSohtaxzQnYq1Y= +github.com/cosmos/iavl v1.0.0-rc.1 h1:5+73BEWW1gZOIUJKlk/1fpD4lOqqeFBA8KuV+NpkCpU= +github.com/cosmos/iavl v1.0.0-rc.1/go.mod h1:CmTGqMnRnucjxbjduneZXT+0vPgNElYvdefjX2q9tYc= +github.com/cosmos/ibc-go/modules/capability v1.0.0-rc3 h1:jEq48O/lE7dT34U6dJLLl8PaHSwerFrRqgaVVPg7J4A= +github.com/cosmos/ibc-go/modules/capability v1.0.0-rc3/go.mod h1:h+HXgDnFpzthSy7mKw3xCeOG1QZDiwlz7Vuw8eSevjg= +github.com/cosmos/ibc-go/v7 v7.0.0-20230831153406-6c9c1a23b7c4 h1:ml2Wwm5jhKm6NWepPZhmpjAf8HnzWtqbRd27R/Pch8Y= +github.com/cosmos/ibc-go/v7 v7.0.0-20230831153406-6c9c1a23b7c4/go.mod h1:75bOS05f79qnmcQg+5Jt2UIKzCwGzOgVkevY3K/9kk8= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= -github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= -github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= -github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= -github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= +github.com/cosmos/ledger-cosmos-go v0.13.0 h1:ex0CvCxToSR7j5WjrghPu2Bu9sSXKikjnVvUryNnx4s= +github.com/cosmos/ledger-cosmos-go v0.13.0/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= -github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= -github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= @@ -402,7 +428,9 @@ github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUn github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= @@ -413,6 +441,8 @@ github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5m github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/emicklei/dot v1.5.0 h1:tc9eKdCBTgoR68vJ6OcgMtI0SdrGDwLPPVaPA6XhX50= +github.com/emicklei/dot v1.5.0/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -427,23 +457,33 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s= github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= 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.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= 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= @@ -452,6 +492,7 @@ github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= @@ -460,13 +501,17 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= +github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -475,15 +520,16 @@ github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA= +github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= @@ -564,12 +610,14 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17 github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -589,8 +637,8 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= -github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -609,8 +657,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.8.0 h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc= -github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -627,19 +675,14 @@ github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWm github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -649,11 +692,17 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-metrics v0.5.1 h1:rfPwUqFU6uZXNvGl4hzjY8LEBsqFVU4si1H9/Hqck/U= +github.com/hashicorp/go-metrics v0.5.1/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk= +github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= @@ -661,25 +710,29 @@ github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoD github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -688,6 +741,8 @@ github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0Jr github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= @@ -698,7 +753,8 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= 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.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.2 h1:7YppbATX94jEt9KLAc5hICx4h6Yt3SaavhQRsIUEHP0= +github.com/jhump/protoreflect v1.15.2/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -715,6 +771,7 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.3.0 h1:z1n1AOHVVydOOVuyphbOKyR4NICDQFiJMn1IK5hVQ5Y= @@ -731,27 +788,30 @@ github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= -github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= +github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= -github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= +github.com/linxGnu/grocksdb v1.8.0 h1:H4L/LhP7GOMf1j17oQAElHgVlbEje2h14A8Tz9cM2BE= +github.com/linxGnu/grocksdb v1.8.0/go.mod h1:09CeBborffXhXdNpEcOeZrLKEnRtrZFEpFdPNI9Zjjg= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -759,6 +819,7 @@ github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3v github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= @@ -767,8 +828,8 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= -github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= @@ -777,9 +838,6 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -801,6 +859,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -818,10 +877,15 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLA 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= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230110094441-db37f07504ce h1:/pEpMk55wH0X+E5zedGEMOdLuWmV8P4+4W3+LZaM6kg= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230110094441-db37f07504ce/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= @@ -836,11 +900,15 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= -github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -850,20 +918,24 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= 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/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= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= 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/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= -github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= +github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20230518223814-80aa455d8761 h1:W04oB3d0J01W5jgYRGKsV8LCM6g9EkCvPkZcmFuy0OE= +github.com/petermattis/goid v0.0.0-20230518223814-80aa455d8761/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -879,51 +951,51 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= +github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= -github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= -github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI= +github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= -github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= -github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/gocuke v0.6.2 h1:pHviZ0kKAq2U2hN2q3smKNxct6hS0mGByFMHGnWA97M= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= -github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/zerolog v1.30.0/go.mod h1:/tk+P47gFdPXq4QYjvCmT5/Gsug2nagsFWBWhAiSi1w= 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= @@ -933,12 +1005,14 @@ github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71e github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -984,7 +1058,6 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= @@ -997,6 +1070,7 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -1008,6 +1082,7 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -1047,14 +1122,18 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ= +go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1066,15 +1145,14 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1086,8 +1164,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 h1:m64FZMko/V45gv0bNmrNYoDEq8U5YUhetc9cBWKS1TQ= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1114,8 +1192,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1179,8 +1257,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1206,8 +1284,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1222,8 +1300,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1300,6 +1378,7 @@ golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1323,13 +1402,13 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1341,8 +1420,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1368,6 +1447,7 @@ golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1410,7 +1490,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 h1:Vve/L0v7CXXuxUmaMGIEK/dEeq7uiqb5qBgQrZzIE7E= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1469,8 +1550,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.122.0 h1:zDobeejm3E7pEG1mNHvdxvjs5XJoCMzyNH+CmwL94Es= -google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= 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= @@ -1588,8 +1669,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e h1:z3vDksarJxsAKM5dmEGv0GHwE2hKJ096wZra71Vs4sw= +google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230815205213-6bfd019c3878 h1:lv6/DhyiFFGsmzxbsUUTOkN29II+zeWHxvT8Lpdxsv0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230815205213-6bfd019c3878/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1631,8 +1716,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1649,14 +1734,15 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= @@ -1682,8 +1768,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= +gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1694,8 +1780,8 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= -pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= +pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/go.work b/go.work index b9db675cb..9293d3087 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,4 @@ -go 1.20 +go 1.21 use ( . diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 4382b5c7a..0f1c20987 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -1,6 +1,6 @@ module github.com/cosmos/relayer/v2/interchaintest -go 1.20 +go 1.21 require ( cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 @@ -32,7 +32,7 @@ require ( cosmossdk.io/depinject v1.0.0-alpha.3 // indirect cosmossdk.io/errors v1.0.0-beta.7 // indirect cosmossdk.io/log v1.1.0 // indirect - cosmossdk.io/math v1.0.1 // indirect + cosmossdk.io/math v1.1.2 // indirect cosmossdk.io/tools/rosetta v0.2.1 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect diff --git a/interchaintest/go.sum b/interchaintest/go.sum index e2ef9d343..5dba14ded 100644 --- a/interchaintest/go.sum +++ b/interchaintest/go.sum @@ -118,6 +118,7 @@ cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQn cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -198,8 +199,8 @@ cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= -cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= -cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/math v1.1.2 h1:ORZetZCTyWkI5GlZ6CZS28fMHi83ZYf+A2vVnHNzZBM= +cosmossdk.io/math v1.1.2/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 h1:g8muUHnXL8vhld2Sjilyhb1UQObc+x9GVuDK43TYZns= cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462/go.mod h1:4Dd3NLoLYoN90kZ0uyHoTHzVVk9+J0v4HhZRBNTAq2c= cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= @@ -212,7 +213,9 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0= github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8 h1:V8krnnfGj4pV65YLUm3C0/8bl7V5Nry2Pwvy3ru/wLc= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.0 h1:Ws8e5YmnrGEHzZEzg0YvK/7COGYtTC5PbaH9oSSbgfA= github.com/BurntSushi/toml v1.3.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= @@ -232,21 +235,27 @@ github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= github.com/Microsoft/hcsshim v0.9.4 h1:mnUj0ivWy6UzbB1uLFqKR6F+ZyiDc7j4iGgHTpO+5+I= +github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/StirlingMarketingGroup/go-namecase v1.0.0 h1:2CzaNtCzc4iNHirR+5ru9OzGg8rQp860gqLBFqRI02Y= github.com/StirlingMarketingGroup/go-namecase v1.0.0/go.mod h1:ZsoSKcafcAzuBx+sndbxHu/RjDcDTrEdT4UvhniHfio= github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= +github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/alecthomas/participle/v2 v2.0.0-alpha7 h1:cK4vjj0VSgb3lN1nuKA5F7dw+1s1pWBe5bx7nNCnN+c= +github.com/alecthomas/participle/v2 v2.0.0-alpha7/go.mod h1:NumScqsC42o9x+dGj8/YqsIfhrIQjFEOFovxotbBirA= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -300,6 +309,7 @@ github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtyd github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= +github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= @@ -308,6 +318,7 @@ github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -350,6 +361,7 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= +github.com/cockroachdb/apd/v3 v3.1.0/go.mod h1:6qgPBMXjATAdD/VefbRP9NoSLKjbB4LCoA7gN4LpHs4= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= @@ -364,6 +376,7 @@ github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkX github.com/containerd/containerd v1.6.8 h1:h4dOFDwzHmqFEP754PgfgTeVXFnLiRc6kiqC7tplDJs= github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -387,8 +400,6 @@ github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoK github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= -github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 h1:BvSKnPFKxL+TTSLxGKwJN4x0ndCZj0yfXhSvmsQztSA= -github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1/go.mod h1:A+CxAQdn2j6ihDTbClpEEBdHthWgAUAcHbRAQPY8sl4= github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= @@ -404,7 +415,9 @@ github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJF github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= +github.com/cucumber/common/gherkin/go/v22 v22.0.0/go.mod h1:3mJT10B2GGn3MvVPd3FwR7m2u4tLhSRhWUqJU4KN4Fg= github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= +github.com/cucumber/common/messages/go/v17 v17.1.1/go.mod h1:bpGxb57tDE385Rb2EohgUadLkAbhoC4IyCFi89u/JQI= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= @@ -474,10 +487,12 @@ github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= @@ -486,8 +501,8 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= 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 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= 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= @@ -504,13 +519,15 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= @@ -522,7 +539,6 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -530,6 +546,7 @@ github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= +github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= @@ -604,12 +621,14 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17 github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -629,6 +648,7 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= @@ -721,6 +741,7 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -744,6 +765,7 @@ github.com/ipfs/go-cid v0.2.0/go.mod h1:P+HXFDF4CVhaVayiEb4wkAy7zBHxBwsJyt0Y5U6M 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.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -760,6 +782,7 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.3.0 h1:z1n1AOHVVydOOVuyphbOKyR4NICDQFiJMn1IK5hVQ5Y= @@ -789,11 +812,14 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= @@ -828,7 +854,9 @@ github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnU github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -863,13 +891,16 @@ github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdx github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= +github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= @@ -908,6 +939,7 @@ github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtb github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= @@ -923,6 +955,7 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= @@ -941,6 +974,7 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= 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/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= @@ -1001,22 +1035,26 @@ github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/regen-network/gocuke v0.6.2 h1:pHviZ0kKAq2U2hN2q3smKNxct6hS0mGByFMHGnWA97M= +github.com/regen-network/gocuke v0.6.2/go.mod h1:zYaqIHZobHyd0xOrHGPQjbhGJsuZ1oElx150u2o1xuk= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= +github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= @@ -1033,6 +1071,7 @@ github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZj github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -1106,7 +1145,9 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= +github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip32 v1.0.0 h1:sDR9juArbUgX+bO/iblgZnMPeWY1KZMUC2AFUJdv5KE= @@ -1118,6 +1159,7 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -1159,6 +1201,7 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -1468,6 +1511,7 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1778,6 +1822,7 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= @@ -1807,6 +1852,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= +gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1826,7 +1872,9 @@ modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE= modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= @@ -1840,9 +1888,11 @@ modernc.org/sqlite v1.23.0/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY= +modernc.org/tcl v1.15.2/go.mod h1:3+k/ZaEbKrC8ePv8zJWPtBSW0V7Gg9g8rkmhI1Kfs3c= modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg= modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY= +modernc.org/z v1.7.3/go.mod h1:Ipv4tsdxZRbQyLq9Q1M6gdbkxYzdlrciF2Hi/lS7nWE= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= diff --git a/internal/relaydebug/debugserver.go b/internal/relaydebug/debugserver.go index d72721a71..2d982be81 100644 --- a/internal/relaydebug/debugserver.go +++ b/internal/relaydebug/debugserver.go @@ -5,6 +5,7 @@ import ( "net" "net/http" "net/http/pprof" + "time" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -40,14 +41,15 @@ func StartDebugServer(ctx context.Context, log *zap.Logger, ln net.Listener, reg mux.Handle("/relayer/metrics", promhttp.HandlerFor(registry, promhttp.HandlerOpts{})) srv := &http.Server{ - Handler: mux, - ErrorLog: zap.NewStdLog(log), + ReadHeaderTimeout: 5 * time.Second, + Handler: mux, + ErrorLog: zap.NewStdLog(log), BaseContext: func(net.Listener) context.Context { return ctx }, } - go srv.Serve(ln) + go srv.Serve(ln) //nolint:errcheck // we don't care about the error here go func() { <-ctx.Done() diff --git a/internal/relayertest/system.go b/internal/relayertest/system.go index 6b917b653..69415948b 100644 --- a/internal/relayertest/system.go +++ b/internal/relayertest/system.go @@ -11,11 +11,12 @@ import ( "path/filepath" "testing" - "github.com/cosmos/relayer/v2/cmd" "github.com/stretchr/testify/require" "go.uber.org/zap" "go.uber.org/zap/zaptest" "gopkg.in/yaml.v3" + + "github.com/cosmos/relayer/v2/cmd" ) // System is a system under test. diff --git a/main.go b/main.go index 958a04ad7..441651969 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/relayer/v2/cmd" ) @@ -10,6 +11,5 @@ func main() { } func init() { - //prevent incorrect bech32 address prefixed addresses when calling AccAddress.String() sdk.SetAddrCacheEnabled(false) } diff --git a/proto/buf.yaml b/proto/buf.yaml index 008d82060..4c8239a7f 100644 --- a/proto/buf.yaml +++ b/proto/buf.yaml @@ -1,7 +1,24 @@ version: v1 deps: - buf.build/penumbra-zone/penumbra - - buf.build/cosmos/cosmos-sdk - - buf.build/cosmos/cosmos-proto - - buf.build/cosmos/gogo-proto - - buf.build/googleapis/googleapis \ No newline at end of file + - buf.build/cosmos/cosmos-sdk:aa25660f4ff746388669ce36b3778442 + - buf.build/cosmos/cosmos-proto:1935555c206d4afb9e94615dfd0fad31 + - buf.build/cosmos/gogo-proto:a14993478f40695898ed8a86931094b6656e8a5d + - buf.build/googleapis/googleapis:8d7204855ec14631a499bd7393ce1970 + - buf.build/cosmos/ics23:b1abd8678aab07165efd453c96796a179eb3131f + +breaking: + use: + - FILE +lint: + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME + - RPC_RESPONSE_STANDARD_NAME diff --git a/relayer/chain.go b/relayer/chain.go index a23229bd8..060b487c3 100644 --- a/relayer/chain.go +++ b/relayer/chain.go @@ -8,10 +8,12 @@ import ( "time" "github.com/avast/retry-go/v4" - "github.com/cosmos/cosmos-sdk/crypto/hd" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" + + "github.com/cosmos/cosmos-sdk/crypto/hd" + + "github.com/cosmos/relayer/v2/relayer/provider" ) var ( diff --git a/relayer/chains/cosmos/account.go b/relayer/chains/cosmos/account.go index a3b656352..febd9500f 100644 --- a/relayer/chains/cosmos/account.go +++ b/relayer/chains/cosmos/account.go @@ -5,12 +5,13 @@ import ( "fmt" "strconv" + "google.golang.org/grpc" + "google.golang.org/grpc/metadata" + "github.com/cosmos/cosmos-sdk/client" sdk "github.com/cosmos/cosmos-sdk/types" grpctypes "github.com/cosmos/cosmos-sdk/types/grpc" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "google.golang.org/grpc" - "google.golang.org/grpc/metadata" ) var _ client.AccountRetriever = &CosmosProvider{} diff --git a/relayer/chains/cosmos/codec.go b/relayer/chains/cosmos/codec.go index 16cdaa16f..238659fc0 100644 --- a/relayer/chains/cosmos/codec.go +++ b/relayer/chains/cosmos/codec.go @@ -1,6 +1,13 @@ package cosmos import ( + "github.com/cosmos/ibc-go/modules/capability" + ibcfee "github.com/cosmos/ibc-go/v7/modules/apps/29-fee" + "github.com/cosmos/ibc-go/v7/modules/apps/transfer" + ibc "github.com/cosmos/ibc-go/v7/modules/core" + + feegrant "cosmossdk.io/x/feegrant/module" + "cosmossdk.io/x/upgrade" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" @@ -12,7 +19,6 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank" "github.com/cosmos/cosmos-sdk/x/crisis" "github.com/cosmos/cosmos-sdk/x/distribution" - feegrant "github.com/cosmos/cosmos-sdk/x/feegrant/module" "github.com/cosmos/cosmos-sdk/x/gov" govclient "github.com/cosmos/cosmos-sdk/x/gov/client" "github.com/cosmos/cosmos-sdk/x/mint" @@ -20,12 +26,6 @@ import ( paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" "github.com/cosmos/cosmos-sdk/x/slashing" "github.com/cosmos/cosmos-sdk/x/staking" - "github.com/cosmos/cosmos-sdk/x/upgrade" - upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" - "github.com/cosmos/ibc-go/modules/capability" - ibcfee "github.com/cosmos/ibc-go/v7/modules/apps/29-fee" - "github.com/cosmos/ibc-go/v7/modules/apps/transfer" - ibc "github.com/cosmos/ibc-go/v7/modules/core" cosmosmodule "github.com/cosmos/relayer/v2/relayer/chains/cosmos/module" "github.com/cosmos/relayer/v2/relayer/chains/cosmos/stride" @@ -43,8 +43,6 @@ var ModuleBasics = []module.AppModuleBasic{ gov.NewAppModuleBasic( []govclient.ProposalHandler{ paramsclient.ProposalHandler, - upgradeclient.LegacyProposalHandler, - upgradeclient.LegacyCancelProposalHandler, }, ), crisis.AppModuleBasic{}, diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index ad2d56c6c..3bdbbb1ce 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -8,17 +8,19 @@ import ( "time" "github.com/avast/retry-go/v4" - sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" - - ctypes "github.com/cometbft/cometbft/rpc/core/types" "go.uber.org/zap" "golang.org/x/sync/errgroup" + + sdk "github.com/cosmos/cosmos-sdk/types" + + ctypes "github.com/cometbft/cometbft/rpc/core/types" + + "github.com/cosmos/relayer/v2/relayer/processor" + "github.com/cosmos/relayer/v2/relayer/provider" ) type CosmosChainProcessor struct { @@ -124,25 +126,6 @@ func (ccp *CosmosChainProcessor) SetPathProcessors(pathProcessors processor.Path ccp.pathProcessors = pathProcessors } -// latestHeightWithRetry will query for the latest height, retrying in case of failure. -// It will delay by latestHeightQueryRetryDelay between attempts, up to latestHeightQueryRetries. -func (ccp *CosmosChainProcessor) latestHeightWithRetry(ctx context.Context) (latestHeight int64, err error) { - return latestHeight, retry.Do(func() error { - latestHeightQueryCtx, cancelLatestHeightQueryCtx := context.WithTimeout(ctx, queryTimeout) - defer cancelLatestHeightQueryCtx() - var err error - latestHeight, err = ccp.chainProvider.QueryLatestHeight(latestHeightQueryCtx) - return err - }, retry.Context(ctx), retry.Attempts(latestHeightQueryRetries), retry.Delay(latestHeightQueryRetryDelay), retry.LastErrorOnly(true), retry.OnRetry(func(n uint, err error) { - ccp.log.Error( - "Failed to query latest height", - zap.Uint("attempt", n+1), - zap.Uint("max_attempts", latestHeightQueryRetries), - zap.Error(err), - ) - })) -} - // nodeStatusWithRetry will query for the latest node status, retrying in case of failure. // It will delay by latestHeightQueryRetryDelay between attempts, up to latestHeightQueryRetries. func (ccp *CosmosChainProcessor) nodeStatusWithRetry(ctx context.Context) (status *ctypes.ResultStatus, err error) { @@ -236,7 +219,7 @@ func (ccp *CosmosChainProcessor) Run(ctx context.Context, initialBlockHistory ui continue } persistence.latestHeight = status.SyncInfo.LatestBlockHeight - ccp.chainProvider.setCometVersion(ccp.log, status.NodeInfo.Version) + ccp.chainProvider.setCometVersion(status.NodeInfo.Version) break } @@ -340,7 +323,7 @@ func (ccp *CosmosChainProcessor) queryCycle(ctx context.Context, persistence *qu } persistence.latestHeight = status.SyncInfo.LatestBlockHeight - ccp.chainProvider.setCometVersion(ccp.log, status.NodeInfo.Version) + ccp.chainProvider.setCometVersion(status.NodeInfo.Version) // This debug log is very noisy, but is helpful when debugging new chains. // ccp.log.Debug("Queried latest height", diff --git a/relayer/chains/cosmos/event_parser.go b/relayer/chains/cosmos/event_parser.go index 38ef47288..08184b147 100644 --- a/relayer/chains/cosmos/event_parser.go +++ b/relayer/chains/cosmos/event_parser.go @@ -8,15 +8,18 @@ import ( "strings" "time" - abci "github.com/cometbft/cometbft/abci/types" - sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + sdk "github.com/cosmos/cosmos-sdk/types" + + abci "github.com/cometbft/cometbft/abci/types" + + "github.com/cosmos/relayer/v2/relayer/processor" + "github.com/cosmos/relayer/v2/relayer/provider" ) // ibcMessage is the type used for parsing all possible properties of IBC messages @@ -143,26 +146,6 @@ func parseIBCMessageFromEvent( return nil } -func (msg *ibcMessage) parseIBCPacketReceiveMessageFromEvent( - log *zap.Logger, - event sdk.StringEvent, - chainID string, - height uint64, -) *ibcMessage { - var pi *packetInfo - if msg.info == nil { - pi = &packetInfo{Height: height} - msg.info = pi - } else { - pi = msg.info.(*packetInfo) - } - pi.parseAttrs(log, event.Attributes) - if event.Type != chantypes.EventTypeWriteAck { - msg.eventType = event.Type - } - return msg -} - // clientInfo contains the consensus height of the counterparty chain for a client. type clientInfo struct { clientID string @@ -170,12 +153,12 @@ type clientInfo struct { header []byte } -func (c clientInfo) ClientState(trustingPeriod time.Duration) provider.ClientState { +func (res clientInfo) ClientState(trustingPeriod time.Duration) provider.ClientState { return provider.ClientState{ - ClientID: c.clientID, - ConsensusHeight: c.consensusHeight, + ClientID: res.clientID, + ConsensusHeight: res.consensusHeight, TrustingPeriod: trustingPeriod, - Header: c.header, + Header: res.header, } } @@ -280,7 +263,7 @@ func (res *packetInfo) parsePacketAttribute(log *zap.Logger, attr sdk.Attribute) return } // NOTE: deprecated per IBC spec - case chantypes.AttributeKeyData: + case chantypes.AttributeKeyData: //nolint:staticcheck res.Data = []byte(attr.Value) case chantypes.AttributeKeyDataHex: data, err := hex.DecodeString(attr.Value) @@ -293,7 +276,7 @@ func (res *packetInfo) parsePacketAttribute(log *zap.Logger, attr sdk.Attribute) } res.Data = data // NOTE: deprecated per IBC spec - case chantypes.AttributeKeyAck: + case chantypes.AttributeKeyAck: //nolint:staticcheck res.Ack = []byte(attr.Value) case chantypes.AttributeKeyAckHex: data, err := hex.DecodeString(attr.Value) diff --git a/relayer/chains/cosmos/event_parser_test.go b/relayer/chains/cosmos/event_parser_test.go index 95106356b..314978044 100644 --- a/relayer/chains/cosmos/event_parser_test.go +++ b/relayer/chains/cosmos/event_parser_test.go @@ -4,15 +4,18 @@ import ( "encoding/hex" "testing" - abci "github.com/cometbft/cometbft/abci/types" - sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/provider" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/require" "go.uber.org/zap" + + sdk "github.com/cosmos/cosmos-sdk/types" + + abci "github.com/cometbft/cometbft/abci/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) func TestParsePacket(t *testing.T) { @@ -218,7 +221,6 @@ func TestParseEventLogs(t *testing.T) { testPacketDstPort = "port-1" ) events := []abci.Event{ - { Type: clienttypes.EventTypeUpdateClient, Attributes: []abci.EventAttribute{ diff --git a/relayer/chains/cosmos/feegrant.go b/relayer/chains/cosmos/feegrant.go index e2ffbab45..4bbbdeec1 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -4,16 +4,16 @@ import ( "context" "errors" "fmt" - "regexp" "strconv" "time" + sdkmath "cosmossdk.io/math" + + "cosmossdk.io/x/feegrant" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/crypto/hd" - "github.com/cosmos/cosmos-sdk/types" sdk "github.com/cosmos/cosmos-sdk/types" txtypes "github.com/cosmos/cosmos-sdk/types/tx" - "github.com/cosmos/cosmos-sdk/x/feegrant" ) // Searches for valid, existing BasicAllowance grants for the ChainClient's configured Feegranter. @@ -40,13 +40,13 @@ func (cc *CosmosProvider) GetValidBasicGrants() ([]*feegrant.Grant, error) { for _, grant := range grants { switch grant.Allowance.TypeUrl { case "/cosmos.feegrant.v1beta1.BasicAllowance": - //var feegrantAllowance feegrant.BasicAllowance + var feegrantAllowance feegrant.FeeAllowanceI e := cc.Cdc.InterfaceRegistry.UnpackAny(grant.Allowance, &feegrantAllowance) if e != nil { return nil, e } - //feegrantAllowance := grant.Allowance.GetCachedValue().(*feegrant.BasicAllowance) + if isValidGrant(feegrantAllowance.(*feegrant.BasicAllowance)) { validGrants = append(validGrants, grant) } @@ -108,18 +108,14 @@ func (cc *CosmosProvider) GetGranteeValidBasicGrants(granteeKey string) ([]*feeg // True if the grant has not expired and all coins have positive balances, false otherwise // Note: technically, any single coin with a positive balance makes the grant usable func isValidGrant(a *feegrant.BasicAllowance) bool { - //grant expired due to time limit if a.Expiration != nil && time.Now().After(*a.Expiration) { return false } - //feegrant without a spending limit specified allows unlimited fees to be spent valid := true - - //spending limit is specified, check if there are funds remaining on every coin if a.SpendLimit != nil { for _, coin := range a.SpendLimit { - if coin.Amount.LTE(types.ZeroInt()) { + if coin.Amount.LTE(sdkmath.ZeroInt()) { valid = false } } @@ -151,7 +147,7 @@ func (cc *CosmosProvider) ConfigureWithGrantees(grantees []string, granterKey st for _, newGrantee := range grantees { if !cc.KeyExists(newGrantee) { - //Add another key to the chain client for the grantee + _, err := cc.AddKey(newGrantee, sdk.CoinType, string(hd.Secp256k1Type)) if err != nil { return err @@ -167,7 +163,6 @@ func (fg *FeeGrantConfiguration) AddGranteeKeys(cc *CosmosProvider) error { newGranteeIdx := strconv.Itoa(len(fg.ManagedGrantees) + 1) newGrantee := "grantee" + newGranteeIdx - //Add another key to the chain client for the grantee _, err := cc.AddKey(newGrantee, sdk.CoinType, string(hd.Secp256k1Type)) if err != nil { return err @@ -182,12 +177,11 @@ func (fg *FeeGrantConfiguration) AddGranteeKeys(cc *CosmosProvider) error { // Get the feegrant params to use for the next TX. If feegrants are not configured for the chain client, the default key will be used for TX signing. // Otherwise, a configured feegrantee will be chosen for TX signing in round-robin fashion. func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey string) { - //By default, we should sign TXs with the ChainClient's default key txSignerKey = cc.PCfg.Key if cc.PCfg.FeeGrants == nil { fmt.Printf("cc.Config.FeeGrants == nil\n") - return + return txSignerKey, feeGranterKey } // Use the ChainClient's configured Feegranter key for the next TX. @@ -198,23 +192,21 @@ func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey str if feeGranterKey == "" || cc.PCfg.FeeGrants.BlockHeightVerified <= 0 { fmt.Printf("cc.Config.FeeGrants.BlockHeightVerified <= 0\n") feeGranterKey = "" - return + return txSignerKey, feeGranterKey } - //Pick the next managed grantee in the list as the TX signer lastGranteeIdx := cc.PCfg.FeeGrants.GranteeLastSignerIndex if lastGranteeIdx >= 0 && lastGranteeIdx <= len(cc.PCfg.FeeGrants.ManagedGrantees)-1 { txSignerKey = cc.PCfg.FeeGrants.ManagedGrantees[lastGranteeIdx] - cc.PCfg.FeeGrants.GranteeLastSignerIndex = cc.PCfg.FeeGrants.GranteeLastSignerIndex + 1 + cc.PCfg.FeeGrants.GranteeLastSignerIndex++ - //Restart the round robin at 0 if we reached the end of the list of grantees if cc.PCfg.FeeGrants.GranteeLastSignerIndex == len(cc.PCfg.FeeGrants.ManagedGrantees) { cc.PCfg.FeeGrants.GranteeLastSignerIndex = 0 } } - return + return txSignerKey, feeGranterKey } // Ensure all Basic Allowance grants are in place for the given ChainClient. @@ -251,8 +243,7 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* for _, grantee := range cc.PCfg.FeeGrants.ManagedGrantees { - //Searching for all grants with the given granter failed, so we will search by the grantee. - //Reason this lookup sometimes fails is because the 'Search by granter' request is in SDK v0.46+ + // Reason this lookup sometimes fails is because the 'Search by granter' request is in SDK v0.46+ if failedLookupGrantsByGranter { validGrants, err = cc.GetGranteeValidBasicGrants(grantee) if err != nil { @@ -280,7 +271,7 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* } if !hasGrant { - grantsNeeded += 1 + grantsNeeded++ fmt.Printf("Grant will be created on chain for granter %s and grantee %s\n", granterAddr, granteeAddr) grantMsg, err := cc.getMsgGrantBasicAllowance(granterAcc, granteeAcc) if err != nil { @@ -298,8 +289,6 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* WithFromAddress(granterAcc) granterExists := cc.EnsureExists(cliCtx, granterAcc) == nil - - //Feegranter exists on chain if granterExists { txResp, err := cc.SubmitTxAwaitResponse(ctx, msgs, memo, 0, granterKey) if err != nil { @@ -312,24 +301,13 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* fmt.Printf("TX succeeded, %d new grants configured, %d grants already in place. TX hash: %s\n", grantsNeeded, numGrantees-grantsNeeded, txResp.TxResponse.TxHash) return txResp.TxResponse, err - } else { - return nil, fmt.Errorf("granter %s does not exist on chain", granterKey) } - } else { - fmt.Printf("All grantees (%d total) already had valid feegrants. Feegrant configuration verified.\n", numGrantees) - } + return nil, fmt.Errorf("granter %s does not exist on chain", granterKey) - return nil, nil -} - -func getGasTokenDenom(gasPrices string) (string, error) { - r := regexp.MustCompile(`(?P[0-9.]*)(?P.*)`) - submatches := r.FindStringSubmatch(gasPrices) - if len(submatches) != 3 { - return "", errors.New("could not find fee denom") } + fmt.Printf("All grantees (%d total) already had valid feegrants. Feegrant configuration verified.\n", numGrantees) - return submatches[2], nil + return nil, nil } // GrantBasicAllowance Send a feegrant with the basic allowance type. @@ -354,7 +332,6 @@ func (cc *CosmosProvider) GrantAllGranteesBasicAllowance(ctx context.Context, ga for _, grantee := range cc.PCfg.FeeGrants.ManagedGrantees { granteeAddr, err := cc.GetKeyAddressForKey(grantee) - if err != nil { fmt.Printf("Misconfiguration for grantee %s. Error: %s\n", grantee, err.Error()) return err @@ -394,7 +371,6 @@ func (cc *CosmosProvider) GrantAllGranteesBasicAllowanceWithExpiration(ctx conte for _, grantee := range cc.PCfg.FeeGrants.ManagedGrantees { granteeAddr, err := cc.GetKeyAddressForKey(grantee) - if err != nil { fmt.Printf("Misconfiguration for grantee %s. Error: %s\n", grantee, err.Error()) return err @@ -412,7 +388,6 @@ func (cc *CosmosProvider) GrantAllGranteesBasicAllowanceWithExpiration(ctx conte } func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.AccAddress, grantee sdk.AccAddress, expiration time.Time) (sdk.Msg, error) { - //thirtyMin := time.Now().Add(30 * time.Minute) feeGrantBasic := &feegrant.BasicAllowance{ Expiration: &expiration, } @@ -422,25 +397,21 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.Ac return nil, err } - //Due to the way Lens configures the SDK, addresses will have the 'cosmos' prefix which - //doesn't necessarily match the chain prefix of the ChainClient config. So calling the internal - //'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. - - //Update the Grant to ensure the correct chain-specific granter is set + // Due to the way Lens configures the SDK, addresses will have the 'cosmos' prefix which + // doesn't necessarily match the chain prefix of the ChainClient config. So calling the internal + // 'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. granterAddr, granterAddrErr := cc.EncodeBech32AccAddr(granter) if granterAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granterAddrErr.Error()) return nil, granterAddrErr } - //Update the Grant to ensure the correct chain-specific grantee is set granteeAddr, granteeAddrErr := cc.EncodeBech32AccAddr(grantee) if granteeAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granteeAddrErr.Error()) return nil, granteeAddrErr } - //override the 'cosmos' prefixed bech32 addresses with the correct chain prefix msgGrantAllowance.Grantee = granteeAddr msgGrantAllowance.Granter = granterAddr @@ -448,9 +419,8 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.Ac } func (cc *CosmosProvider) getMsgGrantBasicAllowance(granter sdk.AccAddress, grantee sdk.AccAddress) (sdk.Msg, error) { - //thirtyMin := time.Now().Add(30 * time.Minute) feeGrantBasic := &feegrant.BasicAllowance{ - //Expiration: &thirtyMin, + // Expiration: &thirtyMin, } msgGrantAllowance, err := feegrant.NewMsgGrantAllowance(feeGrantBasic, granter, grantee) if err != nil { @@ -458,25 +428,21 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowance(granter sdk.AccAddress, gran return nil, err } - //Due to the way Lens configures the SDK, addresses will have the 'cosmos' prefix which - //doesn't necessarily match the chain prefix of the ChainClient config. So calling the internal - //'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. - - //Update the Grant to ensure the correct chain-specific granter is set + // Due to the way Lens configures the SDK, addresses will have the 'cosmos' prefix which + // doesn't necessarily match the chain prefix of the ChainClient config. So calling the internal + // 'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. granterAddr, granterAddrErr := cc.EncodeBech32AccAddr(granter) if granterAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granterAddrErr.Error()) return nil, granterAddrErr } - //Update the Grant to ensure the correct chain-specific grantee is set granteeAddr, granteeAddrErr := cc.EncodeBech32AccAddr(grantee) if granteeAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granteeAddrErr.Error()) return nil, granteeAddrErr } - //override the 'cosmos' prefixed bech32 addresses with the correct chain prefix msgGrantAllowance.Grantee = granteeAddr msgGrantAllowance.Granter = granterAddr diff --git a/relayer/chains/cosmos/grpc_query.go b/relayer/chains/cosmos/grpc_query.go index 33f274e8d..98e7a813c 100644 --- a/relayer/chains/cosmos/grpc_query.go +++ b/relayer/chains/cosmos/grpc_query.go @@ -8,9 +8,7 @@ import ( "sync" "time" - abci "github.com/cometbft/cometbft/abci/types" gogogrpc "github.com/cosmos/gogoproto/grpc" - "github.com/cosmos/relayer/v2/relayer/provider" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/encoding" @@ -18,11 +16,17 @@ import ( "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" + errorsmod "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" grpctypes "github.com/cosmos/cosmos-sdk/types/grpc" "github.com/cosmos/cosmos-sdk/types/tx" + + abci "github.com/cometbft/cometbft/abci/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) var _ gogogrpc.ClientConn = &CosmosProvider{} @@ -37,17 +41,17 @@ func (cc *CosmosProvider) Invoke(ctx context.Context, method string, req, reply // In both cases, we don't allow empty request req (it will panic unexpectedly). if reflect.ValueOf(req).IsNil() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "request cannot be nil") + return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "request cannot be nil") } // Case 1. Broadcasting a Tx. if reqProto, ok := req.(*tx.BroadcastTxRequest); ok { if !ok { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxRequest)(nil), req) + return errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxRequest)(nil), req) } resProto, ok := reply.(*tx.BroadcastTxResponse) if !ok { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxResponse)(nil), req) + return errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxResponse)(nil), req) } broadcastRes, err := cc.TxServiceBroadcast(ctx, reqProto) @@ -86,7 +90,7 @@ func (cc *CosmosProvider) Invoke(ctx context.Context, method string, req, reply } // NewStream implements the grpc ClientConn.NewStream method -func (cc *CosmosProvider) NewStream(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error) { +func (*CosmosProvider) NewStream(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error) { return nil, fmt.Errorf("streaming rpc not supported") } @@ -107,7 +111,7 @@ func (cc *CosmosProvider) RunGRPCQuery(ctx context.Context, method string, req i return abci.ResponseQuery{}, nil, err } if height < 0 { - return abci.ResponseQuery{}, nil, sdkerrors.Wrapf( + return abci.ResponseQuery{}, nil, errorsmod.Wrapf( sdkerrors.ErrInvalidRequest, "client.Context.Invoke: height (%d) from %q must be >= 0", height, grpctypes.GRPCBlockHeightHeader) } diff --git a/relayer/chains/cosmos/keys.go b/relayer/chains/cosmos/keys.go index 858f77505..e7bb9c458 100644 --- a/relayer/chains/cosmos/keys.go +++ b/relayer/chains/cosmos/keys.go @@ -4,11 +4,13 @@ import ( "errors" "os" + "github.com/cosmos/go-bip39" + ckeys "github.com/cosmos/cosmos-sdk/client/keys" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/go-bip39" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos/keys/sr25519" "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" "github.com/cosmos/relayer/v2/relayer/codecs/injective" @@ -182,7 +184,6 @@ func (cc *CosmosProvider) KeyExists(name string) bool { } return k.Name == name - } // ExportPrivKeyArmor returns a private key in ASCII armored format. diff --git a/relayer/chains/cosmos/keys/sr25519/algo.go b/relayer/chains/cosmos/keys/sr25519/algo.go index d0c0eca96..e1580966f 100644 --- a/relayer/chains/cosmos/keys/sr25519/algo.go +++ b/relayer/chains/cosmos/keys/sr25519/algo.go @@ -3,22 +3,22 @@ package sr25519 import ( bip39 "github.com/cosmos/go-bip39" - tmsr25519 "github.com/cometbft/cometbft/crypto/sr25519" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/types" + + tmsr25519 "github.com/cometbft/cometbft/crypto/sr25519" ) var Sr25519 = sr25519Algo{} -type sr25519Algo struct { -} +type sr25519Algo struct{} -func (s sr25519Algo) Name() hd.PubKeyType { +func (sr25519Algo) Name() hd.PubKeyType { return hd.Sr25519Type } // Derive derives and returns the sr25519 private key for the given seed and HD path. -func (s sr25519Algo) Derive() hd.DeriveFn { +func (sr25519Algo) Derive() hd.DeriveFn { return func(mnemonic string, bip39Passphrase, hdPath string) ([]byte, error) { seed, err := bip39.NewSeedWithErrorChecking(mnemonic, bip39Passphrase) if err != nil { @@ -36,9 +36,9 @@ func (s sr25519Algo) Derive() hd.DeriveFn { } // Generate generates a sr25519 private key from the given bytes. -func (s sr25519Algo) Generate() hd.GenerateFn { +func (sr25519Algo) Generate() hd.GenerateFn { return func(bz []byte) types.PrivKey { - var bzArr = make([]byte, 32) + bzArr := make([]byte, 32) copy(bzArr, bz) return &PrivKey{PrivKey: tmsr25519.GenPrivKeyFromSecret(bzArr)} diff --git a/relayer/chains/cosmos/keys/sr25519/privkey.go b/relayer/chains/cosmos/keys/sr25519/privkey.go index b7b6efae3..513d14ec3 100644 --- a/relayer/chains/cosmos/keys/sr25519/privkey.go +++ b/relayer/chains/cosmos/keys/sr25519/privkey.go @@ -1,8 +1,9 @@ package sr25519 import ( - tmsr25519 "github.com/cometbft/cometbft/crypto/sr25519" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + + tmsr25519 "github.com/cometbft/cometbft/crypto/sr25519" ) const ( @@ -32,7 +33,7 @@ func (m *PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool { return m.PrivKey.Equals(sk2.PrivKey) } -func (m *PrivKey) ProtoMessage() {} +func (*PrivKey) ProtoMessage() {} func (m *PrivKey) Reset() { m.PrivKey = tmsr25519.PrivKey{} diff --git a/relayer/chains/cosmos/keys/sr25519/pubkey.go b/relayer/chains/cosmos/keys/sr25519/pubkey.go index 6325f9960..2d49b26bb 100644 --- a/relayer/chains/cosmos/keys/sr25519/pubkey.go +++ b/relayer/chains/cosmos/keys/sr25519/pubkey.go @@ -3,8 +3,9 @@ package sr25519 import ( "bytes" - "github.com/cometbft/cometbft/crypto" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + + "github.com/cometbft/cometbft/crypto" ) const PubKeyName = "tendermint/PubKeySr25519" @@ -29,7 +30,7 @@ func (m PubKey) String() string { return m.Key.String() } -func (m PubKey) Type() string { +func (PubKey) Type() string { return "sr25519" } diff --git a/relayer/chains/cosmos/keys_test.go b/relayer/chains/cosmos/keys_test.go index 987931041..5d855242b 100644 --- a/relayer/chains/cosmos/keys_test.go +++ b/relayer/chains/cosmos/keys_test.go @@ -4,13 +4,15 @@ import ( "path/filepath" "testing" - "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - "github.com/cosmos/relayer/v2/relayer/provider" "github.com/stretchr/testify/require" "go.uber.org/zap" + + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" + "github.com/cosmos/relayer/v2/relayer/provider" ) func testProviderWithKeystore(t *testing.T, accountPrefix string, extraCodecs []string) provider.ChainProvider { + t.Helper() homePath := t.TempDir() cfg := cosmos.CosmosProviderConfig{ ChainID: "test", diff --git a/relayer/chains/cosmos/log.go b/relayer/chains/cosmos/log.go index 22342e549..a3de426a3 100644 --- a/relayer/chains/cosmos/log.go +++ b/relayer/chains/cosmos/log.go @@ -4,17 +4,18 @@ import ( "errors" "reflect" - "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" - typestx "github.com/cosmos/cosmos-sdk/types/tx" feetypes "github.com/cosmos/ibc-go/v7/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + typestx "github.com/cosmos/cosmos-sdk/types/tx" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // getChannelsIfPresent scans the events for channel tags @@ -63,7 +64,7 @@ func (cc *CosmosProvider) LogFailedTx(res *provider.RelayerTxResponse, err error } // Make a copy since we may continue to the warning - errorFields := append(fields, zap.Error(err)) + errorFields := append(fields, zap.Error(err)) //nolint:gocritic // errorFields is a copy of fields cc.log.Error( "Failed sending cosmos transaction", errorFields..., @@ -126,7 +127,7 @@ func (cc *CosmosProvider) LogSuccessTx(res *sdk.TxResponse, msgs []provider.Rela zap.String("tx_hash", res.TxHash), ) - // Log the succesful transaction with fields + // Log the successful transaction with fields cc.log.Info( "Successful transaction", fields..., diff --git a/relayer/chains/cosmos/message_handlers.go b/relayer/chains/cosmos/message_handlers.go index 029ddd652..ebd012e7b 100644 --- a/relayer/chains/cosmos/message_handlers.go +++ b/relayer/chains/cosmos/message_handlers.go @@ -6,10 +6,11 @@ import ( conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + "github.com/cosmos/relayer/v2/relayer/processor" + "github.com/cosmos/relayer/v2/relayer/provider" ) func (ccp *CosmosChainProcessor) handleMessage(ctx context.Context, m ibcMessage, c processor.IBCMessagesCache) { @@ -86,7 +87,7 @@ func (ccp *CosmosChainProcessor) handleChannelMessage(eventType string, ci provi ccp.channelStateCache.SetOpen(channelKey, false, ci.Order) case chantypes.EventTypeChannelOpenAck, chantypes.EventTypeChannelOpenConfirm: ccp.channelStateCache.SetOpen(channelKey, true, ci.Order) - ccp.logChannelOpenMessage(eventType, ci) + ccp.logChannelOpenMessage(ci) case chantypes.EventTypeChannelCloseConfirm: for k := range ccp.channelStateCache { if k.PortID == ci.PortID && k.ChannelID == ci.ChannelID { @@ -183,9 +184,8 @@ func (ccp *CosmosChainProcessor) logChannelMessage(message string, ci provider.C ) } -func (ccp *CosmosChainProcessor) logChannelOpenMessage(message string, ci provider.ChannelInfo) { +func (ccp *CosmosChainProcessor) logChannelOpenMessage(ci provider.ChannelInfo) { fields := []zap.Field{ - zap.String("channel_id", ci.ChannelID), zap.String("connection_id", ci.ConnID), zap.String("port_id", ci.PortID), diff --git a/relayer/chains/cosmos/message_handlers_test.go b/relayer/chains/cosmos/message_handlers_test.go index 8038b3e5e..3088bc25b 100644 --- a/relayer/chains/cosmos/message_handlers_test.go +++ b/relayer/chains/cosmos/message_handlers_test.go @@ -5,10 +5,11 @@ import ( conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" "github.com/stretchr/testify/require" "go.uber.org/zap" + + "github.com/cosmos/relayer/v2/relayer/processor" + "github.com/cosmos/relayer/v2/relayer/provider" ) func TestConnectionStateCache(t *testing.T) { diff --git a/relayer/chains/cosmos/module/app_module.go b/relayer/chains/cosmos/module/app_module.go index 39e6ea36b..e69766a14 100644 --- a/relayer/chains/cosmos/module/app_module.go +++ b/relayer/chains/cosmos/module/app_module.go @@ -1,15 +1,15 @@ package module import ( - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" solomachine "github.com/cosmos/ibc-go/v7/modules/light-clients/06-solomachine" + tmlightclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" localhost "github.com/cosmos/ibc-go/v7/modules/light-clients/09-localhost" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" - tmlightclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" ) // AppModuleBasic defines the basic application module used by the module. diff --git a/relayer/chains/cosmos/msg.go b/relayer/chains/cosmos/msg.go index ddd5a770d..58d5b9571 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -3,17 +3,19 @@ package cosmos import ( "fmt" + "github.com/cosmos/gogoproto/proto" + "go.uber.org/zap/zapcore" + "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gogoproto/proto" + "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap/zapcore" ) type CosmosMessage struct { Msg sdk.Msg - SetSigner func(string) //callback to update the Msg Signer field - FeegrantDisabled bool //marks whether this message type should ALWAYS disable feegranting (use the default signer) + SetSigner func(string) // callback to update the Msg Signer field + FeegrantDisabled bool // marks whether this message type should ALWAYS disable feegranting (use the default signer) } func NewCosmosMessage(msg sdk.Msg, optionalSetSigner func(string)) provider.RelayerMessage { @@ -27,7 +29,7 @@ func CosmosMsg(rm provider.RelayerMessage) sdk.Msg { if val, ok := rm.(CosmosMessage); !ok { fmt.Printf("got data of type %T but wanted provider.CosmosMessage \n", val) return nil - } else { + } else { //nolint:revive // we need to use val and that does not work when we fix this lint return val.Msg } } @@ -38,7 +40,7 @@ func CosmosMsgs(rm ...provider.RelayerMessage) []sdk.Msg { if val, ok := rMsg.(CosmosMessage); !ok { fmt.Printf("got data of type %T but wanted provider.CosmosMessage \n", rMsg) return nil - } else { + } else { //nolint:revive // we need to use val and that does not work when we fix this lint sdkMsgs = append(sdkMsgs, val.Msg) } } diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index c33743faf..6de2c65ea 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -9,21 +9,24 @@ import ( "sync" "time" + "github.com/cosmos/gogoproto/proto" + commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" + "go.uber.org/zap" + "golang.org/x/mod/semver" + + "github.com/cosmos/cosmos-sdk/crypto/keyring" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + provtypes "github.com/cometbft/cometbft/light/provider" prov "github.com/cometbft/cometbft/light/provider/http" rpcclient "github.com/cometbft/cometbft/rpc/client" rpchttp "github.com/cometbft/cometbft/rpc/client/http" libclient "github.com/cometbft/cometbft/rpc/jsonrpc/client" - "github.com/cosmos/cosmos-sdk/crypto/keyring" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gogoproto/proto" - commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" + "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" "github.com/cosmos/relayer/v2/relayer/processor" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" - "golang.org/x/mod/semver" ) var ( @@ -59,7 +62,6 @@ type CosmosProviderConfig struct { MinLoopDuration time.Duration `json:"min-loop-duration" yaml:"min-loop-duration"` ExtensionOptions []provider.ExtensionOption `json:"extension-options" yaml:"extension-options"` - //If FeeGrantConfiguration is set, TXs submitted by the ChainClient will be signed by the FeeGrantees in a round-robin fashion by default. FeeGrants *FeeGrantConfiguration `json:"feegrants" yaml:"feegrants"` } @@ -67,13 +69,13 @@ type CosmosProviderConfig struct { // Clients can use other signing keys by invoking 'tx.SendMsgsWith' and specifying the signing key. type FeeGrantConfiguration struct { GranteesWanted int `json:"num_grantees" yaml:"num_grantees"` - //Normally this is the default ChainClient key + GranterKey string `json:"granter" yaml:"granter"` - //List of keys (by name) that this FeeGranter manages + ManagedGrantees []string `json:"grantees" yaml:"grantees"` - //Last checked on chain (0 means grants never checked and may not exist) + BlockHeightVerified int64 `json:"block_last_verified" yaml:"block_last_verified"` - //Index of the last ManagedGrantee used as a TX signer + GranteeLastSignerIndex int } @@ -130,8 +132,6 @@ type CosmosProvider struct { Output io.Writer Cdc Codec // TODO: GRPC Client type? - - //nextAccountSeq uint64 feegrantMu sync.Mutex // the map key is the TX signer, which can either be 'default' (provider key) or a feegrantee @@ -166,7 +166,7 @@ func (cc *CosmosProvider) ChainName() string { return cc.PCfg.ChainName } -func (cc *CosmosProvider) Type() string { +func (*CosmosProvider) Type() string { return "cosmos" } @@ -179,7 +179,7 @@ func (cc *CosmosProvider) Timeout() string { } // CommitmentPrefix returns the commitment prefix for Cosmos -func (cc *CosmosProvider) CommitmentPrefix() commitmenttypes.MerklePrefix { +func (*CosmosProvider) CommitmentPrefix() commitmenttypes.MerklePrefix { return defaultChainPrefix } @@ -222,7 +222,7 @@ func (cc *CosmosProvider) AccountFromKeyOrAddress(keyOrAddress string) (out sdk. default: out, err = sdk.GetFromBech32(keyOrAddress, cc.PCfg.AccountPrefix) } - return + return out, err } func (cc *CosmosProvider) TrustingPeriod(ctx context.Context) (time.Duration, error) { @@ -302,7 +302,7 @@ func (cc *CosmosProvider) Init(ctx context.Context) error { return nil } - cc.setCometVersion(cc.log, status.NodeInfo.Version) + cc.setCometVersion(status.NodeInfo.Version) return nil } @@ -347,17 +347,17 @@ func (cc *CosmosProvider) SetMetrics(m *processor.PrometheusMetrics) { cc.metrics = m } -func (cc *CosmosProvider) updateNextAccountSequence(sequenceGuard *WalletState, seq uint64) { +func (*CosmosProvider) updateNextAccountSequence(sequenceGuard *WalletState, seq uint64) { if seq > sequenceGuard.NextAccountSequence { sequenceGuard.NextAccountSequence = seq } } -func (cc *CosmosProvider) setCometVersion(log *zap.Logger, version string) { - cc.cometLegacyEncoding = cc.legacyEncodedEvents(log, version) +func (cc *CosmosProvider) setCometVersion(version string) { + cc.cometLegacyEncoding = cc.legacyEncodedEvents(version) } -func (cc *CosmosProvider) legacyEncodedEvents(log *zap.Logger, version string) bool { +func (*CosmosProvider) legacyEncodedEvents(version string) bool { return semver.Compare("v"+version, cometEncodingThreshold) < 0 } diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index dfc040214..3bfd32fcf 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -11,20 +11,6 @@ import ( "sync" "time" - abci "github.com/cometbft/cometbft/abci/types" - coretypes "github.com/cometbft/cometbft/rpc/core/types" - tmtypes "github.com/cometbft/cometbft/types" - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - grpctypes "github.com/cosmos/cosmos-sdk/types/grpc" - "github.com/cosmos/cosmos-sdk/types/query" - querytypes "github.com/cosmos/cosmos-sdk/types/query" - bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/cosmos-sdk/x/feegrant" - "github.com/cosmos/cosmos-sdk/x/params/types/proposal" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" @@ -33,10 +19,27 @@ import ( host "github.com/cosmos/ibc-go/v7/modules/core/24-host" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "golang.org/x/sync/errgroup" "google.golang.org/grpc/metadata" + + errorsmod "cosmossdk.io/errors" + + "cosmossdk.io/x/feegrant" + upgradetypes "cosmossdk.io/x/upgrade/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + grpctypes "github.com/cosmos/cosmos-sdk/types/grpc" + "github.com/cosmos/cosmos-sdk/types/query" + bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/cosmos-sdk/x/params/types/proposal" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + + abci "github.com/cometbft/cometbft/abci/types" + coretypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) const PaginationDelay = 10 * time.Millisecond @@ -177,7 +180,7 @@ func parseEventsFromResponseDeliverTx(resp abci.ResponseDeliverTx) []provider.Re for _, event := range resp.Events { attributes := make(map[string]string) for _, attribute := range event.Attributes { - attributes[string(attribute.Key)] = string(attribute.Value) + attributes[attribute.Key] = attribute.Value } events = append(events, provider.RelayerEvent{ EventType: event.Type, @@ -317,7 +320,6 @@ func (cc *CosmosProvider) queryConsumerUnbondingPeriod(ctx context.Context) (tim params := proposal.QueryParamsRequest{Subspace: "ccvconsumer", Key: "UnbondingPeriod"} resICS, err := queryClient.Params(ctx, ¶ms) - if err != nil { return 0, fmt.Errorf("failed to make ccvconsumer params request: %w", err) } @@ -417,7 +419,7 @@ func (cc *CosmosProvider) QueryClientStateResponse(ctx context.Context, height i // check if client exists if len(value) == 0 { - return nil, sdkerrors.Wrap(clienttypes.ErrClientNotFound, srcClientId) + return nil, errorsmod.Wrap(clienttypes.ErrClientNotFound, srcClientId) } cdc := codec.NewProtoCodec(cc.Cdc.InterfaceRegistry) @@ -466,7 +468,7 @@ func (cc *CosmosProvider) QueryClientConsensusState(ctx context.Context, chainHe // check if consensus state exists if len(value) == 0 { - return nil, sdkerrors.Wrap(clienttypes.ErrConsensusStateNotFound, clientid) + return nil, errorsmod.Wrap(clienttypes.ErrConsensusStateNotFound, clientid) } cdc := codec.NewProtoCodec(cc.Cdc.InterfaceRegistry) @@ -663,7 +665,7 @@ func (cc *CosmosProvider) queryConnectionABCI(ctx context.Context, height int64, // check if connection exists if len(value) == 0 { - return nil, sdkerrors.Wrap(conntypes.ErrConnectionNotFound, connectionID) + return nil, errorsmod.Wrap(conntypes.ErrConnectionNotFound, connectionID) } cdc := codec.NewProtoCodec(cc.Cdc.InterfaceRegistry) @@ -813,7 +815,7 @@ func (cc *CosmosProvider) queryChannelABCI(ctx context.Context, height int64, po // check if channel exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portID, channelID) + return nil, errorsmod.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portID, channelID) } cdc := codec.NewProtoCodec(cc.Cdc.InterfaceRegistry) @@ -897,7 +899,7 @@ func (cc *CosmosProvider) QueryChannels(ctx context.Context) ([]*chantypes.Ident } // QueryChannels returns all the channels that are registered on a chain -func (cc *CosmosProvider) QueryChannelsPaginated(ctx context.Context, pageRequest *querytypes.PageRequest) ([]*chantypes.IdentifiedChannel, []byte, error) { +func (cc *CosmosProvider) QueryChannelsPaginated(ctx context.Context, pageRequest *query.PageRequest) ([]*chantypes.IdentifiedChannel, []byte, error) { qc := chantypes.NewQueryClient(cc) chans := []*chantypes.IdentifiedChannel{} @@ -985,7 +987,7 @@ func (cc *CosmosProvider) QueryUnreceivedPackets(ctx context.Context, height uin return res.Sequences, nil } -func sendPacketQuery(channelID string, portID string, seq uint64) string { +func sendPacketQuery(channelID string, seq uint64) string { x := []string{ fmt.Sprintf("%s.packet_src_channel='%s'", spTag, channelID), fmt.Sprintf("%s.packet_sequence='%d'", spTag, seq), @@ -993,7 +995,7 @@ func sendPacketQuery(channelID string, portID string, seq uint64) string { return strings.Join(x, " AND ") } -func writeAcknowledgementQuery(channelID string, portID string, seq uint64) string { +func writeAcknowledgementQuery(channelID string, seq uint64) string { x := []string{ fmt.Sprintf("%s.packet_dst_channel='%s'", waTag, channelID), fmt.Sprintf("%s.packet_sequence='%d'", waTag, seq), @@ -1012,8 +1014,8 @@ func (cc *CosmosProvider) QuerySendPacket( return provider.PacketInfo{}, err } - q := sendPacketQuery(srcChanID, srcPortID, sequence) - ibcMsgs, err := cc.queryIBCMessages(ctx, cc.log, 1, 1000, q, cc.legacyEncodedEvents(zap.NewNop(), status.NodeInfo.Version)) + q := sendPacketQuery(srcChanID, sequence) + ibcMsgs, err := cc.queryIBCMessages(ctx, cc.log, 1, 1000, q, cc.legacyEncodedEvents(status.NodeInfo.Version)) if err != nil { return provider.PacketInfo{}, err } @@ -1041,8 +1043,8 @@ func (cc *CosmosProvider) QueryRecvPacket( return provider.PacketInfo{}, err } - q := writeAcknowledgementQuery(dstChanID, dstPortID, sequence) - ibcMsgs, err := cc.queryIBCMessages(ctx, cc.log, 1, 1000, q, cc.legacyEncodedEvents(zap.NewNop(), status.NodeInfo.Version)) + q := writeAcknowledgementQuery(dstChanID, sequence) + ibcMsgs, err := cc.queryIBCMessages(ctx, cc.log, 1, 1000, q, cc.legacyEncodedEvents(status.NodeInfo.Version)) if err != nil { return provider.PacketInfo{}, err } @@ -1084,7 +1086,7 @@ func (cc *CosmosProvider) QueryNextSeqRecv(ctx context.Context, height int64, ch // check if next sequence receive exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) + return nil, errorsmod.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) } sequence := binary.BigEndian.Uint64(value) @@ -1107,7 +1109,7 @@ func (cc *CosmosProvider) QueryNextSeqAck(ctx context.Context, height int64, cha // check if next sequence receive exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) + return nil, errorsmod.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) } sequence := binary.BigEndian.Uint64(value) @@ -1130,7 +1132,7 @@ func (cc *CosmosProvider) QueryPacketCommitment(ctx context.Context, height int6 // check if packet commitment exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrPacketCommitmentNotFound, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) + return nil, errorsmod.Wrapf(chantypes.ErrPacketCommitmentNotFound, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) } return &chantypes.QueryPacketCommitmentResponse{ @@ -1150,7 +1152,7 @@ func (cc *CosmosProvider) QueryPacketAcknowledgement(ctx context.Context, height } if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrInvalidAcknowledgement, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) + return nil, errorsmod.Wrapf(chantypes.ErrInvalidAcknowledgement, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) } return &chantypes.QueryPacketAcknowledgementResponse{ @@ -1242,8 +1244,8 @@ func (cc *CosmosProvider) QueryStakingParams(ctx context.Context) (*stakingtypes return &res.Params, nil } -func DefaultPageRequest() *querytypes.PageRequest { - return &querytypes.PageRequest{ +func DefaultPageRequest() *query.PageRequest { + return &query.PageRequest{ Key: []byte(""), Offset: 0, Limit: 1000, @@ -1261,7 +1263,7 @@ func (cc *CosmosProvider) QueryConsensusStateABCI(ctx context.Context, clientID // check if consensus state exists if len(value) == 0 { - return nil, sdkerrors.Wrap(clienttypes.ErrConsensusStateNotFound, clientID) + return nil, errorsmod.Wrap(clienttypes.ErrConsensusStateNotFound, clientID) } // TODO do we really want to create a new codec? ChainClient exposes proto.Marshaler diff --git a/relayer/chains/cosmos/relayer_packets.go b/relayer/chains/cosmos/relayer_packets.go index ad7779c6a..55981b86b 100644 --- a/relayer/chains/cosmos/relayer_packets.go +++ b/relayer/chains/cosmos/relayer_packets.go @@ -5,6 +5,7 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer/provider" ) @@ -20,8 +21,6 @@ type relayMsgTimeout struct { timeout clienttypes.Height timeoutStamp uint64 dstRecvRes *chantypes.QueryPacketReceiptResponse - - pass bool } func (rp relayMsgTimeout) Data() []byte { @@ -79,17 +78,6 @@ type relayMsgRecvPacket struct { dstComRes *chantypes.QueryPacketCommitmentResponse } -func (rp relayMsgRecvPacket) timeoutPacket() *relayMsgTimeout { - return &relayMsgTimeout{ - packetData: rp.packetData, - seq: rp.seq, - timeout: rp.timeout, - timeoutStamp: rp.timeoutStamp, - dstRecvRes: nil, - pass: false, - } -} - func (rp relayMsgRecvPacket) Data() []byte { return rp.packetData } @@ -143,16 +131,16 @@ type relayMsgPacketAck struct { timeout clienttypes.Height timeoutStamp uint64 dstComRes *chantypes.QueryPacketAcknowledgementResponse - - pass bool } func (rp relayMsgPacketAck) Data() []byte { return rp.packetData } + func (rp relayMsgPacketAck) Seq() uint64 { return rp.seq } + func (rp relayMsgPacketAck) Timeout() clienttypes.Height { return rp.timeout } diff --git a/relayer/chains/cosmos/stride/codec.go b/relayer/chains/cosmos/stride/codec.go index bc14ad67e..8e9cbd372 100644 --- a/relayer/chains/cosmos/stride/codec.go +++ b/relayer/chains/cosmos/stride/codec.go @@ -1,12 +1,14 @@ package stride import ( + proto "github.com/cosmos/gogoproto/proto" + "cosmossdk.io/api/tendermint/crypto" + "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" ) // Originally sourced from https://github.com/Stride-Labs/stride/blob/v5.1.1/x/interchainquery/types/codec.go diff --git a/relayer/chains/cosmos/stride/messages.go b/relayer/chains/cosmos/stride/messages.go index 29bdf5ed7..97684466d 100644 --- a/relayer/chains/cosmos/stride/messages.go +++ b/relayer/chains/cosmos/stride/messages.go @@ -1,6 +1,8 @@ package stride import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -19,21 +21,21 @@ const ( var _ sdk.Msg = &MsgSubmitQueryResponse{} // Route Implements Msg. -func (msg MsgSubmitQueryResponse) Route() string { return RouterKey } +func (MsgSubmitQueryResponse) Route() string { return RouterKey } // Type Implements Msg. -func (msg MsgSubmitQueryResponse) Type() string { return TypeMsgSubmitQueryResponse } +func (MsgSubmitQueryResponse) Type() string { return TypeMsgSubmitQueryResponse } // ValidateBasic Implements Msg. func (msg MsgSubmitQueryResponse) ValidateBasic() error { // check from address _, err := sdk.AccAddressFromBech32(msg.FromAddress) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid fromAddress in ICQ response (%s)", err) + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid fromAddress in ICQ response (%s)", err) } // check chain_id is not empty if msg.ChainId == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "chain_id cannot be empty in ICQ response") + return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "chain_id cannot be empty in ICQ response") } return nil diff --git a/relayer/chains/cosmos/stride/module.go b/relayer/chains/cosmos/stride/module.go index b7a6ef61b..73ed7b634 100644 --- a/relayer/chains/cosmos/stride/module.go +++ b/relayer/chains/cosmos/stride/module.go @@ -12,9 +12,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" ) -var ( - _ module.AppModuleBasic = AppModuleBasic{} -) +var _ module.AppModuleBasic = AppModuleBasic{} // AppModuleBasic implements the AppModuleBasic interface type AppModuleBasic struct{} @@ -27,7 +25,7 @@ func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { RegisterLegacyAminoCodec(cdc) } -func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) { +func (AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) { RegisterInterfaces(reg) } @@ -41,7 +39,7 @@ func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncod func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) {} -func (a AppModuleBasic) GetTxCmd() *cobra.Command { +func (AppModuleBasic) GetTxCmd() *cobra.Command { return nil } diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index a9da07179..d7e433a4f 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -14,23 +14,6 @@ import ( "time" "github.com/avast/retry-go/v4" - abci "github.com/cometbft/cometbft/abci/types" - "github.com/cometbft/cometbft/libs/bytes" - "github.com/cometbft/cometbft/light" - rpcclient "github.com/cometbft/cometbft/rpc/client" - coretypes "github.com/cometbft/cometbft/rpc/core/types" - tmtypes "github.com/cometbft/cometbft/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/tx" - "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/crypto/keyring" - "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" - cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "github.com/cosmos/cosmos-sdk/store/rootmulti" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - txtypes "github.com/cosmos/cosmos-sdk/types/tx" - "github.com/cosmos/cosmos-sdk/types/tx/signing" feetypes "github.com/cosmos/ibc-go/v7/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" @@ -41,12 +24,33 @@ import ( ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" localhost "github.com/cosmos/ibc-go/v7/modules/light-clients/09-localhost" - strideicqtypes "github.com/cosmos/relayer/v2/relayer/chains/cosmos/stride" - "github.com/cosmos/relayer/v2/relayer/ethermint" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + + errorsmod "cosmossdk.io/errors" + + sdkmath "cosmossdk.io/math" + "cosmossdk.io/store/rootmulti" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/crypto/keyring" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + txtypes "github.com/cosmos/cosmos-sdk/types/tx" + "github.com/cosmos/cosmos-sdk/types/tx/signing" + + abci "github.com/cometbft/cometbft/abci/types" + "github.com/cometbft/cometbft/libs/bytes" + "github.com/cometbft/cometbft/light" + rpcclient "github.com/cometbft/cometbft/rpc/client" + coretypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" + + strideicqtypes "github.com/cosmos/relayer/v2/relayer/chains/cosmos/stride" + "github.com/cosmos/relayer/v2/relayer/ethermint" + "github.com/cosmos/relayer/v2/relayer/provider" ) // Variables used for retries @@ -248,7 +252,7 @@ func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo sdkConf.SetBech32PrefixForConsensusNode(cc.PCfg.AccountPrefix+"valcons", cc.PCfg.AccountPrefix+"valconspub") defer sdkConfigMutex.Unlock() - rand.Seed(time.Now().UnixNano()) + rand.Seed(time.Now().UnixNano()) //nolint:staticcheck feegrantKeyAcc, _ := cc.GetKeyAddressForKey(feegranterKey) txf, err := cc.PrepareFactory(cc.TxFactory(), signingKey) @@ -271,9 +275,7 @@ func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo adjusted = uint64(float64(adjusted) * cc.PCfg.GasAdjustment) } - //Cannot feegrant your own TX if signingKey != feegranterKey && feegranterKey != "" { - //Must be set in Factory to affect gas calculation (sim tx) as well as real tx txf = txf.WithFeeGranter(feegrantKeyAcc) } @@ -298,9 +300,8 @@ func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo } err = func() error { - //done := cc.SetSDKContext() // ensure that we allways call done, even in case of an error or panic - //defer done() + // defer done() if err = tx.Sign(txf, signingKey, txb, false); err != nil { return err @@ -337,10 +338,10 @@ func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo } // sdkError will return the Cosmos SDK registered error for a given codespace/code combo if registered, otherwise nil. -func (cc *CosmosProvider) sdkError(codespace string, code uint32) error { +func (*CosmosProvider) sdkError(codespace string, code uint32) error { // ABCIError will return an error other than "unknown" if syncRes.Code is a registered error in syncRes.Codespace // This catches all of the sdk errors https://github.com/cosmos/cosmos-sdk/blob/f10f5e5974d2ecbf9efc05bc0bfe1c99fdeed4b6/types/errors/errors.go - err := errors.Unwrap(sdkerrors.ABCIError(codespace, code, "error broadcasting transaction")) + err := errors.Unwrap(errorsmod.ABCIError(codespace, code, "error broadcasting transaction")) if err.Error() != errUnknown { return err } @@ -355,7 +356,6 @@ func (cc *CosmosProvider) broadcastTx( tx []byte, // raw tx to be broadcasted msgs []provider.RelayerMessage, // used for logging only fees sdk.Coins, // used for metrics - asyncCtx context.Context, // context for async wait for block inclusion after successful tx broadcast asyncTimeout time.Duration, // timeout for waiting for block inclusion asyncCallbacks []func(*provider.RelayerTxResponse, error), // callback for success/fail of the wait for block inclusion @@ -415,7 +415,6 @@ func (cc *CosmosProvider) waitForTx( cc.log.Error("Failed to wait for block inclusion", zap.Error(err)) if len(callbacks) > 0 { for _, cb := range callbacks { - //Call each callback in order since waitForTx is already invoked asyncronously cb(nil, err) } } @@ -443,7 +442,6 @@ func (cc *CosmosProvider) waitForTx( } if len(callbacks) > 0 { for _, cb := range callbacks { - //Call each callback in order since waitForTx is already invoked asyncronously cb(nil, err) } } @@ -453,7 +451,6 @@ func (cc *CosmosProvider) waitForTx( if len(callbacks) > 0 { for _, cb := range callbacks { - //Call each callback in order since waitForTx is already invoked asyncronously cb(rlyResp, nil) } } @@ -496,8 +493,8 @@ func (cc *CosmosProvider) mkTxResult(resTx *coretypes.ResultTx) (*sdk.TxResponse if !ok { return nil, fmt.Errorf("expecting a type implementing intoAny, got: %T", txbz) } - any := p.AsAny() - return sdk.NewResponseResultTx(resTx, any, ""), nil + anyResult := p.AsAny() + return sdk.NewResponseResultTx(resTx, anyResult, ""), nil } func parseEventsFromTxResponse(resp *sdk.TxResponse) []provider.RelayerEvent { @@ -527,11 +524,8 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( feegranterKey string, err error, ) { - //Guard against race conditions when choosing a signer/feegranter cc.feegrantMu.Lock() defer cc.feegrantMu.Unlock() - - //Some messages have feegranting disabled. If any message in the TX disables feegrants, then the TX will not be feegranted. isFeegrantEligible := cc.PCfg.FeeGrants != nil for _, curr := range msgs { @@ -541,8 +535,6 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( } } } - - //By default, we should sign TXs with the provider's default key txSignerKey = cc.PCfg.Key if isFeegrantEligible { @@ -550,16 +542,14 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( signerAcc, addrErr := cc.GetKeyAddressForKey(txSignerKey) if addrErr != nil { err = addrErr - return + return "", "", err } signerAccAddr, encodeErr := cc.EncodeBech32AccAddr(signerAcc) if encodeErr != nil { err = encodeErr - return + return "", "", err } - - //Overwrite the 'Signer' field in any Msgs that provide an 'optionalSetSigner' callback for _, curr := range msgs { if cMsg, ok := curr.(CosmosMessage); ok { if cMsg.SetSigner != nil { @@ -569,7 +559,7 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( } } - return + return txSignerKey, feegranterKey, nil } func (cc *CosmosProvider) buildMessages( @@ -616,8 +606,6 @@ func (cc *CosmosProvider) buildMessages( return nil, 0, sdk.Coins{}, err } } - - //Cannot feegrant your own TX if txSignerKey != feegranterKey && feegranterKey != "" { granterAddr, err := cc.GetKeyAddressForKey(feegranterKey) if err != nil { @@ -636,7 +624,7 @@ func (cc *CosmosProvider) buildMessages( return nil, 0, sdk.Coins{}, err } - if err = tx.Sign(txf, txSignerKey, txb, false); err != nil { + if err = tx.Sign(ctx, txf, txSignerKey, txb, false); err != nil { return nil, 0, sdk.Coins{}, err } @@ -655,7 +643,7 @@ func (cc *CosmosProvider) buildMessages( // handleAccountSequenceMismatchError will parse the error string, e.g.: // "account sequence mismatch, expected 10, got 9: incorrect account sequence" // and update the next account sequence with the expected value. -func (cc *CosmosProvider) handleAccountSequenceMismatchError(sequenceGuard *WalletState, err error) { +func (*CosmosProvider) handleAccountSequenceMismatchError(sequenceGuard *WalletState, err error) { if sequenceGuard == nil { panic("sequence guard not configured") } @@ -731,9 +719,11 @@ func (cc *CosmosProvider) MsgUpgradeClient(srcClientId string, consRes *clientty return nil, err } - msgUpgradeClient := &clienttypes.MsgUpgradeClient{ClientId: srcClientId, ClientState: clientRes.ClientState, + msgUpgradeClient := &clienttypes.MsgUpgradeClient{ + ClientId: srcClientId, ClientState: clientRes.ClientState, ConsensusState: consRes.ConsensusState, ProofUpgradeClient: consRes.GetProof(), - ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc} + ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc, + } return NewCosmosMessage(msgUpgradeClient, func(signer string) { msgUpgradeClient.Signer = signer @@ -1247,7 +1237,7 @@ func (cc *CosmosProvider) MsgChannelCloseConfirm(msgCloseInit provider.ChannelIn }), nil } -func (cc *CosmosProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { +func (*CosmosProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { trustedCosmosHeader, ok := trustedHeader.(provider.TendermintIBCHeader) if !ok { return nil, fmt.Errorf("unsupported IBC trusted header type, expected: TendermintIBCHeader, actual: %T", trustedHeader) @@ -1376,13 +1366,13 @@ func (cc *CosmosProvider) RelayPacketFromSequence( return nil, nil, err } return nil, timeout, nil - } else { - timeout, err := src.MsgTimeout(msgTransfer, pp) - if err != nil { - return nil, nil, err - } - return nil, timeout, nil } + timeout, err := src.MsgTimeout(msgTransfer, pp) + if err != nil { + return nil, nil, err + } + return nil, timeout, nil + default: return nil, nil, err } @@ -1539,7 +1529,7 @@ func (cc *CosmosProvider) queryLocalhostClientState(ctx context.Context, srch in var defaultUpgradePath = []string{"upgrade", "upgradedIBCState"} // NewClientState creates a new tendermint client state tracking the dst chain. -func (cc *CosmosProvider) NewClientState( +func (*CosmosProvider) NewClientState( dstChainID string, dstUpdateHeader provider.IBCHeader, dstTrustingPeriod, @@ -1586,7 +1576,7 @@ func (cc *CosmosProvider) UpdateFeesSpent(chain, key, address string, fees sdk.C } // MsgRegisterCounterpartyPayee creates an sdk.Msg to broadcast the counterparty address -func (cc *CosmosProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee string) (provider.RelayerMessage, error) { +func (*CosmosProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee string) (provider.RelayerMessage, error) { msg := feetypes.NewMsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee) return NewCosmosMessage(msg, nil), nil } @@ -1688,7 +1678,7 @@ func (cc *CosmosProvider) AdjustEstimatedGas(gasUsed uint64) (uint64, error) { func (cc *CosmosProvider) SetWithExtensionOptions(txf tx.Factory) (tx.Factory, error) { extOpts := make([]*types.Any, 0, len(cc.PCfg.ExtensionOptions)) for _, opt := range cc.PCfg.ExtensionOptions { - max, ok := sdk.NewIntFromString(opt.Value) + max, ok := sdkmath.NewIntFromString(opt.Value) if !ok { return txf, fmt.Errorf("invalid opt value") } @@ -1840,9 +1830,7 @@ func BuildSimTx(info *keyring.Record, txf tx.Factory, msgs ...sdk.Msg) ([]byte, return nil, err } - var pk cryptotypes.PubKey = &secp256k1.PubKey{} // use default public key type - - pk, err = info.GetPubKey() + pk, err := info.GetPubKey() if err != nil { return nil, err } diff --git a/relayer/chains/cosmos/tx_test.go b/relayer/chains/cosmos/tx_test.go index 25bb02dd2..82aedb9a1 100644 --- a/relayer/chains/cosmos/tx_test.go +++ b/relayer/chains/cosmos/tx_test.go @@ -5,21 +5,18 @@ import ( "math" "testing" + "github.com/stretchr/testify/require" + + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/tx" "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" + "github.com/cosmos/relayer/v2/relayer/ethermint" "github.com/cosmos/relayer/v2/relayer/provider" - "github.com/stretchr/testify/require" ) -type mockAccountSequenceMismatchError struct { - Expected uint64 - Actual uint64 -} - // func TestHandleAccountSequenceMismatchError(t *testing.T) { // p := &CosmosProvider{} // ws := &WalletState{} @@ -87,10 +84,6 @@ func TestCosmosProvider_AdjustEstimatedGas(t *testing.T) { } } -func (err mockAccountSequenceMismatchError) Error() string { - return fmt.Sprintf("account sequence mismatch, expected %d, got %d: incorrect account sequence", err.Expected, err.Actual) -} - type mockTxConfig struct { legacytx.StdTxConfig txBuilder *mockTxBuilder @@ -135,7 +128,7 @@ func TestSetWithExtensionOptions(t *testing.T) { // Check that each extension option was added with the correct type URL and value for i, opt := range cc.PCfg.ExtensionOptions { expectedTypeURL := "/ethermint.types.v1.ExtensionOptionDynamicFeeTx" - max, ok := sdk.NewIntFromString(opt.Value) + max, ok := sdkmath.NewIntFromString(opt.Value) require.True(t, ok) expectedValue, err := (ðermint.ExtensionOptionDynamicFeeTx{ MaxPriorityPrice: max, diff --git a/relayer/chains/mock/message_handlers.go b/relayer/chains/mock/message_handlers.go index 263f50d71..04a03f326 100644 --- a/relayer/chains/mock/message_handlers.go +++ b/relayer/chains/mock/message_handlers.go @@ -4,9 +4,10 @@ import ( "fmt" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "go.uber.org/zap" + "github.com/cosmos/relayer/v2/relayer/processor" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" ) type msgHandlerParams struct { diff --git a/relayer/chains/mock/mock_chain_processor.go b/relayer/chains/mock/mock_chain_processor.go index 85ec8e769..5ab273cf5 100644 --- a/relayer/chains/mock/mock_chain_processor.go +++ b/relayer/chains/mock/mock_chain_processor.go @@ -4,13 +4,14 @@ import ( "context" "time" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "go.uber.org/zap" + "github.com/cosmos/cosmos-sdk/crypto/hd" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/processor" "github.com/cosmos/relayer/v2/relayer/provider" - - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "go.uber.org/zap" ) const ( @@ -96,7 +97,7 @@ func (mcp *MockChainProcessor) Run(ctx context.Context, initialBlockHistory uint // QueryLoop: for { - mcp.queryCycle(ctx, &persistence) + mcp.queryCycle(&persistence) select { case <-ctx.Done(): return nil @@ -107,7 +108,7 @@ func (mcp *MockChainProcessor) Run(ctx context.Context, initialBlockHistory uint } } -func (mcp *MockChainProcessor) queryCycle(ctx context.Context, persistence *queryCyclePersistence) { +func (mcp *MockChainProcessor) queryCycle(persistence *queryCyclePersistence) { // would be query of latest height persistence.latestHeight++ diff --git a/relayer/chains/mock/mock_chain_processor_test.go b/relayer/chains/mock/mock_chain_processor_test.go index 718826917..9055f8039 100644 --- a/relayer/chains/mock/mock_chain_processor_test.go +++ b/relayer/chains/mock/mock_chain_processor_test.go @@ -9,13 +9,14 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer" - "github.com/cosmos/relayer/v2/relayer/chains/mock" - "github.com/cosmos/relayer/v2/relayer/processor" "github.com/prometheus/client_golang/prometheus/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap" "go.uber.org/zap/zaptest" + + "github.com/cosmos/relayer/v2/relayer" + "github.com/cosmos/relayer/v2/relayer/chains/mock" + "github.com/cosmos/relayer/v2/relayer/processor" ) func TestMockChainAndPathProcessors(t *testing.T) { diff --git a/relayer/chains/penumbra/codec.go b/relayer/chains/penumbra/codec.go index ac075741c..1f3c07b09 100644 --- a/relayer/chains/penumbra/codec.go +++ b/relayer/chains/penumbra/codec.go @@ -1,6 +1,12 @@ package penumbra import ( + "github.com/cosmos/ibc-go/modules/capability" + "github.com/cosmos/ibc-go/v7/modules/apps/transfer" + ibc "github.com/cosmos/ibc-go/v7/modules/core" + + feegrant "cosmossdk.io/x/feegrant/module" + "cosmossdk.io/x/upgrade" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" @@ -12,7 +18,6 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank" "github.com/cosmos/cosmos-sdk/x/crisis" "github.com/cosmos/cosmos-sdk/x/distribution" - feegrant "github.com/cosmos/cosmos-sdk/x/feegrant/module" "github.com/cosmos/cosmos-sdk/x/gov" govclient "github.com/cosmos/cosmos-sdk/x/gov/client" "github.com/cosmos/cosmos-sdk/x/mint" @@ -20,11 +25,6 @@ import ( paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" "github.com/cosmos/cosmos-sdk/x/slashing" "github.com/cosmos/cosmos-sdk/x/staking" - "github.com/cosmos/cosmos-sdk/x/upgrade" - upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" - "github.com/cosmos/ibc-go/modules/capability" - "github.com/cosmos/ibc-go/v7/modules/apps/transfer" - ibc "github.com/cosmos/ibc-go/v7/modules/core" cosmosmodule "github.com/cosmos/relayer/v2/relayer/chains/cosmos/module" "github.com/cosmos/relayer/v2/relayer/chains/cosmos/stride" @@ -40,8 +40,6 @@ var moduleBasics = []module.AppModuleBasic{ gov.NewAppModuleBasic( []govclient.ProposalHandler{ paramsclient.ProposalHandler, - upgradeclient.LegacyProposalHandler, - upgradeclient.LegacyCancelProposalHandler, }, ), crisis.AppModuleBasic{}, diff --git a/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go b/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go index 80977b8d4..319406b30 100644 --- a/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go +++ b/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go @@ -1210,6 +1210,52 @@ func (*ProposalOutcome) XXX_OneofWrappers() []interface{} { } } +// Whether or not the proposal was withdrawn. +type ProposalOutcome_Withdrawn struct { + // The reason for withdrawing the proposal during the voting period. + Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` +} + +func (m *ProposalOutcome_Withdrawn) Reset() { *m = ProposalOutcome_Withdrawn{} } +func (m *ProposalOutcome_Withdrawn) String() string { return proto.CompactTextString(m) } +func (*ProposalOutcome_Withdrawn) ProtoMessage() {} +func (*ProposalOutcome_Withdrawn) Descriptor() ([]byte, []int) { + return fileDescriptor_1bc89f5bf0aed114, []int{13, 0} +} +func (m *ProposalOutcome_Withdrawn) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProposalOutcome_Withdrawn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProposalOutcome_Withdrawn.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProposalOutcome_Withdrawn) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProposalOutcome_Withdrawn.Merge(m, src) +} +func (m *ProposalOutcome_Withdrawn) XXX_Size() int { + return m.Size() +} +func (m *ProposalOutcome_Withdrawn) XXX_DiscardUnknown() { + xxx_messageInfo_ProposalOutcome_Withdrawn.DiscardUnknown(m) +} + +var xxx_messageInfo_ProposalOutcome_Withdrawn proto.InternalMessageInfo + +func (m *ProposalOutcome_Withdrawn) GetReason() string { + if m != nil { + return m.Reason + } + return "" +} + // The proposal was passed. type ProposalOutcome_Passed struct { } @@ -1218,7 +1264,7 @@ func (m *ProposalOutcome_Passed) Reset() { *m = ProposalOutcome_Passed{} func (m *ProposalOutcome_Passed) String() string { return proto.CompactTextString(m) } func (*ProposalOutcome_Passed) ProtoMessage() {} func (*ProposalOutcome_Passed) Descriptor() ([]byte, []int) { - return fileDescriptor_1bc89f5bf0aed114, []int{13, 0} + return fileDescriptor_1bc89f5bf0aed114, []int{13, 1} } func (m *ProposalOutcome_Passed) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1249,17 +1295,15 @@ var xxx_messageInfo_ProposalOutcome_Passed proto.InternalMessageInfo // The proposal did not pass. type ProposalOutcome_Failed struct { - // Types that are valid to be assigned to XWithdrawnWithReason: - // - // *ProposalOutcome_Failed_WithdrawnWithReason - XWithdrawnWithReason isProposalOutcome_Failed_XWithdrawnWithReason `protobuf_oneof:"_withdrawn_with_reason"` + // Present if the proposal was withdrawn during the voting period. + Withdrawn *ProposalOutcome_Withdrawn `protobuf:"bytes,1,opt,name=withdrawn,proto3" json:"withdrawn,omitempty"` } func (m *ProposalOutcome_Failed) Reset() { *m = ProposalOutcome_Failed{} } func (m *ProposalOutcome_Failed) String() string { return proto.CompactTextString(m) } func (*ProposalOutcome_Failed) ProtoMessage() {} func (*ProposalOutcome_Failed) Descriptor() ([]byte, []int) { - return fileDescriptor_1bc89f5bf0aed114, []int{13, 1} + return fileDescriptor_1bc89f5bf0aed114, []int{13, 2} } func (m *ProposalOutcome_Failed) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1288,52 +1332,24 @@ func (m *ProposalOutcome_Failed) XXX_DiscardUnknown() { var xxx_messageInfo_ProposalOutcome_Failed proto.InternalMessageInfo -type isProposalOutcome_Failed_XWithdrawnWithReason interface { - isProposalOutcome_Failed_XWithdrawnWithReason() - MarshalTo([]byte) (int, error) - Size() int -} - -type ProposalOutcome_Failed_WithdrawnWithReason struct { - WithdrawnWithReason string `protobuf:"bytes,1,opt,name=withdrawn_with_reason,json=withdrawnWithReason,proto3,oneof" json:"withdrawn_with_reason,omitempty"` -} - -func (*ProposalOutcome_Failed_WithdrawnWithReason) isProposalOutcome_Failed_XWithdrawnWithReason() {} - -func (m *ProposalOutcome_Failed) GetXWithdrawnWithReason() isProposalOutcome_Failed_XWithdrawnWithReason { +func (m *ProposalOutcome_Failed) GetWithdrawn() *ProposalOutcome_Withdrawn { if m != nil { - return m.XWithdrawnWithReason + return m.Withdrawn } return nil } -func (m *ProposalOutcome_Failed) GetWithdrawnWithReason() string { - if x, ok := m.GetXWithdrawnWithReason().(*ProposalOutcome_Failed_WithdrawnWithReason); ok { - return x.WithdrawnWithReason - } - return "" -} - -// XXX_OneofWrappers is for the internal use of the proto package. -func (*ProposalOutcome_Failed) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*ProposalOutcome_Failed_WithdrawnWithReason)(nil), - } -} - // The proposal did not pass, and was slashed. type ProposalOutcome_Slashed struct { - // Types that are valid to be assigned to XWithdrawnWithReason: - // - // *ProposalOutcome_Slashed_WithdrawnWithReason - XWithdrawnWithReason isProposalOutcome_Slashed_XWithdrawnWithReason `protobuf_oneof:"_withdrawn_with_reason"` + // Present if the proposal was withdrawn during the voting period. + Withdrawn *ProposalOutcome_Withdrawn `protobuf:"bytes,1,opt,name=withdrawn,proto3" json:"withdrawn,omitempty"` } func (m *ProposalOutcome_Slashed) Reset() { *m = ProposalOutcome_Slashed{} } func (m *ProposalOutcome_Slashed) String() string { return proto.CompactTextString(m) } func (*ProposalOutcome_Slashed) ProtoMessage() {} func (*ProposalOutcome_Slashed) Descriptor() ([]byte, []int) { - return fileDescriptor_1bc89f5bf0aed114, []int{13, 2} + return fileDescriptor_1bc89f5bf0aed114, []int{13, 3} } func (m *ProposalOutcome_Slashed) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1362,40 +1378,13 @@ func (m *ProposalOutcome_Slashed) XXX_DiscardUnknown() { var xxx_messageInfo_ProposalOutcome_Slashed proto.InternalMessageInfo -type isProposalOutcome_Slashed_XWithdrawnWithReason interface { - isProposalOutcome_Slashed_XWithdrawnWithReason() - MarshalTo([]byte) (int, error) - Size() int -} - -type ProposalOutcome_Slashed_WithdrawnWithReason struct { - WithdrawnWithReason string `protobuf:"bytes,1,opt,name=withdrawn_with_reason,json=withdrawnWithReason,proto3,oneof" json:"withdrawn_with_reason,omitempty"` -} - -func (*ProposalOutcome_Slashed_WithdrawnWithReason) isProposalOutcome_Slashed_XWithdrawnWithReason() { -} - -func (m *ProposalOutcome_Slashed) GetXWithdrawnWithReason() isProposalOutcome_Slashed_XWithdrawnWithReason { +func (m *ProposalOutcome_Slashed) GetWithdrawn() *ProposalOutcome_Withdrawn { if m != nil { - return m.XWithdrawnWithReason + return m.Withdrawn } return nil } -func (m *ProposalOutcome_Slashed) GetWithdrawnWithReason() string { - if x, ok := m.GetXWithdrawnWithReason().(*ProposalOutcome_Slashed_WithdrawnWithReason); ok { - return x.WithdrawnWithReason - } - return "" -} - -// XXX_OneofWrappers is for the internal use of the proto package. -func (*ProposalOutcome_Slashed) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*ProposalOutcome_Slashed_WithdrawnWithReason)(nil), - } -} - // A tally of votes on a proposal. type Tally struct { // The number of votes in favor of the proposal. @@ -1473,6 +1462,7 @@ type Proposal struct { Emergency *Proposal_Emergency `protobuf:"bytes,6,opt,name=emergency,proto3" json:"emergency,omitempty"` ParameterChange *Proposal_ParameterChange `protobuf:"bytes,7,opt,name=parameter_change,json=parameterChange,proto3" json:"parameter_change,omitempty"` DaoSpend *Proposal_DaoSpend `protobuf:"bytes,8,opt,name=dao_spend,json=daoSpend,proto3" json:"dao_spend,omitempty"` + UpgradePlan *Proposal_UpgradePlan `protobuf:"bytes,9,opt,name=upgrade_plan,json=upgradePlan,proto3" json:"upgrade_plan,omitempty"` } func (m *Proposal) Reset() { *m = Proposal{} } @@ -1557,15 +1547,20 @@ func (m *Proposal) GetDaoSpend() *Proposal_DaoSpend { return nil } +func (m *Proposal) GetUpgradePlan() *Proposal_UpgradePlan { + if m != nil { + return m.UpgradePlan + } + return nil +} + // A signaling proposal is meant to register a vote on-chain, but does not have an automatic // effect when passed. // // It optionally contains a reference to a commit which contains code to upgrade the chain. type Proposal_Signaling struct { - // Types that are valid to be assigned to XCommit: - // - // *Proposal_Signaling_Commit - XCommit isProposal_Signaling_XCommit `protobuf_oneof:"_commit"` + // The commit to be voted upon, if any is relevant. + Commit string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"` } func (m *Proposal_Signaling) Reset() { *m = Proposal_Signaling{} } @@ -1601,39 +1596,13 @@ func (m *Proposal_Signaling) XXX_DiscardUnknown() { var xxx_messageInfo_Proposal_Signaling proto.InternalMessageInfo -type isProposal_Signaling_XCommit interface { - isProposal_Signaling_XCommit() - MarshalTo([]byte) (int, error) - Size() int -} - -type Proposal_Signaling_Commit struct { - Commit string `protobuf:"bytes,1,opt,name=commit,proto3,oneof" json:"commit,omitempty"` -} - -func (*Proposal_Signaling_Commit) isProposal_Signaling_XCommit() {} - -func (m *Proposal_Signaling) GetXCommit() isProposal_Signaling_XCommit { - if m != nil { - return m.XCommit - } - return nil -} - func (m *Proposal_Signaling) GetCommit() string { - if x, ok := m.GetXCommit().(*Proposal_Signaling_Commit); ok { - return x.Commit + if m != nil { + return m.Commit } return "" } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*Proposal_Signaling) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*Proposal_Signaling_Commit)(nil), - } -} - // An emergency proposal can be passed instantaneously by a 2/3 majority of validators, without // waiting for the voting period to expire. // @@ -1793,6 +1762,52 @@ func (m *Proposal_DaoSpend) GetTransactionPlan() *types.Any { return nil } +// An upgrade plan describes a candidate upgrade to be executed at a certain height. If passed, the chain +// will halt at the specified height. +type Proposal_UpgradePlan struct { + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` +} + +func (m *Proposal_UpgradePlan) Reset() { *m = Proposal_UpgradePlan{} } +func (m *Proposal_UpgradePlan) String() string { return proto.CompactTextString(m) } +func (*Proposal_UpgradePlan) ProtoMessage() {} +func (*Proposal_UpgradePlan) Descriptor() ([]byte, []int) { + return fileDescriptor_1bc89f5bf0aed114, []int{15, 4} +} +func (m *Proposal_UpgradePlan) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Proposal_UpgradePlan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Proposal_UpgradePlan.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Proposal_UpgradePlan) XXX_Merge(src proto.Message) { + xxx_messageInfo_Proposal_UpgradePlan.Merge(m, src) +} +func (m *Proposal_UpgradePlan) XXX_Size() int { + return m.Size() +} +func (m *Proposal_UpgradePlan) XXX_DiscardUnknown() { + xxx_messageInfo_Proposal_UpgradePlan.DiscardUnknown(m) +} + +var xxx_messageInfo_Proposal_UpgradePlan proto.InternalMessageInfo + +func (m *Proposal_UpgradePlan) GetHeight() uint64 { + if m != nil { + return m.Height + } + return 0 +} + func init() { proto.RegisterEnum("penumbra.core.governance.v1alpha1.Vote_Vote", Vote_Vote_name, Vote_Vote_value) proto.RegisterType((*ProposalSubmit)(nil), "penumbra.core.governance.v1alpha1.ProposalSubmit") @@ -1813,6 +1828,7 @@ func init() { proto.RegisterType((*ProposalState_Finished)(nil), "penumbra.core.governance.v1alpha1.ProposalState.Finished") proto.RegisterType((*ProposalState_Claimed)(nil), "penumbra.core.governance.v1alpha1.ProposalState.Claimed") proto.RegisterType((*ProposalOutcome)(nil), "penumbra.core.governance.v1alpha1.ProposalOutcome") + proto.RegisterType((*ProposalOutcome_Withdrawn)(nil), "penumbra.core.governance.v1alpha1.ProposalOutcome.Withdrawn") proto.RegisterType((*ProposalOutcome_Passed)(nil), "penumbra.core.governance.v1alpha1.ProposalOutcome.Passed") proto.RegisterType((*ProposalOutcome_Failed)(nil), "penumbra.core.governance.v1alpha1.ProposalOutcome.Failed") proto.RegisterType((*ProposalOutcome_Slashed)(nil), "penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed") @@ -1822,6 +1838,7 @@ func init() { proto.RegisterType((*Proposal_Emergency)(nil), "penumbra.core.governance.v1alpha1.Proposal.Emergency") proto.RegisterType((*Proposal_ParameterChange)(nil), "penumbra.core.governance.v1alpha1.Proposal.ParameterChange") proto.RegisterType((*Proposal_DaoSpend)(nil), "penumbra.core.governance.v1alpha1.Proposal.DaoSpend") + proto.RegisterType((*Proposal_UpgradePlan)(nil), "penumbra.core.governance.v1alpha1.Proposal.UpgradePlan") } func init() { @@ -1829,104 +1846,105 @@ func init() { } var fileDescriptor_1bc89f5bf0aed114 = []byte{ - // 1546 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x5d, 0x6f, 0x1b, 0x45, - 0x17, 0xf6, 0x3a, 0x8e, 0x3f, 0x4e, 0x12, 0xc7, 0x9d, 0x37, 0x6f, 0xe5, 0xd7, 0x2f, 0x44, 0xa9, - 0xdb, 0x42, 0x54, 0xa8, 0x4d, 0x53, 0x50, 0xa9, 0x7b, 0x41, 0x63, 0xe7, 0x53, 0x6d, 0x13, 0x77, - 0x1d, 0x52, 0x28, 0x91, 0x96, 0xb1, 0x77, 0x62, 0xaf, 0xb2, 0x9e, 0xb1, 0x76, 0xc7, 0x89, 0xcc, - 0x2f, 0x80, 0xbb, 0x4a, 0xfc, 0x03, 0x24, 0x84, 0xc4, 0x7f, 0xe0, 0x1e, 0x21, 0x01, 0xbd, 0x2c, - 0x77, 0x28, 0xb9, 0xe3, 0x92, 0x5f, 0x80, 0x66, 0x76, 0xf6, 0x23, 0x1f, 0xd4, 0x75, 0x42, 0xc5, - 0xdd, 0x9c, 0xe3, 0xf3, 0x3c, 0xe7, 0x63, 0xce, 0xcc, 0x1c, 0x2f, 0x2c, 0xf4, 0x08, 0xed, 0x77, - 0x9b, 0x0e, 0x2e, 0xb7, 0x98, 0x43, 0xca, 0x6d, 0xb6, 0x4f, 0x1c, 0x8a, 0x69, 0x8b, 0x94, 0xf7, - 0x6f, 0x61, 0xbb, 0xd7, 0xc1, 0xb7, 0x22, 0xba, 0x52, 0xcf, 0x61, 0x9c, 0xa1, 0x2b, 0x3e, 0xa6, - 0x24, 0x30, 0xa5, 0xc8, 0xef, 0x3e, 0xa6, 0xf0, 0xbf, 0x36, 0x63, 0x6d, 0x9b, 0x94, 0x25, 0xa0, - 0xd9, 0xdf, 0x2d, 0x63, 0x3a, 0xf0, 0xd0, 0x85, 0x1b, 0xc7, 0x3d, 0xb6, 0x9c, 0x41, 0x8f, 0xb3, - 0xd0, 0x9b, 0x27, 0x2b, 0xdb, 0xf9, 0x13, 0xb6, 0x1d, 0x6c, 0xd1, 0x88, 0xa9, 0x10, 0x3d, 0xcb, - 0xe2, 0x77, 0x1a, 0x64, 0xeb, 0x0e, 0xeb, 0x31, 0x17, 0xdb, 0x8d, 0x7e, 0xb3, 0x6b, 0x71, 0xb4, - 0x0a, 0xe9, 0x9e, 0xd2, 0xe4, 0xb5, 0x39, 0x6d, 0x7e, 0x62, 0xe1, 0x9d, 0xd2, 0xd0, 0xc8, 0x4b, - 0x3e, 0x89, 0x1e, 0x80, 0xd1, 0x43, 0xc8, 0x9a, 0xa4, 0xc7, 0x5c, 0x8b, 0x1b, 0xb8, 0xcb, 0xfa, - 0x94, 0xe7, 0xc7, 0x24, 0xdd, 0xf5, 0x13, 0x74, 0x2a, 0xf4, 0x80, 0x6a, 0x51, 0x1a, 0xeb, 0x53, - 0x0a, 0xec, 0x89, 0xc5, 0x15, 0xc8, 0xf9, 0x3e, 0x9e, 0x58, 0xbc, 0x63, 0x3a, 0xf8, 0x00, 0x15, - 0x4e, 0x84, 0x9a, 0x88, 0x78, 0xbf, 0x0c, 0x49, 0x87, 0x60, 0x97, 0xd1, 0x7c, 0x7c, 0x4e, 0x9b, - 0xcf, 0xe8, 0x4a, 0x2a, 0xfe, 0xa2, 0xc1, 0x8c, 0x4f, 0xb4, 0xe4, 0x79, 0xa8, 0xd9, 0xd8, 0xea, - 0xbe, 0x94, 0xec, 0x74, 0x2a, 0xf1, 0xf3, 0xa7, 0x82, 0x1e, 0x42, 0x8a, 0xf5, 0x79, 0x8b, 0x75, - 0x89, 0xaa, 0xc8, 0xc2, 0x08, 0x05, 0xde, 0xf4, 0x90, 0xba, 0x4f, 0x21, 0xb6, 0x70, 0x6a, 0x1b, - 0xdb, 0x96, 0x89, 0x39, 0x73, 0xb6, 0x19, 0x27, 0x68, 0x0d, 0x12, 0x4d, 0x66, 0x0e, 0xd4, 0xee, - 0xbd, 0xff, 0x0a, 0xe4, 0xc7, 0xf0, 0x55, 0x66, 0x0e, 0x74, 0xc9, 0x80, 0x1e, 0x42, 0x1a, 0xf7, - 0x79, 0xc7, 0x70, 0xad, 0xb6, 0xca, 0xf8, 0xd6, 0x90, 0x8c, 0x1b, 0x3d, 0x42, 0xcd, 0xc5, 0x3e, - 0xef, 0x34, 0xac, 0x36, 0xc5, 0xbc, 0xef, 0x10, 0x3d, 0x85, 0x3d, 0xb1, 0xf8, 0x2c, 0x0e, 0x97, - 0x4e, 0x79, 0x7a, 0x69, 0xdd, 0xef, 0x41, 0x62, 0x9f, 0x71, 0xa2, 0x7c, 0xbf, 0xfd, 0x2a, 0x99, - 0x30, 0x4e, 0x74, 0x09, 0x42, 0x8f, 0x60, 0xd2, 0x32, 0x09, 0xe5, 0x16, 0x1f, 0x18, 0x7b, 0x64, - 0xa0, 0x6a, 0x7d, 0x63, 0x48, 0x02, 0xeb, 0x0a, 0xf2, 0x80, 0x0c, 0xf4, 0x09, 0x2b, 0x14, 0x50, - 0x03, 0xb2, 0xa1, 0x43, 0x49, 0x98, 0x90, 0x84, 0xef, 0x0e, 0x21, 0x5c, 0x0d, 0x40, 0x82, 0x72, - 0xaa, 0x1d, 0x15, 0x8b, 0x7f, 0x6a, 0x30, 0xb5, 0x44, 0x6c, 0xd2, 0xbe, 0xc0, 0xe6, 0x1d, 0xc3, - 0xbf, 0xae, 0xcd, 0x43, 0xeb, 0x30, 0xde, 0x73, 0x18, 0xdb, 0x55, 0x65, 0xbc, 0x3d, 0x84, 0xea, - 0xe9, 0x83, 0x63, 0x61, 0xd5, 0x05, 0x54, 0xf7, 0x18, 0x8a, 0x3f, 0xc7, 0xe1, 0xd2, 0xa9, 0xa0, - 0x5f, 0xda, 0x07, 0xd7, 0x21, 0xeb, 0x72, 0xec, 0x70, 0x43, 0x1e, 0x23, 0x4b, 0x1d, 0xea, 0x84, - 0x3e, 0x25, 0xb5, 0x75, 0xa5, 0x0c, 0xda, 0x65, 0xec, 0x3c, 0xed, 0x52, 0x81, 0xf1, 0x7d, 0x6c, - 0xf7, 0x89, 0xda, 0xd6, 0x6b, 0x43, 0x12, 0xdc, 0x16, 0xb6, 0xba, 0x07, 0x41, 0x1b, 0x30, 0xdd, - 0xa7, 0x4d, 0x46, 0x4d, 0x62, 0xfa, 0x17, 0xc4, 0xf8, 0x28, 0x17, 0x44, 0xd6, 0x47, 0xab, 0x1b, - 0xe2, 0x0d, 0xc8, 0xd0, 0xbe, 0x6d, 0x5b, 0xbb, 0x16, 0x71, 0xf2, 0xc9, 0x39, 0x6d, 0x7e, 0x52, - 0x0f, 0x15, 0x28, 0x0b, 0x71, 0x67, 0x2f, 0x9f, 0x92, 0xea, 0xb8, 0xb3, 0x57, 0xfc, 0x75, 0xec, - 0x44, 0x3d, 0xeb, 0x36, 0xa6, 0xff, 0x7a, 0x3d, 0x97, 0x60, 0xc2, 0xe5, 0x78, 0x8f, 0x98, 0x06, - 0x15, 0x1c, 0x5e, 0x55, 0xaf, 0x0e, 0xa9, 0xc7, 0x86, 0xc0, 0x83, 0x87, 0x13, 0x6b, 0xf4, 0x1e, - 0xcc, 0x44, 0x58, 0xc2, 0x78, 0xc7, 0x65, 0xbc, 0x28, 0xb4, 0x0c, 0x82, 0x3e, 0x63, 0x2f, 0x92, - 0x17, 0xd9, 0x8b, 0x59, 0x00, 0x07, 0x53, 0x93, 0x75, 0xad, 0x2f, 0x88, 0xa3, 0xaa, 0x1e, 0xd1, - 0xa0, 0x79, 0xc8, 0xc9, 0xb6, 0x36, 0x9a, 0xb6, 0x45, 0x4d, 0x8b, 0xb6, 0x0d, 0x27, 0x9f, 0x96, - 0x56, 0x59, 0xa9, 0xaf, 0x2a, 0xb5, 0x7e, 0x86, 0xa5, 0x9b, 0xcf, 0x9c, 0x61, 0xd9, 0x28, 0xae, - 0x01, 0x2c, 0x61, 0xa6, 0x9e, 0xa7, 0xb0, 0x33, 0xb5, 0x91, 0x3b, 0xb3, 0xb8, 0x02, 0xe9, 0x25, - 0xcc, 0xe4, 0xc1, 0xbe, 0x10, 0xcf, 0x57, 0x1a, 0x64, 0x96, 0x30, 0xdb, 0xec, 0xf3, 0x5e, 0xff, - 0x42, 0x11, 0xa1, 0xfb, 0x90, 0xc2, 0xa6, 0xe9, 0x10, 0xd7, 0x55, 0xb7, 0xd2, 0x5b, 0xc3, 0xf6, - 0xc5, 0xb3, 0xd6, 0x7d, 0x58, 0xf1, 0x6b, 0x0d, 0x12, 0xf2, 0xae, 0xbc, 0xaf, 0xfa, 0x53, 0x44, - 0x91, 0x3d, 0x75, 0x11, 0xff, 0x5d, 0x7f, 0x46, 0x9a, 0xb4, 0xb8, 0xae, 0x98, 0x66, 0x20, 0xb7, - 0xbd, 0xb9, 0xb5, 0x6c, 0x7c, 0xbc, 0xd1, 0xa8, 0x2f, 0xd7, 0xd6, 0x57, 0xd6, 0x97, 0x97, 0x72, - 0x31, 0x94, 0x83, 0x49, 0xa9, 0x5d, 0xac, 0x36, 0xb6, 0x16, 0xd7, 0x37, 0x72, 0x1a, 0x9a, 0x84, - 0xb4, 0xd4, 0x7c, 0xba, 0xdc, 0xc8, 0xc5, 0xd1, 0x04, 0xa4, 0xa4, 0xb4, 0xb1, 0x99, 0x1b, 0x2b, - 0xbe, 0x48, 0xc0, 0x54, 0x30, 0x4a, 0x71, 0xcc, 0x09, 0x7a, 0x0c, 0xc9, 0x7d, 0xc6, 0x2d, 0xea, - 0x5f, 0xbf, 0x77, 0x46, 0x78, 0xe6, 0x25, 0x83, 0x88, 0xd4, 0xa2, 0xed, 0xb5, 0x98, 0xae, 0x88, - 0xd0, 0x53, 0xc8, 0x1c, 0xa8, 0xe9, 0x87, 0xaa, 0x63, 0x59, 0x19, 0x99, 0xd5, 0x9f, 0x9f, 0xe8, - 0x5a, 0x4c, 0x0f, 0xe9, 0xd0, 0x13, 0x48, 0xef, 0x5a, 0xd4, 0x72, 0x3b, 0xc4, 0x54, 0xa7, 0xf5, - 0xee, 0xc8, 0xd4, 0x2b, 0x8a, 0x60, 0x2d, 0xa6, 0x07, 0x64, 0x68, 0x0b, 0x52, 0x2d, 0x31, 0x62, - 0x11, 0x53, 0xdd, 0x8a, 0x1f, 0x8e, 0xcc, 0x5b, 0xf3, 0xf0, 0x6b, 0x31, 0xdd, 0xa7, 0x2a, 0xa4, - 0x21, 0xe9, 0x95, 0xa7, 0x70, 0x15, 0x32, 0x41, 0x4a, 0x91, 0xb9, 0x4f, 0x8b, 0xce, 0x7d, 0x85, - 0x4f, 0x20, 0xed, 0x07, 0x17, 0x1d, 0xc0, 0xb4, 0x0b, 0x0f, 0x60, 0x85, 0x27, 0x90, 0x52, 0xe1, - 0xfd, 0xb3, 0xc4, 0xd5, 0x14, 0x8c, 0xbb, 0x22, 0xfb, 0xe2, 0xd1, 0x18, 0x4c, 0x9f, 0xb0, 0x42, - 0x0d, 0x48, 0xf6, 0xb0, 0xeb, 0x12, 0x53, 0x79, 0xba, 0x3b, 0xba, 0xa7, 0x52, 0x5d, 0x12, 0x88, - 0xf6, 0xf2, 0xa8, 0x04, 0xe9, 0x2e, 0xb6, 0x6c, 0x62, 0xaa, 0x8e, 0x3d, 0x0f, 0xe9, 0x8a, 0x24, - 0x10, 0xa4, 0x1e, 0x15, 0xda, 0x86, 0x94, 0x6b, 0x63, 0xd9, 0x56, 0xa3, 0x77, 0xac, 0xcf, 0xda, - 0xf0, 0x18, 0x44, 0x03, 0x28, 0x32, 0xd1, 0x00, 0x5e, 0x02, 0x85, 0xcf, 0x20, 0xe9, 0x79, 0x45, - 0x77, 0xe0, 0xbf, 0x41, 0x43, 0x1b, 0x62, 0x65, 0x44, 0x9b, 0x61, 0x2d, 0xa6, 0xff, 0x27, 0xf8, - 0x59, 0xb4, 0x8c, 0x2e, 0x7f, 0xfc, 0x52, 0xd3, 0xaa, 0x79, 0xb8, 0x6c, 0x9c, 0x89, 0x2c, 0xec, - 0x40, 0x4a, 0x39, 0x7f, 0x0d, 0xec, 0xd5, 0x4c, 0xd0, 0x31, 0xc5, 0x1a, 0x8c, 0x6f, 0x61, 0xdb, - 0x1e, 0xa0, 0x1c, 0x8c, 0x0d, 0x88, 0xab, 0x1e, 0x6d, 0xb1, 0x14, 0x2f, 0x3e, 0x65, 0xea, 0x8d, - 0x8e, 0x53, 0x86, 0xf2, 0x90, 0xc2, 0x4d, 0x97, 0x63, 0xcb, 0xbb, 0x04, 0x12, 0xba, 0x2f, 0x16, - 0xbf, 0x4d, 0x42, 0xda, 0xaf, 0x9d, 0x80, 0x59, 0xde, 0x59, 0x4e, 0xe8, 0x71, 0xcb, 0x44, 0x33, - 0x30, 0xce, 0x2d, 0x6e, 0x13, 0x75, 0x34, 0x3c, 0x01, 0xcd, 0xc1, 0x84, 0x49, 0xdc, 0x96, 0x63, - 0xf5, 0x82, 0x49, 0x20, 0xa3, 0x47, 0x55, 0xa8, 0x01, 0x19, 0x57, 0x4c, 0x84, 0xb6, 0xb8, 0xcb, - 0xbc, 0x23, 0xfc, 0xc1, 0x08, 0x7b, 0x58, 0x6a, 0xf8, 0x60, 0x3d, 0xe4, 0x11, 0xa4, 0xa4, 0x4b, - 0x9c, 0x36, 0xa1, 0xad, 0x81, 0x7a, 0xa1, 0x47, 0x22, 0x5d, 0xf6, 0xc1, 0x7a, 0xc8, 0x83, 0x76, - 0x21, 0xd7, 0xc3, 0x0e, 0xee, 0x12, 0x4e, 0x1c, 0xa3, 0xd5, 0xc1, 0xb4, 0x4d, 0xe4, 0x93, 0x3d, - 0xb1, 0x70, 0x6f, 0x14, 0xee, 0xba, 0xcf, 0x51, 0x93, 0x14, 0xfa, 0x74, 0xef, 0xb8, 0x02, 0x3d, - 0x86, 0x8c, 0x89, 0x99, 0xe1, 0x8a, 0x77, 0x55, 0xbe, 0xf6, 0xaf, 0x36, 0xaa, 0x07, 0x0e, 0xfc, - 0x37, 0x59, 0x4f, 0x9b, 0x6a, 0x55, 0xb8, 0x0d, 0x99, 0xa0, 0x4e, 0xe8, 0xff, 0x90, 0x6c, 0xb1, - 0x6e, 0xd7, 0xe2, 0x41, 0x6b, 0x29, 0x59, 0x74, 0x53, 0x06, 0x52, 0x86, 0x27, 0x15, 0x6e, 0x40, - 0x26, 0xa8, 0x03, 0x7a, 0x13, 0xa0, 0x83, 0x6d, 0x6e, 0xc8, 0x3f, 0xf8, 0x12, 0x98, 0xd6, 0x33, - 0x42, 0x53, 0x13, 0x8a, 0xc2, 0x0f, 0x1a, 0x4c, 0x9f, 0x48, 0x0c, 0x6d, 0x41, 0x96, 0xd9, 0xa6, - 0x11, 0xa4, 0xe7, 0xaa, 0xdb, 0xe4, 0xe6, 0xc9, 0x37, 0x59, 0x7e, 0x33, 0x08, 0xf2, 0x90, 0x84, - 0x01, 0x97, 0xab, 0x4f, 0x31, 0xdb, 0x0c, 0x45, 0xc1, 0x4a, 0xc9, 0x41, 0x94, 0x35, 0x7e, 0x2e, - 0x56, 0x4a, 0x0e, 0x42, 0xb1, 0xf0, 0x20, 0x32, 0xca, 0x7c, 0x04, 0x39, 0xee, 0x60, 0xea, 0xe2, - 0x96, 0x68, 0x50, 0xa3, 0x67, 0x63, 0xaa, 0x7c, 0xcc, 0x94, 0xbc, 0x6f, 0x28, 0x25, 0xff, 0x1b, - 0x4a, 0x69, 0x91, 0x0e, 0xf4, 0xe9, 0x88, 0xb5, 0x98, 0x8e, 0xab, 0xbf, 0xc5, 0x7f, 0x3c, 0x9c, - 0xd5, 0x9e, 0x1f, 0xce, 0x6a, 0xbf, 0x1f, 0xce, 0x6a, 0xcf, 0x8e, 0x66, 0x63, 0xcf, 0x8f, 0x66, - 0x63, 0x2f, 0x8e, 0x66, 0x63, 0x70, 0xbd, 0xc5, 0xba, 0xc3, 0xf7, 0xb2, 0x3a, 0x1d, 0xfe, 0xb1, - 0xab, 0x0b, 0x57, 0x75, 0xed, 0xe9, 0xe7, 0x6d, 0x8b, 0x77, 0xfa, 0xcd, 0x52, 0x8b, 0x75, 0xcb, - 0x2d, 0xe6, 0x76, 0x99, 0x5b, 0x76, 0x88, 0x8d, 0x07, 0xc4, 0x29, 0xef, 0x2f, 0x04, 0x4b, 0x99, - 0xb5, 0x5b, 0x1e, 0xfa, 0x05, 0xe9, 0x5e, 0xa8, 0xf3, 0x55, 0xdf, 0xc4, 0xc7, 0xea, 0xb5, 0xd5, - 0xef, 0xe3, 0x57, 0xea, 0x7e, 0x78, 0x35, 0x11, 0x5e, 0x18, 0x49, 0x69, 0x5b, 0x59, 0xfe, 0x14, - 0xda, 0xec, 0x08, 0x9b, 0x9d, 0xd0, 0x66, 0xc7, 0xb7, 0x39, 0x8c, 0xdf, 0x1c, 0x6a, 0xb3, 0xb3, - 0x5a, 0xaf, 0x3e, 0x22, 0x1c, 0x9b, 0x98, 0xe3, 0x3f, 0xe2, 0xd7, 0x7c, 0xfb, 0x4a, 0x45, 0x00, - 0x2a, 0x95, 0x10, 0x51, 0xa9, 0xf8, 0x90, 0x66, 0x52, 0x96, 0xfe, 0xf6, 0x5f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x07, 0xf0, 0xab, 0xae, 0x25, 0x13, 0x00, 0x00, + // 1565 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x4b, 0x6f, 0x1b, 0xc9, + 0x11, 0xe6, 0x50, 0x14, 0x1f, 0x45, 0x89, 0xa2, 0x1b, 0x42, 0xc0, 0x10, 0x89, 0x20, 0xd3, 0x56, + 0x22, 0x38, 0x31, 0x19, 0xcb, 0x09, 0x12, 0xd3, 0x01, 0x62, 0x91, 0x7a, 0xc2, 0xb6, 0x44, 0x0f, + 0x65, 0x39, 0x11, 0x04, 0x30, 0x4d, 0x4e, 0x8b, 0x1c, 0x68, 0xd8, 0x3d, 0x98, 0xe9, 0x91, 0xc0, + 0xfc, 0x83, 0xdc, 0x0c, 0xe4, 0x12, 0xe4, 0x98, 0xcb, 0x02, 0xfb, 0x1f, 0xf6, 0xbe, 0x58, 0x60, + 0x77, 0x7d, 0xf4, 0xde, 0x16, 0xf2, 0x6d, 0x8f, 0xfb, 0x0b, 0x16, 0xdd, 0xd3, 0xf3, 0x90, 0xe4, + 0x35, 0x45, 0x69, 0x8d, 0xbd, 0xb1, 0x4a, 0xf5, 0x7d, 0x55, 0x5d, 0x8f, 0xee, 0xd2, 0xc0, 0x8a, + 0x4d, 0xa8, 0x37, 0xec, 0x3a, 0xb8, 0xd6, 0x63, 0x0e, 0xa9, 0xf5, 0xd9, 0x09, 0x71, 0x28, 0xa6, + 0x3d, 0x52, 0x3b, 0x79, 0x80, 0x2d, 0x7b, 0x80, 0x1f, 0xc4, 0x74, 0x55, 0xdb, 0x61, 0x9c, 0xa1, + 0xdb, 0x01, 0xa6, 0x2a, 0x30, 0xd5, 0xd8, 0xdf, 0x03, 0x4c, 0xf9, 0x97, 0x7d, 0xc6, 0xfa, 0x16, + 0xa9, 0x49, 0x40, 0xd7, 0x3b, 0xaa, 0x61, 0x3a, 0xf2, 0xd1, 0xe5, 0x7b, 0xe7, 0x3d, 0xf6, 0x9c, + 0x91, 0xcd, 0x59, 0xe4, 0xcd, 0x97, 0x95, 0xed, 0xf2, 0x05, 0xdb, 0x01, 0x36, 0x69, 0xcc, 0x54, + 0x88, 0xbe, 0x65, 0xe5, 0x13, 0x0d, 0x0a, 0x2d, 0x87, 0xd9, 0xcc, 0xc5, 0x56, 0xdb, 0xeb, 0x0e, + 0x4d, 0x8e, 0x36, 0x21, 0x6b, 0x2b, 0x4d, 0x49, 0x5b, 0xd4, 0x96, 0xf3, 0x2b, 0xbf, 0xab, 0x8e, + 0x8d, 0xbc, 0x1a, 0x90, 0xe8, 0x21, 0x18, 0x3d, 0x83, 0x82, 0x41, 0x6c, 0xe6, 0x9a, 0xbc, 0x83, + 0x87, 0xcc, 0xa3, 0xbc, 0x34, 0x25, 0xe9, 0x96, 0x2e, 0xd0, 0xa9, 0xd0, 0x43, 0xaa, 0x55, 0x69, + 0xac, 0xcf, 0x2a, 0xb0, 0x2f, 0x56, 0x36, 0xa0, 0x18, 0xf8, 0x78, 0x65, 0xf2, 0x81, 0xe1, 0xe0, + 0x53, 0x54, 0xbe, 0x10, 0x6a, 0x2a, 0xe6, 0xfd, 0x17, 0x90, 0x76, 0x08, 0x76, 0x19, 0x2d, 0x25, + 0x17, 0xb5, 0xe5, 0x9c, 0xae, 0xa4, 0xca, 0x57, 0x1a, 0xcc, 0x07, 0x44, 0x6b, 0xbe, 0x87, 0xa6, + 0x85, 0xcd, 0xe1, 0x07, 0xc9, 0x2e, 0x1f, 0x25, 0x79, 0xfd, 0xa3, 0xa0, 0x67, 0x90, 0x61, 0x1e, + 0xef, 0xb1, 0x21, 0x51, 0x19, 0x59, 0x99, 0x20, 0xc1, 0xbb, 0x3e, 0x52, 0x0f, 0x28, 0x44, 0x09, + 0x67, 0xf7, 0xb1, 0x65, 0x1a, 0x98, 0x33, 0x67, 0x9f, 0x71, 0x82, 0xb6, 0x20, 0xd5, 0x65, 0xc6, + 0x48, 0x55, 0xef, 0x8f, 0x57, 0x20, 0x3f, 0x87, 0x6f, 0x30, 0x63, 0xa4, 0x4b, 0x06, 0xf4, 0x0c, + 0xb2, 0xd8, 0xe3, 0x83, 0x8e, 0x6b, 0xf6, 0xd5, 0x89, 0x1f, 0x8c, 0x39, 0x71, 0xdb, 0x26, 0xd4, + 0x58, 0xf5, 0xf8, 0xa0, 0x6d, 0xf6, 0x29, 0xe6, 0x9e, 0x43, 0xf4, 0x0c, 0xf6, 0xc5, 0xca, 0xeb, + 0x24, 0xdc, 0xba, 0xe4, 0xe9, 0x83, 0x79, 0x7f, 0x0c, 0xa9, 0x13, 0xc6, 0x89, 0xf2, 0xfd, 0xdb, + 0xab, 0x9c, 0x84, 0x71, 0xa2, 0x4b, 0x10, 0x7a, 0x0e, 0x33, 0xa6, 0x41, 0x28, 0x37, 0xf9, 0xa8, + 0x73, 0x4c, 0x46, 0x2a, 0xd7, 0xf7, 0xc6, 0x1c, 0x60, 0x5b, 0x41, 0x9e, 0x92, 0x91, 0x9e, 0x37, + 0x23, 0x01, 0xb5, 0xa1, 0x10, 0x39, 0x94, 0x84, 0x29, 0x49, 0xf8, 0xfb, 0x31, 0x84, 0x9b, 0x21, + 0x48, 0x50, 0xce, 0xf6, 0xe3, 0x62, 0xe5, 0x7b, 0x0d, 0x66, 0xd7, 0x88, 0x45, 0xfa, 0x37, 0x28, + 0xde, 0x39, 0xfc, 0xc7, 0x2a, 0x1e, 0xda, 0x86, 0x69, 0xdb, 0x61, 0xec, 0x48, 0xa5, 0xf1, 0xe1, + 0x18, 0xaa, 0x83, 0xa7, 0xe7, 0xc2, 0x6a, 0x09, 0xa8, 0xee, 0x33, 0x54, 0xbe, 0x4c, 0xc2, 0xad, + 0x4b, 0x41, 0x7f, 0xb0, 0x0f, 0x96, 0xa0, 0xe0, 0x72, 0xec, 0xf0, 0x8e, 0x1c, 0x23, 0x53, 0x0d, + 0x75, 0x4a, 0x9f, 0x95, 0xda, 0x96, 0x52, 0x86, 0xed, 0x32, 0x75, 0x9d, 0x76, 0xa9, 0xc3, 0xf4, + 0x09, 0xb6, 0x3c, 0xa2, 0xca, 0x7a, 0x77, 0xcc, 0x01, 0xf7, 0x85, 0xad, 0xee, 0x43, 0xd0, 0x0e, + 0xcc, 0x79, 0xb4, 0xcb, 0xa8, 0x41, 0x8c, 0xe0, 0x82, 0x98, 0x9e, 0xe4, 0x82, 0x28, 0x04, 0x68, + 0x75, 0x43, 0xfc, 0x0a, 0x72, 0xd4, 0xb3, 0x2c, 0xf3, 0xc8, 0x24, 0x4e, 0x29, 0xbd, 0xa8, 0x2d, + 0xcf, 0xe8, 0x91, 0x02, 0x15, 0x20, 0xe9, 0x1c, 0x97, 0x32, 0x52, 0x9d, 0x74, 0x8e, 0x2b, 0x5f, + 0x4f, 0x5d, 0xc8, 0x67, 0xcb, 0xc2, 0xf4, 0x67, 0xcf, 0xe7, 0x1a, 0xe4, 0x5d, 0x8e, 0x8f, 0x89, + 0xd1, 0xa1, 0x82, 0xc3, 0xcf, 0xea, 0x9d, 0x31, 0xf9, 0xd8, 0x11, 0x78, 0xf0, 0x71, 0xe2, 0x37, + 0xfa, 0x03, 0xcc, 0xc7, 0x58, 0xa2, 0x78, 0xa7, 0x65, 0xbc, 0x28, 0xb2, 0x0c, 0x83, 0x7e, 0x4f, + 0x2d, 0xd2, 0x37, 0xa9, 0xc5, 0x02, 0x80, 0x83, 0xa9, 0xc1, 0x86, 0xe6, 0xbf, 0x88, 0xa3, 0xb2, + 0x1e, 0xd3, 0xa0, 0x65, 0x28, 0xca, 0xb6, 0xee, 0x74, 0x2d, 0x93, 0x1a, 0x26, 0xed, 0x77, 0x9c, + 0x52, 0x56, 0x5a, 0x15, 0xa4, 0xbe, 0xa1, 0xd4, 0xfa, 0x7b, 0x2c, 0xdd, 0x52, 0xee, 0x3d, 0x96, + 0xed, 0xca, 0x16, 0xc0, 0x1a, 0x66, 0xea, 0x79, 0x8a, 0x3a, 0x53, 0x9b, 0xb8, 0x33, 0x2b, 0x1b, + 0x90, 0x5d, 0xc3, 0x4c, 0x0e, 0xf6, 0x8d, 0x78, 0xfe, 0xad, 0x41, 0x6e, 0x0d, 0xb3, 0x5d, 0x8f, + 0xdb, 0xde, 0x8d, 0x22, 0x42, 0x4f, 0x20, 0x83, 0x0d, 0xc3, 0x21, 0xae, 0xab, 0x6e, 0xa5, 0xdf, + 0x8c, 0xab, 0x8b, 0x6f, 0xad, 0x07, 0xb0, 0xca, 0x7f, 0x34, 0x48, 0xc9, 0xbb, 0xf2, 0x89, 0xea, + 0x4f, 0x11, 0x45, 0xe1, 0xd2, 0x45, 0xfc, 0x63, 0xfd, 0x19, 0x6b, 0xd2, 0xca, 0xb6, 0x62, 0x9a, + 0x87, 0xe2, 0xfe, 0xee, 0xde, 0x7a, 0xe7, 0xe5, 0x4e, 0xbb, 0xb5, 0xde, 0xdc, 0xde, 0xd8, 0x5e, + 0x5f, 0x2b, 0x26, 0x50, 0x11, 0x66, 0xa4, 0x76, 0xb5, 0xd1, 0xde, 0x5b, 0xdd, 0xde, 0x29, 0x6a, + 0x68, 0x06, 0xb2, 0x52, 0xf3, 0x8f, 0xf5, 0x76, 0x31, 0x89, 0xf2, 0x90, 0x91, 0xd2, 0xce, 0x6e, + 0x71, 0xaa, 0xf2, 0x36, 0x05, 0xb3, 0xe1, 0x2a, 0xc5, 0x31, 0x27, 0xe8, 0x05, 0xa4, 0x4f, 0x18, + 0x37, 0x69, 0x70, 0xfd, 0xfe, 0x79, 0x82, 0x67, 0x5e, 0x32, 0x88, 0x48, 0x4d, 0xda, 0xdf, 0x4a, + 0xe8, 0x8a, 0x08, 0x1d, 0x40, 0xee, 0x54, 0x6d, 0x3f, 0x54, 0x8d, 0x65, 0x7d, 0x62, 0xd6, 0x60, + 0x7f, 0xa2, 0x5b, 0x09, 0x3d, 0xa2, 0x43, 0xaf, 0x20, 0x7b, 0x64, 0x52, 0xd3, 0x1d, 0x10, 0x43, + 0x4d, 0xeb, 0xa3, 0x89, 0xa9, 0x37, 0x14, 0xc1, 0x56, 0x42, 0x0f, 0xc9, 0xd0, 0x1e, 0x64, 0x7a, + 0x62, 0xc5, 0x22, 0x86, 0xba, 0x15, 0xff, 0x32, 0x31, 0x6f, 0xd3, 0xc7, 0x6f, 0x25, 0xf4, 0x80, + 0xaa, 0x9c, 0x85, 0xb4, 0x9f, 0x9e, 0xf2, 0x1d, 0xc8, 0x85, 0x47, 0x8a, 0xed, 0x7d, 0x5a, 0x7c, + 0xef, 0x2b, 0xff, 0x1d, 0xb2, 0x41, 0x70, 0xf1, 0x05, 0x4c, 0xbb, 0xf1, 0x02, 0x56, 0x7e, 0x05, + 0x19, 0x15, 0xde, 0x4f, 0x4b, 0xdc, 0xc8, 0xc0, 0xb4, 0x2b, 0x4e, 0x5f, 0xf9, 0x5f, 0x0a, 0xe6, + 0x2e, 0x58, 0xa1, 0x36, 0xa4, 0x6d, 0xec, 0xba, 0xc4, 0x50, 0x9e, 0x1e, 0x4d, 0xee, 0xa9, 0xda, + 0x92, 0x04, 0xa2, 0xbd, 0x7c, 0x2a, 0x41, 0x7a, 0x84, 0x4d, 0x8b, 0x18, 0xaa, 0x63, 0xaf, 0x43, + 0xba, 0x21, 0x09, 0x04, 0xa9, 0x4f, 0x85, 0xf6, 0x21, 0xe3, 0x5a, 0x58, 0xb6, 0xd5, 0xe4, 0x1d, + 0x1b, 0xb0, 0xb6, 0x7d, 0x06, 0xd1, 0x00, 0x8a, 0xec, 0x6a, 0x65, 0xcf, 0x42, 0xda, 0x3f, 0x65, + 0xd9, 0x80, 0xb4, 0x1f, 0xda, 0xf9, 0x21, 0xf2, 0xb3, 0xf7, 0xd7, 0x6b, 0x84, 0x14, 0x3a, 0x8f, + 0x0d, 0x51, 0x99, 0x40, 0x46, 0x85, 0xfa, 0x31, 0xdd, 0x34, 0x72, 0x61, 0xa3, 0x55, 0x9a, 0x30, + 0xbd, 0x87, 0x2d, 0x6b, 0x84, 0x8a, 0x30, 0x35, 0x22, 0xae, 0x7a, 0xeb, 0xc5, 0x4f, 0xb1, 0x28, + 0x50, 0xa6, 0x9e, 0xf6, 0x24, 0x65, 0xa8, 0x04, 0x19, 0xdc, 0x75, 0x39, 0x36, 0xfd, 0xbb, 0x23, + 0xa5, 0x07, 0x62, 0xe5, 0xbf, 0x19, 0xc8, 0x06, 0x8e, 0x05, 0xcc, 0xf4, 0xaf, 0x80, 0x94, 0x9e, + 0x34, 0x0d, 0x34, 0x0f, 0xd3, 0xdc, 0xe4, 0x16, 0x51, 0xa9, 0xf5, 0x05, 0xb4, 0x08, 0x79, 0x83, + 0xb8, 0x3d, 0xc7, 0xb4, 0xc3, 0x05, 0x22, 0xa7, 0xc7, 0x55, 0xa8, 0x0d, 0x39, 0x57, 0x2c, 0x92, + 0x96, 0xb8, 0x02, 0xfd, 0xc9, 0xff, 0xd3, 0x04, 0x09, 0xa8, 0xb6, 0x03, 0xb0, 0x1e, 0xf1, 0x08, + 0x52, 0x32, 0x24, 0x4e, 0x9f, 0xd0, 0xde, 0x48, 0x3d, 0xec, 0x13, 0x91, 0xae, 0x07, 0x60, 0x3d, + 0xe2, 0x41, 0x47, 0x50, 0xb4, 0xb1, 0x83, 0x87, 0x84, 0x13, 0xa7, 0xd3, 0x1b, 0x60, 0xda, 0x27, + 0xf2, 0xa5, 0xcf, 0xaf, 0x3c, 0x9e, 0x84, 0xbb, 0x15, 0x70, 0x34, 0x25, 0x85, 0x3e, 0x67, 0x9f, + 0x57, 0xa0, 0x17, 0x90, 0x33, 0x30, 0xeb, 0xb8, 0xe2, 0x39, 0x96, 0x4b, 0xc2, 0xd5, 0x36, 0xfc, + 0xd0, 0x41, 0xf0, 0x94, 0xeb, 0x59, 0x23, 0x78, 0xd4, 0x0f, 0x60, 0xc6, 0xb3, 0xfb, 0x0e, 0x36, + 0x48, 0xc7, 0xb6, 0x30, 0x95, 0x0b, 0xc5, 0x64, 0x4f, 0x4d, 0xf5, 0xa5, 0x8f, 0x17, 0x5b, 0xa3, + 0x9e, 0xf7, 0x22, 0x41, 0x4c, 0x58, 0x58, 0x03, 0x31, 0x61, 0x3d, 0x36, 0x1c, 0x9a, 0x3c, 0x98, + 0x30, 0x5f, 0x2a, 0xdf, 0x83, 0x5c, 0x98, 0x53, 0xf4, 0x6b, 0x80, 0x01, 0xb6, 0x78, 0x47, 0x7e, + 0x63, 0x90, 0x86, 0x59, 0x3d, 0x27, 0x34, 0x4d, 0xa1, 0x28, 0x7f, 0xa6, 0xc1, 0xdc, 0x85, 0x24, + 0xa1, 0x3d, 0x28, 0x30, 0xcb, 0xe8, 0x84, 0xa9, 0x72, 0xd5, 0xac, 0xdc, 0xbf, 0xb8, 0x16, 0xc8, + 0xcf, 0x16, 0x61, 0xf4, 0x92, 0x30, 0xe4, 0x72, 0xf5, 0x59, 0x66, 0x19, 0x91, 0x28, 0x58, 0x29, + 0x39, 0x8d, 0xb3, 0x26, 0xaf, 0xc5, 0x4a, 0xc9, 0x69, 0x24, 0x96, 0x9f, 0xc6, 0xb6, 0xa9, 0xbf, + 0x41, 0x91, 0x3b, 0x98, 0xba, 0xb8, 0x27, 0x9a, 0xdd, 0x4f, 0xbe, 0xef, 0x63, 0xbe, 0xea, 0x7f, + 0xc6, 0xa9, 0x06, 0x9f, 0x71, 0xaa, 0xab, 0x74, 0xa4, 0xcf, 0xc5, 0xac, 0x65, 0x76, 0x97, 0x20, + 0x1f, 0xcb, 0xbc, 0xc8, 0xef, 0x80, 0x98, 0xfd, 0x01, 0x57, 0x13, 0xac, 0xa4, 0xc6, 0x37, 0xc9, + 0xcf, 0xcf, 0x16, 0xb4, 0x37, 0x67, 0x0b, 0xda, 0xb7, 0x67, 0x0b, 0xda, 0xeb, 0x77, 0x0b, 0x89, + 0x37, 0xef, 0x16, 0x12, 0x6f, 0xdf, 0x2d, 0x24, 0x60, 0xa9, 0xc7, 0x86, 0xe3, 0x0b, 0xdd, 0x98, + 0x8b, 0xfe, 0x05, 0x6d, 0x89, 0x88, 0x5a, 0xda, 0xc1, 0x3f, 0xfb, 0x26, 0x1f, 0x78, 0xdd, 0x6a, + 0x8f, 0x0d, 0x6b, 0x3d, 0xe6, 0x0e, 0x99, 0x5b, 0x73, 0x88, 0x85, 0x47, 0xc4, 0xa9, 0x9d, 0xac, + 0x84, 0x3f, 0x65, 0x72, 0xdc, 0xda, 0xd8, 0x6f, 0x5d, 0x8f, 0x23, 0x5d, 0xa0, 0xfa, 0x7f, 0x72, + 0xaa, 0xd5, 0xdc, 0xfc, 0x34, 0x79, 0xbb, 0x15, 0x84, 0xd7, 0x14, 0xe1, 0x45, 0x91, 0x54, 0xf7, + 0x95, 0xe5, 0x17, 0x91, 0xcd, 0xa1, 0xb0, 0x39, 0x8c, 0x6c, 0x0e, 0x03, 0x9b, 0xb3, 0xe4, 0xfd, + 0xb1, 0x36, 0x87, 0x9b, 0xad, 0xc6, 0x73, 0xc2, 0xb1, 0x81, 0x39, 0xfe, 0x2e, 0x79, 0x37, 0xb0, + 0xaf, 0xd7, 0x05, 0xa0, 0x5e, 0x8f, 0x10, 0xf5, 0x7a, 0x00, 0xe9, 0xa6, 0x65, 0x85, 0x1e, 0xfe, + 0x10, 0x00, 0x00, 0xff, 0xff, 0x54, 0x07, 0x1f, 0x34, 0xcf, 0x13, 0x00, 0x00, } func (m *ProposalSubmit) Marshal() (dAtA []byte, err error) { @@ -2890,6 +2908,36 @@ func (m *ProposalOutcome_Slashed_) MarshalToSizedBuffer(dAtA []byte) (int, error } return len(dAtA) - i, nil } +func (m *ProposalOutcome_Withdrawn) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProposalOutcome_Withdrawn) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProposalOutcome_Withdrawn) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarintGovernance(dAtA, i, uint64(len(m.Reason))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ProposalOutcome_Passed) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2933,32 +2981,21 @@ func (m *ProposalOutcome_Failed) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XWithdrawnWithReason != nil { + if m.Withdrawn != nil { { - size := m.XWithdrawnWithReason.Size() - i -= size - if _, err := m.XWithdrawnWithReason.MarshalTo(dAtA[i:]); err != nil { + size, err := m.Withdrawn.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintGovernance(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ProposalOutcome_Failed_WithdrawnWithReason) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ProposalOutcome_Failed_WithdrawnWithReason) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.WithdrawnWithReason) - copy(dAtA[i:], m.WithdrawnWithReason) - i = encodeVarintGovernance(dAtA, i, uint64(len(m.WithdrawnWithReason))) - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} func (m *ProposalOutcome_Slashed) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2979,32 +3016,21 @@ func (m *ProposalOutcome_Slashed) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XWithdrawnWithReason != nil { + if m.Withdrawn != nil { { - size := m.XWithdrawnWithReason.Size() - i -= size - if _, err := m.XWithdrawnWithReason.MarshalTo(dAtA[i:]); err != nil { + size, err := m.Withdrawn.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintGovernance(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ProposalOutcome_Slashed_WithdrawnWithReason) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ProposalOutcome_Slashed_WithdrawnWithReason) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.WithdrawnWithReason) - copy(dAtA[i:], m.WithdrawnWithReason) - i = encodeVarintGovernance(dAtA, i, uint64(len(m.WithdrawnWithReason))) - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} func (m *Tally) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -3063,6 +3089,18 @@ func (m *Proposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.UpgradePlan != nil { + { + size, err := m.UpgradePlan.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGovernance(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } if m.DaoSpend != nil { { size, err := m.DaoSpend.MarshalToSizedBuffer(dAtA[:i]) @@ -3153,32 +3191,16 @@ func (m *Proposal_Signaling) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XCommit != nil { - { - size := m.XCommit.Size() - i -= size - if _, err := m.XCommit.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } + if len(m.Commit) > 0 { + i -= len(m.Commit) + copy(dAtA[i:], m.Commit) + i = encodeVarintGovernance(dAtA, i, uint64(len(m.Commit))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Proposal_Signaling_Commit) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Proposal_Signaling_Commit) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.Commit) - copy(dAtA[i:], m.Commit) - i = encodeVarintGovernance(dAtA, i, uint64(len(m.Commit))) - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} func (m *Proposal_Emergency) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -3294,6 +3316,34 @@ func (m *Proposal_DaoSpend) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *Proposal_UpgradePlan) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Proposal_UpgradePlan) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Proposal_UpgradePlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Height != 0 { + i = encodeVarintGovernance(dAtA, i, uint64(m.Height)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func encodeVarintGovernance(dAtA []byte, offset int, v uint64) int { offset -= sovGovernance(v) base := offset @@ -3708,59 +3758,54 @@ func (m *ProposalOutcome_Slashed_) Size() (n int) { } return n } -func (m *ProposalOutcome_Passed) Size() (n int) { +func (m *ProposalOutcome_Withdrawn) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Reason) + if l > 0 { + n += 1 + l + sovGovernance(uint64(l)) + } return n } -func (m *ProposalOutcome_Failed) Size() (n int) { +func (m *ProposalOutcome_Passed) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.XWithdrawnWithReason != nil { - n += m.XWithdrawnWithReason.Size() - } return n } -func (m *ProposalOutcome_Failed_WithdrawnWithReason) Size() (n int) { +func (m *ProposalOutcome_Failed) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.WithdrawnWithReason) - n += 1 + l + sovGovernance(uint64(l)) + if m.Withdrawn != nil { + l = m.Withdrawn.Size() + n += 1 + l + sovGovernance(uint64(l)) + } return n } + func (m *ProposalOutcome_Slashed) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.XWithdrawnWithReason != nil { - n += m.XWithdrawnWithReason.Size() + if m.Withdrawn != nil { + l = m.Withdrawn.Size() + n += 1 + l + sovGovernance(uint64(l)) } return n } -func (m *ProposalOutcome_Slashed_WithdrawnWithReason) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.WithdrawnWithReason) - n += 1 + l + sovGovernance(uint64(l)) - return n -} func (m *Tally) Size() (n int) { if m == nil { return 0 @@ -3812,6 +3857,10 @@ func (m *Proposal) Size() (n int) { l = m.DaoSpend.Size() n += 1 + l + sovGovernance(uint64(l)) } + if m.UpgradePlan != nil { + l = m.UpgradePlan.Size() + n += 1 + l + sovGovernance(uint64(l)) + } return n } @@ -3821,22 +3870,13 @@ func (m *Proposal_Signaling) Size() (n int) { } var l int _ = l - if m.XCommit != nil { - n += m.XCommit.Size() + l = len(m.Commit) + if l > 0 { + n += 1 + l + sovGovernance(uint64(l)) } return n } -func (m *Proposal_Signaling_Commit) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Commit) - n += 1 + l + sovGovernance(uint64(l)) - return n -} func (m *Proposal_Emergency) Size() (n int) { if m == nil { return 0 @@ -3879,6 +3919,18 @@ func (m *Proposal_DaoSpend) Size() (n int) { return n } +func (m *Proposal_UpgradePlan) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Height != 0 { + n += 1 + sovGovernance(uint64(m.Height)) + } + return n +} + func sovGovernance(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -6299,6 +6351,88 @@ func (m *ProposalOutcome) Unmarshal(dAtA []byte) error { } return nil } +func (m *ProposalOutcome_Withdrawn) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGovernance + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Withdrawn: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Withdrawn: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGovernance + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGovernance + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGovernance + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGovernance(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGovernance + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ProposalOutcome_Passed) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -6380,9 +6514,9 @@ func (m *ProposalOutcome_Failed) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WithdrawnWithReason", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Withdrawn", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGovernance @@ -6392,23 +6526,27 @@ func (m *ProposalOutcome_Failed) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthGovernance } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthGovernance } if postIndex > l { return io.ErrUnexpectedEOF } - m.XWithdrawnWithReason = &ProposalOutcome_Failed_WithdrawnWithReason{string(dAtA[iNdEx:postIndex])} + if m.Withdrawn == nil { + m.Withdrawn = &ProposalOutcome_Withdrawn{} + } + if err := m.Withdrawn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -6462,9 +6600,9 @@ func (m *ProposalOutcome_Slashed) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WithdrawnWithReason", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Withdrawn", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGovernance @@ -6474,23 +6612,27 @@ func (m *ProposalOutcome_Slashed) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthGovernance } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthGovernance } if postIndex > l { return io.ErrUnexpectedEOF } - m.XWithdrawnWithReason = &ProposalOutcome_Slashed_WithdrawnWithReason{string(dAtA[iNdEx:postIndex])} + if m.Withdrawn == nil { + m.Withdrawn = &ProposalOutcome_Withdrawn{} + } + if err := m.Withdrawn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -6876,6 +7018,42 @@ func (m *Proposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UpgradePlan", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGovernance + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGovernance + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGovernance + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.UpgradePlan == nil { + m.UpgradePlan = &Proposal_UpgradePlan{} + } + if err := m.UpgradePlan.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGovernance(dAtA[iNdEx:]) @@ -6956,7 +7134,7 @@ func (m *Proposal_Signaling) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.XCommit = &Proposal_Signaling_Commit{string(dAtA[iNdEx:postIndex])} + m.Commit = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7257,6 +7435,75 @@ func (m *Proposal_DaoSpend) Unmarshal(dAtA []byte) error { } return nil } +func (m *Proposal_UpgradePlan) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGovernance + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpgradePlan: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpgradePlan: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + } + m.Height = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGovernance + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Height |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGovernance(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGovernance + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipGovernance(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go b/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go index 8bf6ff767..e893fbd7c 100644 --- a/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go +++ b/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go @@ -27,28 +27,28 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type IbcAction struct { // - // oneof action { - // .ibc.core.connection.v1.MsgConnectionOpenInit connection_open_init = 1; - // .ibc.core.connection.v1.MsgConnectionOpenTry connection_open_try = 2; - // .ibc.core.connection.v1.MsgConnectionOpenAck connection_open_ack = 3; - // .ibc.core.connection.v1.MsgConnectionOpenConfirm connection_open_confirm = 4; + //oneof action { + //.ibc.core.connection.v1.MsgConnectionOpenInit connection_open_init = 1; + //.ibc.core.connection.v1.MsgConnectionOpenTry connection_open_try = 2; + //.ibc.core.connection.v1.MsgConnectionOpenAck connection_open_ack = 3; + //.ibc.core.connection.v1.MsgConnectionOpenConfirm connection_open_confirm = 4; // - // .ibc.core.channel.v1.MsgChannelOpenInit channel_open_init = 5; - // .ibc.core.channel.v1.MsgChannelOpenTry channel_open_try = 6; - // .ibc.core.channel.v1.MsgChannelOpenAck channel_open_ack = 7; - // .ibc.core.channel.v1.MsgChannelOpenConfirm channel_open_confirm = 8; - // .ibc.core.channel.v1.MsgChannelCloseInit channel_close_init = 9; - // .ibc.core.channel.v1.MsgChannelCloseConfirm channel_close_confirm = 10; + //.ibc.core.channel.v1.MsgChannelOpenInit channel_open_init = 5; + //.ibc.core.channel.v1.MsgChannelOpenTry channel_open_try = 6; + //.ibc.core.channel.v1.MsgChannelOpenAck channel_open_ack = 7; + //.ibc.core.channel.v1.MsgChannelOpenConfirm channel_open_confirm = 8; + //.ibc.core.channel.v1.MsgChannelCloseInit channel_close_init = 9; + //.ibc.core.channel.v1.MsgChannelCloseConfirm channel_close_confirm = 10; // - // .ibc.core.channel.v1.MsgRecvPacket recv_packet = 11; - // .ibc.core.channel.v1.MsgTimeout timeout = 12; - // .ibc.core.channel.v1.MsgAcknowledgement acknowledgement = 13; + //.ibc.core.channel.v1.MsgRecvPacket recv_packet = 11; + //.ibc.core.channel.v1.MsgTimeout timeout = 12; + //.ibc.core.channel.v1.MsgAcknowledgement acknowledgement = 13; // - // .ibc.core.client.v1.MsgCreateClient create_client = 14; - // .ibc.core.client.v1.MsgUpdateClient update_client = 15; - // .ibc.core.client.v1.MsgUpgradeClient upgrade_client = 16; - // .ibc.core.client.v1.MsgSubmitMisbehaviour submit_misbehaviour = 17; - // } + //.ibc.core.client.v1.MsgCreateClient create_client = 14; + //.ibc.core.client.v1.MsgUpdateClient update_client = 15; + //.ibc.core.client.v1.MsgUpgradeClient upgrade_client = 16; + //.ibc.core.client.v1.MsgSubmitMisbehaviour submit_misbehaviour = 17; + //} RawAction *types.Any `protobuf:"bytes,1,opt,name=raw_action,json=rawAction,proto3" json:"raw_action,omitempty"` } diff --git a/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go b/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go index 690e79f23..1eb381362 100644 --- a/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go +++ b/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go @@ -648,10 +648,8 @@ func (m *ValidatorStatus) GetBondingState() *BondingState { // Describes the unbonding state of a validator's stake pool. type BondingState struct { - State BondingState_BondingStateEnum `protobuf:"varint,1,opt,name=state,proto3,enum=penumbra.core.stake.v1alpha1.BondingState_BondingStateEnum" json:"state,omitempty"` - // Types that are valid to be assigned to XUnbondingEpoch: - // *BondingState_UnbondingEpoch - XUnbondingEpoch isBondingState_XUnbondingEpoch `protobuf_oneof:"_unbonding_epoch"` + State BondingState_BondingStateEnum `protobuf:"varint,1,opt,name=state,proto3,enum=penumbra.core.stake.v1alpha1.BondingState_BondingStateEnum" json:"state,omitempty"` + UnbondingEpoch uint64 `protobuf:"varint,2,opt,name=unbonding_epoch,json=unbondingEpoch,proto3" json:"unbonding_epoch,omitempty"` } func (m *BondingState) Reset() { *m = BondingState{} } @@ -687,25 +685,6 @@ func (m *BondingState) XXX_DiscardUnknown() { var xxx_messageInfo_BondingState proto.InternalMessageInfo -type isBondingState_XUnbondingEpoch interface { - isBondingState_XUnbondingEpoch() - MarshalTo([]byte) (int, error) - Size() int -} - -type BondingState_UnbondingEpoch struct { - UnbondingEpoch uint64 `protobuf:"varint,2,opt,name=unbonding_epoch,json=unbondingEpoch,proto3,oneof" json:"unbonding_epoch,omitempty"` -} - -func (*BondingState_UnbondingEpoch) isBondingState_XUnbondingEpoch() {} - -func (m *BondingState) GetXUnbondingEpoch() isBondingState_XUnbondingEpoch { - if m != nil { - return m.XUnbondingEpoch - } - return nil -} - func (m *BondingState) GetState() BondingState_BondingStateEnum { if m != nil { return m.State @@ -714,19 +693,12 @@ func (m *BondingState) GetState() BondingState_BondingStateEnum { } func (m *BondingState) GetUnbondingEpoch() uint64 { - if x, ok := m.GetXUnbondingEpoch().(*BondingState_UnbondingEpoch); ok { - return x.UnbondingEpoch + if m != nil { + return m.UnbondingEpoch } return 0 } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*BondingState) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*BondingState_UnbondingEpoch)(nil), - } -} - // Describes the state of a validator type ValidatorState struct { State ValidatorState_ValidatorStateEnum `protobuf:"varint,1,opt,name=state,proto3,enum=penumbra.core.stake.v1alpha1.ValidatorState_ValidatorStateEnum" json:"state,omitempty"` @@ -1508,106 +1480,105 @@ func init() { } var fileDescriptor_022d012c8e7b3ca5 = []byte{ - // 1578 bytes of a gzipped FileDescriptorProto + // 1566 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcd, 0x6f, 0x23, 0x49, - 0x15, 0x4f, 0x3b, 0x76, 0x12, 0x3f, 0x7f, 0xa6, 0x66, 0x01, 0xcf, 0x30, 0x93, 0x78, 0x7b, 0x81, - 0x35, 0x33, 0x83, 0xc3, 0x04, 0xc1, 0x21, 0x7b, 0x58, 0xdc, 0xb6, 0x77, 0xe2, 0xdd, 0xc4, 0xf1, - 0xb6, 0x9d, 0x48, 0xa0, 0x48, 0xad, 0xb2, 0xbb, 0x62, 0x37, 0x63, 0x57, 0x99, 0xae, 0x72, 0xb2, - 0xfe, 0x0b, 0xe0, 0xc8, 0x71, 0xcf, 0x1c, 0x38, 0xac, 0x04, 0x12, 0x27, 0x4e, 0x70, 0x46, 0x9c, - 0x96, 0x1b, 0x47, 0x94, 0x91, 0x40, 0xe2, 0xaf, 0x40, 0x55, 0xdd, 0xd5, 0xfe, 0xc8, 0xd7, 0x64, - 0x35, 0x42, 0xcb, 0xad, 0xdf, 0x7b, 0xbf, 0xf7, 0xea, 0xbd, 0x5f, 0xd5, 0xab, 0x8f, 0x86, 0xd2, + 0x15, 0x4f, 0x77, 0xec, 0x24, 0x7e, 0xfe, 0x4c, 0xcd, 0x02, 0x9e, 0x61, 0x26, 0xf1, 0xf6, 0x02, + 0x63, 0x66, 0x16, 0x87, 0x09, 0x82, 0x43, 0xf6, 0xb0, 0xf8, 0x6b, 0x27, 0xde, 0x4d, 0x1c, 0x6f, + 0xdb, 0x89, 0x04, 0x8a, 0xd4, 0x2a, 0xbb, 0x2b, 0x76, 0x33, 0x76, 0x95, 0xe9, 0x2a, 0x27, 0xeb, + 0xbf, 0x80, 0x2b, 0xc7, 0x3d, 0x23, 0xc1, 0x61, 0x25, 0x90, 0x38, 0x71, 0x82, 0x33, 0xe2, 0xb4, + 0xdc, 0x38, 0xa2, 0x8c, 0x04, 0x12, 0x7f, 0x05, 0xaa, 0xea, 0xae, 0xf6, 0x47, 0xbe, 0x26, 0xab, + 0x11, 0x5a, 0x6e, 0xfd, 0xde, 0xfb, 0xbd, 0x57, 0xef, 0xfd, 0x5e, 0xbd, 0xea, 0xea, 0x86, 0xe2, 0x98, 0xd0, 0xc9, 0xa8, 0xeb, 0xe3, 0x9d, 0x1e, 0xf3, 0xc9, 0x0e, 0x17, 0xf8, 0x15, 0xd9, 0x39, - 0x7f, 0x81, 0x87, 0xe3, 0x01, 0x7e, 0x11, 0x88, 0xe5, 0xb1, 0xcf, 0x04, 0x43, 0x8f, 0x35, 0xb2, - 0x2c, 0x91, 0xe5, 0xc0, 0xa4, 0x91, 0x8f, 0x9e, 0x2e, 0xc6, 0xe9, 0xf9, 0xd3, 0xb1, 0x60, 0xb3, - 0x40, 0x81, 0x1c, 0x44, 0x32, 0xff, 0xbc, 0x0a, 0xc9, 0x13, 0x3c, 0xf4, 0x5c, 0x2c, 0x98, 0x8f, - 0x0e, 0x21, 0xed, 0xb9, 0x84, 0x0a, 0x4f, 0x4c, 0x9d, 0x57, 0x64, 0x5a, 0x30, 0x8a, 0x46, 0x29, - 0xb5, 0xfb, 0xb4, 0xbc, 0x38, 0x5c, 0x18, 0x40, 0x07, 0x2c, 0x37, 0x42, 0x97, 0x4f, 0xc8, 0xd4, - 0x4e, 0x79, 0x33, 0x01, 0xbd, 0x07, 0x99, 0x1e, 0xa3, 0x9c, 0x50, 0x3e, 0xe1, 0x2a, 0x5e, 0xac, - 0x68, 0x94, 0xd2, 0x76, 0x3a, 0x52, 0x4a, 0x10, 0x82, 0x38, 0xc5, 0x23, 0x52, 0x58, 0x2d, 0x1a, - 0xa5, 0xa4, 0xad, 0xbe, 0x51, 0x01, 0xd6, 0x2f, 0x48, 0x97, 0x7b, 0x82, 0x14, 0xe2, 0x4a, 0xad, - 0x45, 0x54, 0x84, 0x94, 0x4b, 0x78, 0xcf, 0xf7, 0xc6, 0xc2, 0x63, 0xb4, 0x90, 0x50, 0xd6, 0x79, - 0x95, 0xf4, 0x25, 0x14, 0x77, 0x87, 0xc4, 0x2d, 0x6c, 0x14, 0x8d, 0xd2, 0x86, 0xad, 0x45, 0xd4, - 0x81, 0xdc, 0xd9, 0x84, 0xba, 0x1e, 0xed, 0x3b, 0x5c, 0xf8, 0x04, 0x8f, 0x78, 0x61, 0xad, 0xb8, - 0x5a, 0x4a, 0xed, 0x3e, 0x2b, 0xdf, 0xc6, 0x67, 0xf9, 0xa3, 0xc0, 0xa9, 0xad, 0x7c, 0xec, 0xec, - 0xd9, 0xbc, 0xc8, 0xd1, 0xfb, 0x90, 0xe3, 0xe4, 0x97, 0x13, 0x42, 0x7b, 0xc4, 0x91, 0x41, 0x88, - 0x5f, 0x58, 0x2f, 0x1a, 0xa5, 0x8c, 0x9d, 0xd5, 0xea, 0xa6, 0xd2, 0xa2, 0x36, 0x64, 0xfb, 0xec, - 0x9c, 0xf8, 0x14, 0x4b, 0xa8, 0xa4, 0x23, 0xa9, 0xe8, 0x7d, 0x7e, 0x07, 0xbd, 0x2f, 0x23, 0x27, - 0x49, 0x70, 0xa6, 0x3f, 0x2f, 0x9a, 0x5d, 0xc8, 0x44, 0xd3, 0x77, 0xe0, 0x71, 0x81, 0x3e, 0x85, - 0xec, 0xb9, 0x56, 0xc8, 0x41, 0x78, 0xc1, 0x50, 0x35, 0xde, 0x67, 0x12, 0x33, 0x51, 0x84, 0x4f, - 0xc8, 0x94, 0x9b, 0xbf, 0x8b, 0x41, 0x66, 0x81, 0x03, 0x74, 0x02, 0x20, 0x98, 0x83, 0x5d, 0xd7, - 0x27, 0x9c, 0x87, 0xab, 0xe4, 0xc7, 0xf7, 0x20, 0xb1, 0xdc, 0x61, 0x95, 0xc0, 0x79, 0x7f, 0xc5, - 0x4e, 0x0a, 0x2d, 0xa0, 0x8f, 0x61, 0x4d, 0x30, 0xc7, 0xc5, 0x4c, 0xad, 0x94, 0xd4, 0xee, 0x8b, - 0xfb, 0xc5, 0xac, 0x61, 0xb6, 0xbf, 0x62, 0x27, 0x84, 0xfc, 0x78, 0xf4, 0x53, 0x48, 0x46, 0xa3, - 0xc8, 0x45, 0x31, 0x9f, 0x6d, 0xd2, 0xd6, 0x22, 0x7a, 0x08, 0x1b, 0x3e, 0x16, 0xc4, 0xe9, 0x8e, - 0xb9, 0x1a, 0x34, 0x63, 0xaf, 0x4b, 0xd9, 0x1a, 0xf3, 0x47, 0x26, 0x24, 0x54, 0xcc, 0x5b, 0x30, - 0x56, 0x0a, 0x92, 0x3e, 0xe9, 0x79, 0x63, 0x8f, 0x50, 0x61, 0xfe, 0xcb, 0x80, 0x0d, 0x1b, 0x0b, - 0x52, 0xc3, 0x02, 0xbf, 0xed, 0x5e, 0xda, 0x86, 0x14, 0x19, 0xb3, 0xde, 0xc0, 0xf1, 0xa8, 0x4b, - 0x3e, 0x53, 0x69, 0xc4, 0x6d, 0x50, 0xaa, 0x86, 0xd4, 0xa0, 0x5d, 0xf8, 0xc6, 0x6c, 0xe2, 0x7d, - 0x72, 0x81, 0x7d, 0xd7, 0x91, 0x59, 0xaa, 0x0e, 0x8a, 0xdb, 0x0f, 0x22, 0xa3, 0xad, 0x6c, 0x32, - 0x4f, 0xf4, 0x13, 0xf8, 0xd6, 0xcc, 0x87, 0x7c, 0xd6, 0x1b, 0x60, 0xda, 0x27, 0x81, 0x57, 0x42, - 0x79, 0xcd, 0x42, 0xd6, 0x43, 0xab, 0xf4, 0x33, 0x7f, 0x65, 0x40, 0xda, 0xc2, 0x9c, 0x44, 0xc5, - 0x2e, 0x65, 0x67, 0x5c, 0xc9, 0xae, 0x04, 0xf9, 0x2e, 0xe6, 0x64, 0x21, 0xb1, 0xa0, 0x86, 0xac, - 0xd4, 0xcf, 0xe5, 0xf4, 0x1c, 0x90, 0x42, 0x2e, 0xa6, 0xb3, 0xaa, 0xb0, 0x2a, 0xc6, 0x42, 0x26, - 0x9f, 0xc7, 0x20, 0x17, 0x35, 0x40, 0x5b, 0x60, 0x31, 0xe1, 0x6f, 0x9b, 0x79, 0x0b, 0x12, 0x5c, - 0xe8, 0x7c, 0xaf, 0xb6, 0xeb, 0xd2, 0x9a, 0x5c, 0x48, 0x86, 0xd8, 0x81, 0x2b, 0x7a, 0x17, 0xd2, - 0xe7, 0x4c, 0xc8, 0x9d, 0x67, 0xcc, 0x2e, 0x88, 0x1f, 0x96, 0x93, 0x0a, 0x74, 0x2d, 0xa9, 0x42, - 0x47, 0x90, 0xe9, 0x32, 0xbd, 0x3b, 0xe9, 0x79, 0xbb, 0x9a, 0xf6, 0xd2, 0x70, 0x16, 0x0b, 0x5b, - 0x40, 0x0e, 0x96, 0xee, 0xce, 0x49, 0xe6, 0x5f, 0x62, 0x90, 0x9e, 0x37, 0xa3, 0x4f, 0x75, 0x21, - 0x92, 0x90, 0xec, 0xee, 0x07, 0x6f, 0x1e, 0x79, 0x41, 0xa8, 0xd3, 0xc9, 0x48, 0xd7, 0xf5, 0x1c, - 0x72, 0x13, 0xaa, 0xd3, 0x56, 0xd3, 0x1d, 0xcc, 0xea, 0xfe, 0x8a, 0x9d, 0x8d, 0x0c, 0x75, 0xa9, - 0xff, 0xb5, 0x61, 0x98, 0x9f, 0x1b, 0x90, 0x5f, 0x8e, 0x84, 0x4c, 0xd8, 0xb2, 0x8e, 0x9a, 0xb5, - 0x46, 0xf3, 0xa5, 0xd3, 0xee, 0x54, 0x3a, 0x75, 0xa7, 0xde, 0x3c, 0x3e, 0x74, 0x8e, 0x9b, 0xed, - 0x56, 0xbd, 0xda, 0xf8, 0xa8, 0x51, 0xaf, 0xe5, 0x57, 0xd0, 0x13, 0x78, 0x78, 0x0d, 0x46, 0xaa, - 0xea, 0xb5, 0xbc, 0x81, 0x8a, 0xf0, 0xf8, 0xda, 0x10, 0xa1, 0x32, 0x1f, 0x43, 0xdb, 0xf0, 0xed, - 0x1b, 0x11, 0xf5, 0x5a, 0x7e, 0xd5, 0x42, 0x90, 0x77, 0x96, 0x2a, 0x31, 0xff, 0x1e, 0x83, 0xec, - 0xe2, 0x74, 0xa2, 0xe3, 0x45, 0x0a, 0x3f, 0xbc, 0xcf, 0x5a, 0x58, 0x12, 0xe7, 0x68, 0x34, 0xff, - 0x6d, 0x00, 0xba, 0x6a, 0x45, 0xdf, 0x81, 0xe2, 0x49, 0xe5, 0xa0, 0x51, 0xab, 0x74, 0x8e, 0xec, - 0x9b, 0xc9, 0x79, 0x17, 0x9e, 0x5c, 0x8b, 0x6a, 0x34, 0x2b, 0xd5, 0x4e, 0xe3, 0xa4, 0x9e, 0x37, - 0x64, 0xf9, 0xd7, 0x42, 0x42, 0x40, 0xec, 0x46, 0xc0, 0xc7, 0x95, 0xc6, 0x81, 0xe4, 0x07, 0xbd, - 0x07, 0xdb, 0xd7, 0x02, 0x3a, 0x47, 0x87, 0x56, 0xbb, 0x73, 0xd4, 0xac, 0xd7, 0xf2, 0xf1, 0x1b, - 0x33, 0xa9, 0x35, 0xda, 0x15, 0x4b, 0xc6, 0x49, 0x98, 0x97, 0xc6, 0xdc, 0x81, 0xd5, 0xa0, 0x67, - 0x0c, 0xd5, 0x21, 0x19, 0x6d, 0x32, 0x61, 0xab, 0xbe, 0xff, 0x86, 0xb4, 0xda, 0x33, 0x4f, 0x54, - 0x87, 0x35, 0xae, 0xda, 0x3f, 0x6c, 0xd3, 0x1f, 0xdc, 0x63, 0x6a, 0x26, 0xdc, 0x0e, 0x9d, 0x51, - 0x15, 0x92, 0x6a, 0xab, 0x77, 0xb1, 0xc0, 0xaa, 0x4b, 0x53, 0xbb, 0xdf, 0xbb, 0x3d, 0x92, 0xde, - 0x03, 0x6d, 0x75, 0x46, 0xc8, 0x2f, 0xf3, 0x02, 0x1e, 0x44, 0xf1, 0x6b, 0xe4, 0xcc, 0xa3, 0x9e, - 0xba, 0x99, 0xbc, 0xa5, 0x4a, 0x1f, 0xc2, 0x06, 0x9e, 0x88, 0x81, 0xc3, 0xbd, 0x7e, 0x78, 0xa1, - 0x5a, 0x97, 0x72, 0xdb, 0xeb, 0x9b, 0x5f, 0xc4, 0x60, 0xa3, 0x46, 0x86, 0xa4, 0x2f, 0xd7, 0xea, - 0xcf, 0x00, 0xcd, 0x36, 0x77, 0xbd, 0xa1, 0x7d, 0x85, 0xcd, 0x70, 0x33, 0x8a, 0xa2, 0xb5, 0x77, - 0x1f, 0x46, 0x4d, 0xbd, 0x2f, 0x10, 0xd7, 0xc1, 0x23, 0x36, 0xa1, 0x22, 0x24, 0xf3, 0xbb, 0x77, - 0x0c, 0x5c, 0x51, 0x60, 0xbd, 0x79, 0x10, 0x37, 0x90, 0x91, 0x0d, 0x9b, 0x6e, 0x50, 0x97, 0xc7, - 0xa8, 0x8e, 0x18, 0xbf, 0x4f, 0xc4, 0xfc, 0xcc, 0x3f, 0xd0, 0x98, 0x7f, 0x8a, 0x01, 0x1c, 0x53, - 0xf7, 0x7f, 0x40, 0xd7, 0x53, 0xd8, 0xe4, 0x02, 0xfb, 0xc2, 0xb9, 0x4a, 0x5a, 0x4e, 0x19, 0xea, - 0xff, 0x5f, 0xcc, 0x51, 0xc8, 0xcd, 0x88, 0xab, 0x0e, 0xb1, 0x37, 0x42, 0x75, 0x88, 0x77, 0x99, - 0xab, 0xf9, 0xba, 0xe3, 0xde, 0xb6, 0xe4, 0x6c, 0x31, 0x77, 0x6a, 0x2b, 0x77, 0xf4, 0x0e, 0x24, - 0xc6, 0x3e, 0x63, 0x67, 0xe1, 0xc2, 0x0e, 0x04, 0x79, 0x92, 0x3d, 0xb8, 0xc6, 0xe7, 0xeb, 0x32, - 0x65, 0x1f, 0xc2, 0xfa, 0x98, 0x50, 0x3c, 0x14, 0xd3, 0x1b, 0xa6, 0x6a, 0xa9, 0xfc, 0x56, 0x00, - 0xb6, 0xb5, 0x17, 0x72, 0xe4, 0x95, 0x67, 0xa8, 0x9e, 0x05, 0x3d, 0x36, 0x1a, 0x79, 0x62, 0x44, - 0xa2, 0x49, 0xfa, 0xe1, 0x1d, 0x75, 0x58, 0x81, 0x63, 0x35, 0xf2, 0xb3, 0x37, 0xbb, 0xcb, 0x2a, - 0xf3, 0x0f, 0xab, 0x57, 0x08, 0x6c, 0x0d, 0x31, 0xfd, 0x1a, 0x12, 0x18, 0xff, 0x4a, 0x04, 0xb6, - 0x20, 0x3f, 0x3b, 0xbc, 0xc3, 0x35, 0x9e, 0xb8, 0xcf, 0x1a, 0x9f, 0xdd, 0x62, 0xc2, 0xb6, 0xf9, - 0xbe, 0xbc, 0xaf, 0x06, 0x53, 0xd2, 0x1d, 0x7a, 0xca, 0x52, 0x58, 0x53, 0x6b, 0x32, 0x17, 0xea, - 0xad, 0x50, 0x2d, 0xaf, 0xb6, 0x6a, 0x99, 0x46, 0x40, 0x27, 0x78, 0x01, 0xa6, 0xed, 0xac, 0xd2, - 0x6b, 0xa0, 0x7d, 0x0d, 0x92, 0xab, 0x37, 0xea, 0x32, 0xb2, 0x6d, 0xfe, 0xde, 0x80, 0xcd, 0x5a, - 0xd4, 0x76, 0x55, 0x75, 0xdf, 0xe5, 0x68, 0x5f, 0x3e, 0x7e, 0xb5, 0x52, 0x3f, 0xec, 0xee, 0x38, - 0x9e, 0xf4, 0x71, 0x60, 0xcf, 0xbb, 0xa2, 0x26, 0x64, 0x26, 0x74, 0x3e, 0x56, 0x4c, 0xc5, 0x2a, - 0xbd, 0x69, 0xdf, 0xda, 0x8b, 0xee, 0xe6, 0x10, 0xd6, 0x8e, 0xc7, 0xc2, 0x1b, 0x11, 0xf4, 0x0c, - 0x10, 0xe6, 0x8e, 0xaa, 0x91, 0xf5, 0x5e, 0x39, 0x03, 0xe2, 0xf5, 0x07, 0x22, 0x7c, 0x10, 0xe4, - 0x30, 0x3f, 0x3a, 0xb3, 0xa4, 0x7e, 0x5f, 0xa9, 0xd1, 0x13, 0x80, 0x0b, 0x8f, 0xba, 0xec, 0xc2, - 0x19, 0x12, 0x1a, 0x3e, 0xad, 0x92, 0x81, 0xe6, 0x80, 0x50, 0xf4, 0x4d, 0x58, 0xeb, 0x7a, 0xe2, - 0x9c, 0xf4, 0x54, 0x5f, 0xa5, 0xed, 0x50, 0x32, 0x7f, 0x01, 0xef, 0x54, 0x27, 0xbe, 0x4f, 0xa8, - 0xa8, 0xce, 0xfd, 0x49, 0xe0, 0xc8, 0x86, 0xec, 0xc2, 0xff, 0x06, 0x4d, 0xd1, 0xb3, 0x3b, 0x16, - 0xc1, 0x7c, 0x14, 0x3b, 0x33, 0xff, 0x77, 0x82, 0x9b, 0xdb, 0xb0, 0x1e, 0x2e, 0x37, 0xb9, 0x39, - 0x79, 0x94, 0x12, 0x3f, 0xac, 0x26, 0x10, 0xac, 0x3f, 0xc6, 0xfe, 0x7a, 0xb9, 0x65, 0x7c, 0x79, - 0xb9, 0x65, 0xfc, 0xf3, 0x72, 0xcb, 0xf8, 0xcd, 0xeb, 0xad, 0x95, 0x2f, 0x5f, 0x6f, 0xad, 0xfc, - 0xe3, 0xf5, 0xd6, 0x0a, 0x14, 0x7b, 0x6c, 0x74, 0x2b, 0xa3, 0x16, 0xb4, 0xa5, 0xdc, 0xf2, 0x99, - 0x60, 0x2d, 0xe3, 0xe7, 0x27, 0x7d, 0x4f, 0x0c, 0x26, 0xdd, 0x72, 0x8f, 0x8d, 0x76, 0x7a, 0x8c, - 0x8f, 0x18, 0xdf, 0xf1, 0xc9, 0x10, 0x4f, 0x89, 0xbf, 0x73, 0xbe, 0x1b, 0x7d, 0xf6, 0x06, 0xd8, - 0xa3, 0x7c, 0xe7, 0xb6, 0x9f, 0x45, 0x1f, 0x28, 0x51, 0x4b, 0xbf, 0x8d, 0xad, 0xb6, 0xaa, 0xed, - 0x2f, 0x62, 0x8f, 0x5b, 0x3a, 0x95, 0xaa, 0x4c, 0x45, 0x0d, 0x5d, 0x3e, 0x09, 0x41, 0x7f, 0x9b, - 0x99, 0x4f, 0xa5, 0xf9, 0x54, 0x99, 0x4f, 0xb5, 0xf9, 0x32, 0x56, 0xba, 0xcd, 0x7c, 0xfa, 0xb2, - 0x65, 0x1d, 0x12, 0x81, 0xe5, 0xb5, 0xe9, 0x3f, 0xb1, 0x6d, 0x0d, 0xdd, 0xdb, 0x93, 0xd8, 0xbd, - 0x3d, 0x05, 0xde, 0xdb, 0xd3, 0xe8, 0xee, 0x9a, 0xfa, 0xf9, 0xf4, 0xa3, 0xff, 0x06, 0x00, 0x00, - 0xff, 0xff, 0x34, 0xe3, 0xd1, 0x50, 0xf2, 0x12, 0x00, 0x00, + 0x7f, 0x81, 0x87, 0xe3, 0x01, 0x7e, 0x11, 0x88, 0xa5, 0xb1, 0xcf, 0x04, 0x43, 0x8f, 0x35, 0xb2, + 0x24, 0x91, 0xa5, 0xc0, 0xa4, 0x91, 0x8f, 0x9e, 0x2d, 0xc6, 0xe9, 0xf9, 0xd3, 0xb1, 0x60, 0xb3, + 0x40, 0x81, 0x1c, 0x44, 0xb2, 0xfe, 0xbc, 0x0a, 0x89, 0x13, 0x3c, 0xf4, 0x5c, 0x2c, 0x98, 0x8f, + 0x0e, 0x21, 0xe5, 0xb9, 0x84, 0x0a, 0x4f, 0x4c, 0x9d, 0x57, 0x64, 0x9a, 0x37, 0x0a, 0x46, 0x31, + 0xb9, 0xfb, 0xac, 0xb4, 0xb8, 0x5c, 0x18, 0x40, 0x07, 0x2c, 0x35, 0x42, 0x97, 0x4f, 0xc8, 0xd4, + 0x4e, 0x7a, 0x33, 0x01, 0xbd, 0x07, 0xe9, 0x1e, 0xa3, 0x9c, 0x50, 0x3e, 0xe1, 0x2a, 0x9e, 0x59, + 0x30, 0x8a, 0x29, 0x3b, 0x15, 0x29, 0x25, 0x08, 0x41, 0x8c, 0xe2, 0x11, 0xc9, 0xaf, 0x16, 0x8c, + 0x62, 0xc2, 0x56, 0xcf, 0x28, 0x0f, 0xeb, 0x17, 0xa4, 0xcb, 0x3d, 0x41, 0xf2, 0x31, 0xa5, 0xd6, + 0x22, 0x2a, 0x40, 0xd2, 0x25, 0xbc, 0xe7, 0x7b, 0x63, 0xe1, 0x31, 0x9a, 0x8f, 0x2b, 0xeb, 0xbc, + 0x4a, 0xfa, 0x12, 0x8a, 0xbb, 0x43, 0xe2, 0xe6, 0x37, 0x0a, 0x46, 0x71, 0xc3, 0xd6, 0x22, 0xea, + 0x40, 0xf6, 0x6c, 0x42, 0x5d, 0x8f, 0xf6, 0x1d, 0x2e, 0x7c, 0x82, 0x47, 0x3c, 0xbf, 0x56, 0x58, + 0x2d, 0x26, 0x77, 0x9f, 0x97, 0x6e, 0xe3, 0xb3, 0xf4, 0x51, 0xe0, 0xd4, 0x56, 0x3e, 0x76, 0xe6, + 0x6c, 0x5e, 0xe4, 0xe8, 0x29, 0x64, 0x39, 0xf9, 0xe5, 0x84, 0xd0, 0x1e, 0x71, 0x64, 0x10, 0xe2, + 0xe7, 0xd7, 0x0b, 0x46, 0x31, 0x6d, 0x67, 0xb4, 0xba, 0xa9, 0xb4, 0xa8, 0x0d, 0x99, 0x3e, 0x3b, + 0x27, 0x3e, 0xc5, 0x12, 0x2a, 0xe9, 0x48, 0x28, 0x7a, 0xdf, 0xbf, 0x83, 0xde, 0x97, 0x91, 0x93, + 0x24, 0x38, 0xdd, 0x9f, 0x17, 0xad, 0x2e, 0xa4, 0xa3, 0xf6, 0x1d, 0x78, 0x5c, 0xa0, 0x4f, 0x21, + 0x73, 0xae, 0x15, 0x72, 0x11, 0x9e, 0x37, 0x54, 0x8d, 0xf7, 0x69, 0x62, 0x3a, 0x8a, 0xf0, 0x09, + 0x99, 0x72, 0xeb, 0x77, 0x26, 0xa4, 0x17, 0x38, 0x40, 0x27, 0x00, 0x82, 0x39, 0xd8, 0x75, 0x7d, + 0xc2, 0x79, 0xb8, 0x4b, 0x7e, 0x7c, 0x0f, 0x12, 0x4b, 0x1d, 0x56, 0x0e, 0x9c, 0xf7, 0x57, 0xec, + 0x84, 0xd0, 0x02, 0xfa, 0x18, 0xd6, 0x04, 0x73, 0x5c, 0xcc, 0xd4, 0x4e, 0x49, 0xee, 0xbe, 0xb8, + 0x5f, 0xcc, 0x1a, 0x66, 0xfb, 0x2b, 0x76, 0x5c, 0xc8, 0x87, 0x47, 0x3f, 0x85, 0x44, 0xb4, 0x8a, + 0xdc, 0x14, 0xf3, 0xd9, 0x26, 0x6c, 0x2d, 0xa2, 0x87, 0xb0, 0xe1, 0x63, 0x41, 0x9c, 0xee, 0x98, + 0xab, 0x45, 0xd3, 0xf6, 0xba, 0x94, 0x2b, 0x63, 0xfe, 0xc8, 0x82, 0xb8, 0x8a, 0x79, 0x0b, 0xa6, + 0x92, 0x84, 0x84, 0x4f, 0x7a, 0xde, 0xd8, 0x23, 0x54, 0x58, 0xff, 0x32, 0x60, 0xc3, 0xc6, 0x82, + 0xd4, 0xb0, 0xc0, 0x6f, 0x7b, 0x96, 0xb6, 0x21, 0x49, 0xc6, 0xac, 0x37, 0x70, 0x3c, 0xea, 0x92, + 0xcf, 0x54, 0x1a, 0x31, 0x1b, 0x94, 0xaa, 0x21, 0x35, 0x68, 0x17, 0xbe, 0x31, 0x6b, 0xbc, 0x4f, + 0x2e, 0xb0, 0xef, 0x3a, 0x32, 0x4b, 0x35, 0x41, 0x31, 0xfb, 0x41, 0x64, 0xb4, 0x95, 0x4d, 0xe6, + 0x89, 0x7e, 0x02, 0xdf, 0x9a, 0xf9, 0x90, 0xcf, 0x7a, 0x03, 0x4c, 0xfb, 0x24, 0xf0, 0x8a, 0x2b, + 0xaf, 0x59, 0xc8, 0x7a, 0x68, 0x95, 0x7e, 0xd6, 0xaf, 0x0c, 0x48, 0x55, 0x30, 0x27, 0x51, 0xb1, + 0x4b, 0xd9, 0x19, 0x57, 0xb2, 0x2b, 0x42, 0xae, 0x8b, 0x39, 0x59, 0x48, 0x2c, 0xa8, 0x21, 0x23, + 0xf5, 0x73, 0x39, 0xbd, 0x0f, 0x48, 0x21, 0x17, 0xd3, 0x59, 0x55, 0x58, 0x15, 0x63, 0x21, 0x93, + 0xcf, 0x4d, 0xc8, 0x46, 0x03, 0xd0, 0x16, 0x58, 0x4c, 0xf8, 0xdb, 0x66, 0xbe, 0x02, 0x71, 0x2e, + 0x74, 0xbe, 0x57, 0xc7, 0x75, 0x69, 0x4f, 0x2e, 0x24, 0x43, 0xec, 0xc0, 0x15, 0xbd, 0x0b, 0xa9, + 0x73, 0x26, 0xe4, 0xc9, 0x33, 0x66, 0x17, 0xc4, 0x0f, 0xcb, 0x49, 0x06, 0xba, 0x96, 0x54, 0xa1, + 0x23, 0x48, 0x77, 0x99, 0x3e, 0x9d, 0x74, 0xdf, 0xae, 0xa6, 0xbd, 0xb4, 0x5c, 0x85, 0x85, 0x23, + 0x20, 0x17, 0x4b, 0x75, 0xe7, 0x24, 0xeb, 0xb7, 0x26, 0xa4, 0xe6, 0xcd, 0xe8, 0x53, 0x5d, 0x88, + 0x24, 0x24, 0xb3, 0xfb, 0xc1, 0x9b, 0x47, 0x5e, 0x10, 0xea, 0x74, 0x32, 0xd2, 0x75, 0x3d, 0x85, + 0xec, 0x84, 0xea, 0xb4, 0x55, 0xbb, 0x75, 0x57, 0x23, 0x75, 0x5d, 0x6a, 0xad, 0xcf, 0x0d, 0xc8, + 0x2d, 0x07, 0x41, 0x16, 0x6c, 0x55, 0x8e, 0x9a, 0xb5, 0x46, 0xf3, 0xa5, 0xd3, 0xee, 0x94, 0x3b, + 0x75, 0xa7, 0xde, 0x3c, 0x3e, 0x74, 0x8e, 0x9b, 0xed, 0x56, 0xbd, 0xda, 0xf8, 0xa8, 0x51, 0xaf, + 0xe5, 0x56, 0xd0, 0x13, 0x78, 0x78, 0x0d, 0x46, 0xaa, 0xea, 0xb5, 0x9c, 0x81, 0x0a, 0xf0, 0xf8, + 0xda, 0x10, 0xa1, 0x32, 0x67, 0xa2, 0x6d, 0xf8, 0xf6, 0x8d, 0x88, 0x7a, 0x2d, 0xb7, 0x6a, 0xfd, + 0xdd, 0x84, 0xcc, 0x62, 0xd7, 0xd0, 0xf1, 0x22, 0x53, 0x1f, 0xde, 0xa7, 0xe5, 0x4b, 0xe2, 0x1c, + 0x5b, 0xd6, 0xbf, 0x0d, 0x40, 0x57, 0xad, 0xe8, 0x3b, 0x50, 0x38, 0x29, 0x1f, 0x34, 0x6a, 0xe5, + 0xce, 0x91, 0x7d, 0x33, 0x11, 0xef, 0xc2, 0x93, 0x6b, 0x51, 0x8d, 0x66, 0xb9, 0xda, 0x69, 0x9c, + 0xd4, 0x73, 0x86, 0x2c, 0xf5, 0x5a, 0x48, 0x08, 0x30, 0x6f, 0x04, 0x7c, 0x5c, 0x6e, 0x1c, 0x48, + 0x2e, 0xd0, 0x7b, 0xb0, 0x7d, 0x2d, 0xa0, 0x73, 0x74, 0x58, 0x69, 0x77, 0x8e, 0x9a, 0xf5, 0x5a, + 0x2e, 0x76, 0x63, 0x26, 0xb5, 0x46, 0xbb, 0x5c, 0x91, 0x71, 0xe2, 0xd6, 0xa5, 0x31, 0xf7, 0x5e, + 0x6a, 0xd0, 0x33, 0x86, 0xea, 0x90, 0x88, 0xce, 0x92, 0x70, 0x22, 0x9f, 0xbe, 0x21, 0xad, 0xf6, + 0xcc, 0x13, 0xd5, 0x61, 0x8d, 0xab, 0x29, 0x0f, 0xa7, 0xf1, 0x07, 0xf7, 0x68, 0xcd, 0x84, 0xdb, + 0xa1, 0x33, 0xaa, 0x42, 0x42, 0x9d, 0xe8, 0x2e, 0x16, 0x58, 0x0d, 0x63, 0x72, 0xf7, 0x7b, 0xb7, + 0x47, 0xd2, 0x47, 0x9d, 0xad, 0x5e, 0x05, 0xf2, 0xc9, 0xba, 0x80, 0x07, 0x51, 0xfc, 0x1a, 0x39, + 0xf3, 0xa8, 0xa7, 0x2e, 0x20, 0x6f, 0xa9, 0xd2, 0x87, 0xb0, 0x81, 0x27, 0x62, 0xe0, 0x70, 0xaf, + 0x1f, 0xde, 0x9b, 0xd6, 0xa5, 0xdc, 0xf6, 0xfa, 0xd6, 0x17, 0x26, 0x6c, 0xd4, 0xc8, 0x90, 0xf4, + 0xe5, 0x5e, 0xfd, 0x19, 0xa0, 0xd9, 0x19, 0xae, 0xcf, 0xad, 0xaf, 0x70, 0xe6, 0x6d, 0x46, 0x51, + 0xb4, 0xf6, 0xee, 0x77, 0x4e, 0x53, 0x8f, 0x3f, 0x71, 0x1d, 0x3c, 0x62, 0x13, 0x2a, 0x42, 0x32, + 0xbf, 0x7b, 0xc7, 0xc2, 0x65, 0x05, 0xd6, 0xa7, 0x04, 0x71, 0x03, 0x19, 0xd9, 0xb0, 0xe9, 0x06, + 0x75, 0x79, 0x8c, 0xea, 0x88, 0xb1, 0xfb, 0x44, 0xcc, 0xcd, 0xfc, 0x03, 0x8d, 0xf5, 0x27, 0x13, + 0xe0, 0x98, 0xba, 0xff, 0x03, 0xba, 0x9e, 0xc1, 0x26, 0x17, 0xd8, 0x17, 0xce, 0x55, 0xd2, 0xb2, + 0xca, 0x50, 0xff, 0xff, 0x62, 0x8e, 0x42, 0x76, 0x46, 0x5c, 0x75, 0x88, 0xbd, 0x11, 0xaa, 0x43, + 0xac, 0xcb, 0x5c, 0xcd, 0xd7, 0x1d, 0xd7, 0xb3, 0x25, 0xe7, 0x0a, 0x73, 0xa7, 0xb6, 0x72, 0x47, + 0xef, 0x40, 0x7c, 0xec, 0x33, 0x76, 0x16, 0x6e, 0xec, 0x40, 0xb0, 0xfe, 0x62, 0xc2, 0x83, 0x6b, + 0x7c, 0xbe, 0x2e, 0x2d, 0xfb, 0x10, 0xd6, 0xc7, 0x84, 0xe2, 0xa1, 0x98, 0xde, 0xd0, 0xaa, 0xa5, + 0xf2, 0x5b, 0x01, 0xd8, 0xd6, 0x5e, 0xc8, 0x91, 0x37, 0x9b, 0xa1, 0xba, 0xfd, 0xf7, 0xd8, 0x68, + 0xe4, 0x89, 0x11, 0x89, 0x9a, 0xf4, 0xc3, 0x3b, 0xea, 0xa8, 0x04, 0x8e, 0xd5, 0xc8, 0xcf, 0xde, + 0xec, 0x2e, 0xab, 0xac, 0x3f, 0xac, 0x5e, 0x21, 0xb0, 0x35, 0xc4, 0xf4, 0x6b, 0x48, 0x60, 0xec, + 0x2b, 0x11, 0xd8, 0x82, 0xdc, 0xec, 0xb6, 0x11, 0xee, 0xf1, 0xf8, 0x7d, 0xf6, 0xf8, 0xec, 0xb2, + 0x12, 0x8e, 0xcd, 0xf7, 0xe5, 0xb5, 0x34, 0x68, 0x49, 0x77, 0xe8, 0x29, 0x4b, 0x7e, 0x4d, 0xed, + 0xc9, 0x6c, 0xa8, 0xaf, 0x84, 0x6a, 0x79, 0x83, 0x55, 0xdb, 0x34, 0x02, 0x3a, 0xc1, 0x87, 0x5e, + 0xca, 0xce, 0x28, 0xbd, 0x06, 0xda, 0xd7, 0x20, 0xb9, 0xfa, 0x14, 0x5d, 0x46, 0xb6, 0xad, 0xdf, + 0x1b, 0xb0, 0x59, 0x8b, 0xc6, 0xae, 0xaa, 0xae, 0xb5, 0x1c, 0xed, 0xcb, 0x6f, 0x5c, 0xad, 0xd4, + 0xdf, 0x6f, 0x77, 0xbc, 0x9e, 0xf4, 0xeb, 0xc0, 0x9e, 0x77, 0x45, 0x4d, 0x48, 0x4f, 0xe8, 0x7c, + 0x2c, 0x53, 0xc5, 0x2a, 0xbe, 0xe9, 0xdc, 0xda, 0x8b, 0xee, 0xd6, 0x10, 0xd6, 0x8e, 0xc7, 0xc2, + 0x1b, 0x11, 0xf4, 0x1c, 0x10, 0xe6, 0x8e, 0xaa, 0x91, 0xf5, 0x5e, 0x39, 0x03, 0xe2, 0xf5, 0x07, + 0x22, 0xbc, 0xf7, 0x67, 0x31, 0x3f, 0x3a, 0xab, 0x48, 0xfd, 0xbe, 0x52, 0xa3, 0x27, 0x00, 0x17, + 0x1e, 0x75, 0xd9, 0x85, 0x33, 0x24, 0x34, 0xfc, 0x82, 0x4a, 0x04, 0x9a, 0x03, 0x42, 0xd1, 0x37, + 0x61, 0xad, 0xeb, 0x89, 0x73, 0xd2, 0x53, 0x73, 0x95, 0xb2, 0x43, 0xc9, 0xfa, 0x05, 0xbc, 0x53, + 0x9d, 0xf8, 0x3e, 0xa1, 0xa2, 0x3a, 0xf7, 0xc3, 0x80, 0x23, 0x1b, 0x32, 0x0b, 0xbf, 0x15, 0x34, + 0x45, 0xcf, 0xef, 0xd8, 0x04, 0xf3, 0x51, 0xec, 0xf4, 0xfc, 0x4f, 0x08, 0x6e, 0x6d, 0xc3, 0x7a, + 0xb8, 0xdd, 0xe4, 0xe1, 0xe4, 0x51, 0x4a, 0xfc, 0xb0, 0x9a, 0x40, 0xa8, 0xfc, 0xd1, 0xfc, 0xeb, + 0xe5, 0x96, 0xf1, 0xe5, 0xe5, 0x96, 0xf1, 0xcf, 0xcb, 0x2d, 0xe3, 0xd7, 0xaf, 0xb7, 0x56, 0xbe, + 0x7c, 0xbd, 0xb5, 0xf2, 0x8f, 0xd7, 0x5b, 0x2b, 0x50, 0xe8, 0xb1, 0xd1, 0xad, 0x8c, 0x56, 0xa0, + 0x2d, 0xe5, 0x96, 0xcf, 0x04, 0x6b, 0x19, 0x3f, 0x3f, 0xe9, 0x7b, 0x62, 0x30, 0xe9, 0x96, 0x7a, + 0x6c, 0xb4, 0xd3, 0x63, 0x7c, 0xc4, 0xf8, 0x8e, 0x4f, 0x86, 0x78, 0x4a, 0xfc, 0x9d, 0xf3, 0xdd, + 0xe8, 0xb1, 0x37, 0xc0, 0x1e, 0xe5, 0x3b, 0xb7, 0xfd, 0x13, 0xfa, 0x40, 0x89, 0x5a, 0xfa, 0x8d, + 0xb9, 0xda, 0xaa, 0xb6, 0xbf, 0x30, 0x1f, 0xb7, 0x74, 0x2a, 0x55, 0x99, 0x8a, 0x5a, 0xba, 0x74, + 0x12, 0x82, 0xfe, 0x36, 0x33, 0x9f, 0x4a, 0xf3, 0xa9, 0x32, 0x9f, 0x6a, 0xf3, 0xa5, 0x59, 0xbc, + 0xcd, 0x7c, 0xfa, 0xb2, 0x55, 0x39, 0x24, 0x02, 0xcb, 0x6b, 0xd3, 0x7f, 0xcc, 0x6d, 0x0d, 0xdd, + 0xdb, 0x93, 0xd8, 0xbd, 0x3d, 0x05, 0xde, 0xdb, 0xd3, 0xe8, 0xee, 0x9a, 0xfa, 0xc7, 0xf4, 0xa3, + 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x42, 0x0b, 0x45, 0x79, 0xd9, 0x12, 0x00, 0x00, } func (m *Validator) Marshal() (dAtA []byte, err error) { @@ -2060,14 +2031,10 @@ func (m *BondingState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XUnbondingEpoch != nil { - { - size := m.XUnbondingEpoch.Size() - i -= size - if _, err := m.XUnbondingEpoch.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } + if m.UnbondingEpoch != 0 { + i = encodeVarintStake(dAtA, i, uint64(m.UnbondingEpoch)) + i-- + dAtA[i] = 0x10 } if m.State != 0 { i = encodeVarintStake(dAtA, i, uint64(m.State)) @@ -2077,18 +2044,6 @@ func (m *BondingState) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *BondingState_UnbondingEpoch) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *BondingState_UnbondingEpoch) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i = encodeVarintStake(dAtA, i, uint64(m.UnbondingEpoch)) - i-- - dAtA[i] = 0x10 - return len(dAtA) - i, nil -} func (m *ValidatorState) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2901,21 +2856,12 @@ func (m *BondingState) Size() (n int) { if m.State != 0 { n += 1 + sovStake(uint64(m.State)) } - if m.XUnbondingEpoch != nil { - n += m.XUnbondingEpoch.Size() + if m.UnbondingEpoch != 0 { + n += 1 + sovStake(uint64(m.UnbondingEpoch)) } return n } -func (m *BondingState_UnbondingEpoch) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovStake(uint64(m.UnbondingEpoch)) - return n -} func (m *ValidatorState) Size() (n int) { if m == nil { return 0 @@ -4342,7 +4288,7 @@ func (m *BondingState) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field UnbondingEpoch", wireType) } - var v uint64 + m.UnbondingEpoch = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowStake @@ -4352,12 +4298,11 @@ func (m *BondingState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + m.UnbondingEpoch |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.XUnbondingEpoch = &BondingState_UnbondingEpoch{v} default: iNdEx = preIndex skippy, err := skipStake(dAtA[iNdEx:]) diff --git a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go index c22d6f2ae..1c177bb4b 100644 --- a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go +++ b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go @@ -264,9 +264,9 @@ func (m *TransactionBody) GetMemoData() *MemoData { // Represents the encrypted memo data. type MemoData struct { - // Types that are valid to be assigned to XEncryptedMemo: - // *MemoData_EncryptedMemo - XEncryptedMemo isMemoData_XEncryptedMemo `protobuf_oneof:"_encrypted_memo"` + // The encrypted data. It will only be populated if there are + // outputs in the actions of the transaction. 528 bytes. + EncryptedMemo []byte `protobuf:"bytes,1,opt,name=encrypted_memo,json=encryptedMemo,proto3" json:"encrypted_memo,omitempty"` } func (m *MemoData) Reset() { *m = MemoData{} } @@ -302,39 +302,13 @@ func (m *MemoData) XXX_DiscardUnknown() { var xxx_messageInfo_MemoData proto.InternalMessageInfo -type isMemoData_XEncryptedMemo interface { - isMemoData_XEncryptedMemo() - MarshalTo([]byte) (int, error) - Size() int -} - -type MemoData_EncryptedMemo struct { - EncryptedMemo []byte `protobuf:"bytes,1,opt,name=encrypted_memo,json=encryptedMemo,proto3,oneof" json:"encrypted_memo,omitempty"` -} - -func (*MemoData_EncryptedMemo) isMemoData_XEncryptedMemo() {} - -func (m *MemoData) GetXEncryptedMemo() isMemoData_XEncryptedMemo { - if m != nil { - return m.XEncryptedMemo - } - return nil -} - func (m *MemoData) GetEncryptedMemo() []byte { - if x, ok := m.GetXEncryptedMemo().(*MemoData_EncryptedMemo); ok { - return x.EncryptedMemo + if m != nil { + return m.EncryptedMemo } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*MemoData) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*MemoData_EncryptedMemo)(nil), - } -} - // The parameters determining if a transaction should be accepted by the chain. type TransactionParameters struct { // The maximum height that this transaction can be included in the chain. @@ -1096,14 +1070,12 @@ type TransactionBodyView struct { TransactionParameters *TransactionParameters `protobuf:"bytes,2,opt,name=transaction_parameters,json=transactionParameters,proto3" json:"transaction_parameters,omitempty"` // The transaction fee. Fee *v1alpha1.Fee `protobuf:"bytes,3,opt,name=fee,proto3" json:"fee,omitempty"` - // Types that are valid to be assigned to XDetectionData: - // - // *TransactionBodyView_DetectionData - XDetectionData isTransactionBodyView_XDetectionData `protobuf_oneof:"_detection_data"` - // Types that are valid to be assigned to XMemoView: - // - // *TransactionBodyView_MemoView - XMemoView isTransactionBodyView_XMemoView `protobuf_oneof:"_memo_view"` + // The detection data in this transaction, only populated if + // there are outputs in the actions of this transaction. + DetectionData *DetectionData `protobuf:"bytes,4,opt,name=detection_data,json=detectionData,proto3" json:"detection_data,omitempty"` + // An optional view of a transaction memo. It will only be populated if there are + // outputs in the actions of this transaction. + MemoView *MemoView `protobuf:"bytes,5,opt,name=memo_view,json=memoView,proto3" json:"memo_view,omitempty"` } func (m *TransactionBodyView) Reset() { *m = TransactionBodyView{} } @@ -1139,40 +1111,6 @@ func (m *TransactionBodyView) XXX_DiscardUnknown() { var xxx_messageInfo_TransactionBodyView proto.InternalMessageInfo -type isTransactionBodyView_XDetectionData interface { - isTransactionBodyView_XDetectionData() - MarshalTo([]byte) (int, error) - Size() int -} -type isTransactionBodyView_XMemoView interface { - isTransactionBodyView_XMemoView() - MarshalTo([]byte) (int, error) - Size() int -} - -type TransactionBodyView_DetectionData struct { - DetectionData *DetectionData `protobuf:"bytes,4,opt,name=detection_data,json=detectionData,proto3,oneof" json:"detection_data,omitempty"` -} -type TransactionBodyView_MemoView struct { - MemoView *MemoView `protobuf:"bytes,5,opt,name=memo_view,json=memoView,proto3,oneof" json:"memo_view,omitempty"` -} - -func (*TransactionBodyView_DetectionData) isTransactionBodyView_XDetectionData() {} -func (*TransactionBodyView_MemoView) isTransactionBodyView_XMemoView() {} - -func (m *TransactionBodyView) GetXDetectionData() isTransactionBodyView_XDetectionData { - if m != nil { - return m.XDetectionData - } - return nil -} -func (m *TransactionBodyView) GetXMemoView() isTransactionBodyView_XMemoView { - if m != nil { - return m.XMemoView - } - return nil -} - func (m *TransactionBodyView) GetActionViews() []*ActionView { if m != nil { return m.ActionViews @@ -1195,27 +1133,19 @@ func (m *TransactionBodyView) GetFee() *v1alpha1.Fee { } func (m *TransactionBodyView) GetDetectionData() *DetectionData { - if x, ok := m.GetXDetectionData().(*TransactionBodyView_DetectionData); ok { - return x.DetectionData + if m != nil { + return m.DetectionData } return nil } func (m *TransactionBodyView) GetMemoView() *MemoView { - if x, ok := m.GetXMemoView().(*TransactionBodyView_MemoView); ok { - return x.MemoView + if m != nil { + return m.MemoView } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*TransactionBodyView) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*TransactionBodyView_DetectionData)(nil), - (*TransactionBodyView_MemoView)(nil), - } -} - // A view of a specific state change action performed by a transaction. type ActionView struct { // Types that are valid to be assigned to ActionView: @@ -3567,182 +3497,180 @@ func init() { } var fileDescriptor_cd20ea79758052c4 = []byte{ - // 2795 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x6f, 0xe3, 0xc6, - 0xf5, 0x17, 0x25, 0xdb, 0x6b, 0x3f, 0xc9, 0x5a, 0x7b, 0xf6, 0x47, 0xf4, 0x35, 0xbe, 0x70, 0x16, - 0x4c, 0xb2, 0xf5, 0x6e, 0x12, 0x39, 0xeb, 0xdd, 0x4d, 0x50, 0x27, 0x6d, 0x63, 0xd9, 0xd9, 0xc8, - 0xbb, 0xf1, 0x5a, 0xa1, 0x53, 0xbb, 0x49, 0x9d, 0xb0, 0x23, 0x72, 0x6c, 0x11, 0x96, 0x48, 0x96, - 0xa4, 0xe4, 0x75, 0xfe, 0x81, 0xa6, 0x97, 0x22, 0x05, 0x7a, 0x28, 0x7a, 0x29, 0x50, 0xe4, 0xd4, - 0x43, 0xff, 0x80, 0x16, 0x3d, 0x37, 0x68, 0x2f, 0x01, 0x7a, 0x29, 0x10, 0x14, 0x48, 0x37, 0xa7, - 0xfe, 0xb8, 0xf4, 0xdc, 0x4b, 0x31, 0x3f, 0x38, 0x24, 0x25, 0x7a, 0x45, 0xd9, 0x4e, 0x83, 0xfc, - 0x38, 0x99, 0xf3, 0xfc, 0xde, 0x67, 0x66, 0xde, 0x7b, 0x33, 0xf3, 0xde, 0x9b, 0x11, 0xdc, 0x72, - 0x89, 0xdd, 0xed, 0x34, 0x3d, 0xbc, 0x68, 0x38, 0x1e, 0x59, 0x0c, 0x3c, 0x6c, 0xfb, 0xd8, 0x08, - 0x2c, 0xc7, 0x5e, 0xec, 0xdd, 0xc0, 0x6d, 0xb7, 0x85, 0x6f, 0xc4, 0x89, 0x55, 0xd7, 0x73, 0x02, - 0x07, 0xa9, 0xa1, 0x54, 0x95, 0x4a, 0x55, 0xe3, 0x0c, 0xa1, 0xd4, 0xdc, 0xf5, 0x24, 0xb2, 0xe1, - 0x1d, 0xb9, 0x81, 0x13, 0x81, 0xf2, 0x36, 0xc7, 0x9b, 0x5b, 0x48, 0xf2, 0xfa, 0x01, 0x3e, 0x20, - 0x11, 0x2b, 0x6b, 0x0a, 0xce, 0x27, 0x93, 0x9c, 0x56, 0xd3, 0x88, 0xf8, 0xac, 0xa6, 0x91, 0xce, - 0x65, 0x92, 0x07, 0x11, 0x97, 0x49, 0x1e, 0x08, 0xae, 0xa5, 0x24, 0xd7, 0xbe, 0xd3, 0x23, 0x9e, - 0x8d, 0x6d, 0x23, 0xd6, 0x75, 0x44, 0xe3, 0x32, 0xea, 0x6f, 0x15, 0x28, 0xbe, 0x11, 0x4d, 0x17, - 0xbd, 0x0a, 0x63, 0x4d, 0xc7, 0x3c, 0xaa, 0x28, 0x57, 0x94, 0x85, 0xe2, 0xd2, 0xcd, 0xea, 0x70, - 0xc5, 0x54, 0x63, 0xe2, 0x35, 0xc7, 0x3c, 0xd2, 0x18, 0x00, 0x7a, 0x1c, 0x8a, 0x4d, 0xcb, 0x36, - 0x2d, 0x7b, 0x5f, 0xf7, 0xad, 0xfd, 0x4a, 0xfe, 0x8a, 0xb2, 0x50, 0xd2, 0x40, 0x90, 0xb6, 0xac, - 0x7d, 0xb4, 0x02, 0x13, 0xd8, 0x36, 0x5a, 0x8e, 0x57, 0x29, 0xb0, 0xbe, 0xae, 0xf5, 0xf5, 0x25, - 0x14, 0x2a, 0xbb, 0xd9, 0x20, 0xde, 0x41, 0x9b, 0x68, 0x8e, 0x13, 0x68, 0x42, 0x50, 0xad, 0x40, - 0x7e, 0xdd, 0x44, 0x08, 0xc6, 0x5a, 0xd8, 0x6f, 0xb1, 0x21, 0x97, 0x34, 0xf6, 0xad, 0xaa, 0x00, - 0xaf, 0xec, 0xed, 0x11, 0x23, 0xa8, 0x63, 0xbf, 0x85, 0x2e, 0xc2, 0xb8, 0x65, 0xdb, 0xc4, 0x13, - 0x2c, 0xbc, 0xa1, 0x7e, 0x50, 0x80, 0xf3, 0x7d, 0x63, 0x47, 0x6b, 0x70, 0x8e, 0xb7, 0xfc, 0x8a, - 0x72, 0xa5, 0xb0, 0x50, 0x5c, 0xba, 0x9e, 0x45, 0x03, 0x2b, 0xac, 0xad, 0x85, 0xa2, 0xc8, 0x85, - 0xcb, 0x31, 0x3e, 0xdd, 0xc5, 0x1e, 0xee, 0x90, 0x80, 0x78, 0x3e, 0x53, 0x43, 0x71, 0xe9, 0x9b, - 0x23, 0xaa, 0xb5, 0x21, 0x01, 0xb4, 0x4b, 0x41, 0x1a, 0x19, 0xdd, 0x82, 0xc2, 0x1e, 0x21, 0x42, - 0x93, 0xea, 0x10, 0x4d, 0xde, 0x21, 0x44, 0xa3, 0xec, 0xe8, 0x7b, 0x50, 0x36, 0x49, 0x40, 0xf8, - 0x28, 0x4d, 0x1c, 0xe0, 0xca, 0x18, 0x03, 0xb8, 0x91, 0x65, 0x7c, 0x6b, 0xa1, 0xe4, 0x1a, 0x0e, - 0xb0, 0x36, 0x6d, 0xc6, 0x9b, 0x68, 0x1d, 0xa6, 0x3a, 0xa4, 0xe3, 0x70, 0xd0, 0x71, 0x06, 0xfa, - 0x4c, 0x16, 0xd0, 0x0d, 0xd2, 0x71, 0x18, 0xde, 0x64, 0x47, 0x7c, 0xa9, 0xeb, 0x30, 0x19, 0x52, - 0xd1, 0x75, 0x28, 0x13, 0x9b, 0x4d, 0x87, 0x98, 0x3a, 0xe5, 0xe0, 0x16, 0xad, 0xe7, 0xb4, 0x69, - 0x49, 0xa7, 0xcc, 0xef, 0x29, 0x4a, 0x6d, 0x16, 0xce, 0xeb, 0x49, 0x66, 0x75, 0x07, 0x2e, 0xa5, - 0x6a, 0x15, 0x3d, 0x01, 0xd3, 0xe4, 0x81, 0x6b, 0x79, 0x47, 0x7a, 0x8b, 0x58, 0xfb, 0xad, 0x80, - 0xc1, 0x8e, 0x69, 0x25, 0x4e, 0xac, 0x33, 0x1a, 0xfa, 0x3f, 0x98, 0x34, 0x5a, 0xd8, 0xb2, 0x75, - 0xcb, 0x64, 0x76, 0x9c, 0xd2, 0xce, 0xb1, 0xf6, 0xba, 0xa9, 0xbe, 0x0e, 0xd3, 0x09, 0x75, 0xa0, - 0x97, 0x61, 0x6a, 0xaf, 0x63, 0xea, 0x46, 0xbb, 0x4b, 0xfc, 0xca, 0x18, 0xf3, 0xa4, 0x27, 0x86, - 0x58, 0x65, 0xb5, 0xdd, 0x25, 0xda, 0xe4, 0x5e, 0xc7, 0xa4, 0x1f, 0xbe, 0xfa, 0xe7, 0x32, 0x4c, - 0x70, 0xbf, 0x42, 0x2b, 0x30, 0xee, 0xbb, 0xc4, 0x36, 0xc5, 0xa2, 0xbc, 0x96, 0x45, 0x91, 0x5b, - 0x54, 0xa0, 0x9e, 0xd3, 0xb8, 0x24, 0x5a, 0x83, 0x09, 0xa7, 0x1b, 0xb8, 0xdd, 0x40, 0x78, 0x60, - 0x26, 0xb7, 0xde, 0x64, 0x12, 0xf5, 0x9c, 0x26, 0x64, 0xd1, 0xf3, 0x30, 0xe6, 0x1f, 0x62, 0x57, - 0xb8, 0xd9, 0x95, 0x3e, 0x0c, 0xba, 0x11, 0x45, 0xfd, 0x1f, 0x62, 0xb7, 0x9e, 0xd3, 0x18, 0x3f, - 0xba, 0x03, 0x40, 0xff, 0xea, 0x46, 0x1b, 0x5b, 0x1d, 0xe1, 0x63, 0x4f, 0x0d, 0x93, 0x5e, 0xa5, - 0xcc, 0xf5, 0x9c, 0x36, 0xe5, 0x87, 0x0d, 0xb4, 0x07, 0x17, 0x7b, 0xb8, 0x6d, 0x99, 0x38, 0x70, - 0x3c, 0xdd, 0x24, 0x7b, 0x96, 0x6d, 0xd1, 0x11, 0x57, 0x66, 0x52, 0xbd, 0x96, 0x6f, 0xb3, 0x12, - 0x73, 0x3b, 0x94, 0x5c, 0x93, 0x82, 0xf5, 0x9c, 0x76, 0xa1, 0x37, 0x48, 0xa6, 0xe3, 0xb5, 0x9a, - 0x86, 0xce, 0xf5, 0x51, 0x99, 0x4d, 0x1d, 0x2f, 0xdd, 0x9c, 0x25, 0xf6, 0x7a, 0xd3, 0xe0, 0xb6, - 0xa2, 0xe3, 0xb5, 0xc2, 0x06, 0xda, 0x85, 0xf3, 0xae, 0xe7, 0xb8, 0x8e, 0x8f, 0xdb, 0xba, 0xdf, - 0x6d, 0x76, 0xac, 0xa0, 0x82, 0x52, 0x87, 0x1a, 0xdb, 0x96, 0x25, 0x66, 0x43, 0x48, 0x6e, 0x31, - 0xc1, 0x7a, 0x4e, 0x2b, 0xbb, 0x09, 0x0a, 0x6a, 0xc2, 0xac, 0x44, 0x3f, 0xb4, 0x82, 0x96, 0xe9, - 0xe1, 0xc3, 0xca, 0x85, 0xd4, 0x7d, 0xfb, 0x51, 0xf8, 0x3b, 0x42, 0xb4, 0x9e, 0xd3, 0x66, 0xdc, - 0x3e, 0x1a, 0x7a, 0x13, 0xca, 0x91, 0xc6, 0x7b, 0x4e, 0x40, 0x2a, 0x17, 0x59, 0x07, 0xcf, 0x65, - 0xe8, 0x40, 0x2a, 0x7c, 0xdb, 0x09, 0x08, 0x5d, 0xa2, 0xbd, 0x38, 0x81, 0x42, 0x9b, 0xa4, 0x4d, - 0xf6, 0x23, 0xe8, 0x4b, 0x99, 0xa1, 0xd7, 0x42, 0xc1, 0x10, 0xda, 0x8c, 0x13, 0x90, 0x03, 0x97, - 0xa5, 0x66, 0x4c, 0xe2, 0x3a, 0xbe, 0x15, 0x08, 0xdf, 0xbb, 0xcc, 0xba, 0x78, 0x61, 0x04, 0xf5, - 0xac, 0x71, 0xf9, 0xd0, 0x1b, 0x2f, 0xba, 0x29, 0x74, 0xb4, 0x09, 0xd3, 0xac, 0x45, 0xf7, 0x51, - 0xc7, 0x25, 0x76, 0x65, 0x9e, 0xf5, 0xb3, 0xf0, 0x28, 0x1f, 0x6f, 0x08, 0x81, 0x4d, 0x97, 0x50, - 0xb7, 0x29, 0xb9, 0xb1, 0x36, 0xd2, 0xa0, 0x2c, 0x01, 0x8d, 0xb6, 0xe3, 0x93, 0xca, 0xe3, 0xa9, - 0x6b, 0x3f, 0x15, 0x71, 0x95, 0x0a, 0x50, 0xad, 0xb8, 0x71, 0x02, 0xfa, 0x3e, 0xcc, 0x4a, 0x4c, - 0xe9, 0x2f, 0x57, 0x52, 0xf7, 0xe6, 0x54, 0xd8, 0x84, 0xa3, 0xf4, 0xd1, 0x10, 0x81, 0x4b, 0x12, - 0xdc, 0x23, 0x87, 0xd8, 0x33, 0x85, 0xc6, 0x55, 0xd6, 0xc1, 0x62, 0x96, 0x0e, 0x34, 0x26, 0x17, - 0x6a, 0xfa, 0x82, 0x3b, 0x48, 0x46, 0x6b, 0x30, 0x29, 0x4c, 0x4d, 0x2a, 0x0b, 0x0c, 0xf9, 0xea, - 0xa3, 0x57, 0xbd, 0xf0, 0x14, 0xaa, 0x0e, 0x29, 0x89, 0xee, 0x02, 0x74, 0x6d, 0x89, 0x73, 0x2d, - 0xd5, 0x56, 0x7d, 0x38, 0xdf, 0x95, 0xfc, 0xf5, 0x9c, 0x16, 0x93, 0x46, 0x6f, 0xc1, 0x4c, 0xd4, - 0x12, 0x73, 0xbe, 0xce, 0x10, 0x9f, 0xcd, 0x8a, 0x18, 0xce, 0xf8, 0x7c, 0x37, 0x49, 0x42, 0x77, - 0x61, 0xca, 0xc4, 0x8e, 0xce, 0x37, 0xff, 0x25, 0x06, 0xfa, 0x74, 0x96, 0xd5, 0x81, 0x9d, 0x70, - 0xfb, 0x9f, 0x34, 0xc5, 0x37, 0xda, 0x00, 0xa0, 0x58, 0xe2, 0x14, 0xb8, 0x99, 0x6a, 0xf6, 0x63, - 0xc0, 0xe4, 0x39, 0x40, 0x47, 0xc3, 0x1b, 0xa8, 0x01, 0x45, 0x0a, 0x27, 0x56, 0x57, 0xe5, 0x56, - 0xea, 0x8c, 0x8f, 0xc1, 0x13, 0x4b, 0x87, 0x2a, 0xd2, 0x94, 0x2d, 0xf4, 0x26, 0xcc, 0x58, 0x86, - 0xbf, 0xf4, 0x9c, 0xf4, 0x4d, 0xdc, 0xae, 0x7c, 0xa8, 0xa4, 0x4e, 0x3a, 0xb9, 0xf7, 0x52, 0xa1, - 0x1d, 0x29, 0x43, 0xf5, 0x68, 0x25, 0x49, 0xb5, 0x49, 0x98, 0xe0, 0x7b, 0xb9, 0xfa, 0xe3, 0x31, - 0xb8, 0x1c, 0x0f, 0x01, 0x88, 0xe7, 0xbb, 0xf4, 0xd8, 0xee, 0x11, 0xa4, 0x43, 0xc9, 0xc5, 0x47, - 0x6d, 0x07, 0x9b, 0xfa, 0x01, 0x39, 0x0a, 0xe3, 0xbf, 0x97, 0xb2, 0x1c, 0x94, 0x0d, 0x2e, 0x77, - 0x8f, 0x1c, 0xd1, 0x4e, 0x57, 0x9d, 0x4e, 0xc7, 0x0a, 0x3a, 0xc4, 0x0e, 0xb4, 0xa2, 0x2b, 0xff, - 0xe3, 0xa3, 0x1f, 0xc0, 0x0c, 0xb3, 0xa4, 0x6e, 0x77, 0xdb, 0x6d, 0x6b, 0xcf, 0xe2, 0xf1, 0x20, - 0xed, 0xe4, 0x76, 0x96, 0x4e, 0xee, 0x87, 0x52, 0xb4, 0x8f, 0xfb, 0x4e, 0x40, 0xb4, 0xf3, 0x0c, - 0x4e, 0xd2, 0x7d, 0x74, 0x07, 0x4a, 0xd8, 0xec, 0x59, 0x06, 0xd1, 0x6d, 0x27, 0x20, 0x7e, 0xa5, - 0x90, 0x29, 0xf0, 0x60, 0x58, 0x45, 0x2e, 0x48, 0xbf, 0x7d, 0xba, 0x9d, 0x61, 0xd3, 0xf4, 0x88, - 0xef, 0xeb, 0x3d, 0x8b, 0x1c, 0x86, 0x11, 0xcc, 0xf5, 0x21, 0x40, 0x2b, 0x5c, 0x66, 0xdb, 0x22, - 0x87, 0x5a, 0x09, 0x47, 0x0d, 0x9f, 0x86, 0x1f, 0x26, 0xb1, 0x9d, 0x8e, 0x5f, 0x19, 0x67, 0x48, - 0xcf, 0x0c, 0x41, 0x5a, 0xa3, 0xcc, 0x1b, 0x24, 0xc0, 0x34, 0x7e, 0xd4, 0x84, 0x2c, 0xda, 0x80, - 0x72, 0x3c, 0xac, 0xb6, 0xcc, 0xca, 0x44, 0xea, 0x16, 0x90, 0xaa, 0xbe, 0x75, 0x53, 0x9b, 0x8e, - 0xfd, 0x63, 0xdd, 0xa4, 0x39, 0x42, 0x64, 0xb8, 0x63, 0x72, 0x84, 0xdf, 0x29, 0x50, 0x39, 0xce, - 0xba, 0x68, 0x13, 0x8a, 0x31, 0x8f, 0x11, 0xd1, 0x59, 0x75, 0x34, 0x87, 0xd1, 0x20, 0x72, 0x11, - 0x74, 0x1f, 0xc0, 0x90, 0xf0, 0x22, 0x52, 0xab, 0x0e, 0x51, 0xd5, 0x56, 0x40, 0xb7, 0x8b, 0xc8, - 0xe5, 0x62, 0x08, 0xea, 0xcf, 0x14, 0x98, 0x1d, 0x70, 0x1b, 0x74, 0x07, 0xa6, 0xa4, 0x07, 0x8a, - 0x41, 0x2f, 0x0c, 0x73, 0x91, 0x90, 0x5f, 0x8b, 0x44, 0xd1, 0x0b, 0x30, 0x46, 0xdd, 0x4c, 0x8c, - 0x33, 0x93, 0x97, 0x31, 0x01, 0xf5, 0x4f, 0x4a, 0x22, 0xf1, 0xa2, 0x2e, 0x82, 0xde, 0x80, 0x29, - 0x9a, 0x36, 0x32, 0x7f, 0x13, 0x83, 0x7a, 0xe1, 0x04, 0xc9, 0x27, 0xf3, 0xbd, 0xc9, 0xa6, 0xf8, - 0xfa, 0x9f, 0x24, 0xa1, 0x9f, 0x14, 0xe0, 0x42, 0xca, 0x28, 0xd0, 0xeb, 0x50, 0x12, 0x8e, 0xca, - 0xd7, 0x10, 0xdf, 0x4f, 0xaa, 0xd9, 0xf3, 0x49, 0x36, 0x97, 0x62, 0xa4, 0xa3, 0x2f, 0x4e, 0x5e, - 0xf9, 0xf6, 0x99, 0xe5, 0x95, 0x3c, 0xb6, 0x8b, 0x11, 0xde, 0x53, 0x14, 0x74, 0x5f, 0x24, 0x97, - 0xcc, 0x57, 0x46, 0x4c, 0x2e, 0xa9, 0x22, 0xeb, 0x0a, 0x4f, 0x2f, 0xe9, 0x77, 0x98, 0x29, 0x26, - 0xc7, 0x5b, 0x2b, 0x01, 0xe8, 0xb2, 0x0f, 0xf5, 0xdf, 0x65, 0x80, 0xc8, 0x26, 0xe8, 0x95, 0x64, - 0x3e, 0xf6, 0x6c, 0xe6, 0x7c, 0x8c, 0x75, 0x2e, 0x73, 0xb2, 0x7a, 0x5f, 0x4e, 0x56, 0xcd, 0x9e, - 0x93, 0x09, 0xa0, 0x30, 0x2f, 0x5b, 0x4e, 0xe4, 0x65, 0x4f, 0x0e, 0xcb, 0xac, 0x84, 0x34, 0xcf, - 0xcd, 0xee, 0xa6, 0xe4, 0x66, 0xd7, 0x32, 0xe5, 0x66, 0x02, 0xe6, 0xeb, 0xfc, 0xec, 0xcb, 0x99, - 0x9f, 0xbd, 0x73, 0x4c, 0x7e, 0x76, 0x3b, 0xdb, 0x22, 0x8e, 0xe5, 0x63, 0xc2, 0x51, 0xbe, 0x4e, - 0xd2, 0xbe, 0x82, 0x49, 0xda, 0xb5, 0x33, 0x4a, 0xd2, 0xae, 0x9f, 0x2a, 0x49, 0xfb, 0x4a, 0x25, - 0x52, 0x69, 0x19, 0xe9, 0xd3, 0x67, 0x94, 0x91, 0x7e, 0x86, 0x49, 0xda, 0x34, 0x14, 0x63, 0xf1, - 0x92, 0xfa, 0xd3, 0x02, 0x4c, 0xc9, 0x43, 0x13, 0xbd, 0x0e, 0xe7, 0x7a, 0x96, 0x6f, 0x35, 0xdb, - 0x44, 0x1c, 0xba, 0xb7, 0x47, 0x3a, 0x74, 0xab, 0xdb, 0x5c, 0xb8, 0x9e, 0xd3, 0x42, 0x1c, 0x74, - 0x1f, 0x26, 0x1c, 0x17, 0xff, 0xb0, 0x1b, 0x06, 0xb0, 0xb7, 0x46, 0x43, 0xdc, 0x64, 0xb2, 0xec, - 0x10, 0x66, 0x5f, 0x73, 0x3f, 0x52, 0xe0, 0x9c, 0xe8, 0x06, 0x7d, 0xe7, 0xa4, 0x15, 0xdb, 0x30, - 0x36, 0x78, 0x31, 0x11, 0x5b, 0x7f, 0x23, 0x43, 0x6c, 0xcd, 0xa2, 0x45, 0x26, 0x34, 0xb7, 0x0e, - 0x13, 0x7c, 0x74, 0xa7, 0x1e, 0x07, 0x8d, 0x83, 0x78, 0xce, 0xca, 0x6c, 0xf2, 0xd7, 0x02, 0xcc, - 0x0e, 0xec, 0xec, 0xe8, 0xcd, 0x7e, 0xdb, 0x7c, 0xeb, 0x44, 0x27, 0x44, 0x9a, 0x8d, 0xb6, 0xfb, - 0x6c, 0xf4, 0xd2, 0xc9, 0x90, 0x07, 0x6c, 0xf5, 0xcb, 0x98, 0xad, 0x76, 0x06, 0xce, 0x39, 0xe5, - 0x64, 0x75, 0xc8, 0xfe, 0x03, 0xee, 0x54, 0x36, 0xc4, 0xd2, 0x86, 0x9f, 0xd5, 0xf8, 0x6a, 0x33, - 0xfd, 0xc0, 0xea, 0xbf, 0x0a, 0x00, 0x51, 0x80, 0x89, 0xb4, 0x7e, 0xc3, 0x3e, 0x3f, 0x5a, 0x84, - 0x9a, 0x66, 0xd1, 0xcd, 0x3e, 0x8b, 0xde, 0x1e, 0x11, 0x72, 0xc0, 0x94, 0x1f, 0xc7, 0x4c, 0x59, - 0x93, 0x11, 0xb5, 0x32, 0xea, 0x2d, 0x87, 0x8c, 0xa5, 0x4f, 0x63, 0xb5, 0xfe, 0x8a, 0x40, 0xe1, - 0xb4, 0x15, 0x81, 0xb9, 0xd7, 0xa4, 0x1b, 0x9c, 0xc1, 0xdc, 0xe8, 0x16, 0xcb, 0xbf, 0xf8, 0x72, - 0xfe, 0x58, 0x81, 0x71, 0x7e, 0xa6, 0xad, 0x24, 0x6e, 0x7d, 0xb3, 0x27, 0x34, 0xb1, 0xfb, 0xde, - 0xd7, 0x60, 0x12, 0x77, 0x83, 0x96, 0xcc, 0xb3, 0x07, 0x83, 0xe8, 0x81, 0xca, 0x05, 0x45, 0x58, - 0xe9, 0x06, 0xad, 0x2d, 0x6b, 0xdf, 0xc6, 0x41, 0xd7, 0x23, 0xda, 0x39, 0xcc, 0x9b, 0x68, 0x05, - 0xc6, 0x5d, 0xcf, 0x71, 0xf6, 0x84, 0x0a, 0x9f, 0x1e, 0x02, 0xf5, 0xd6, 0x3d, 0x06, 0xd6, 0xa0, - 0x22, 0x1a, 0x97, 0x54, 0x7f, 0xa1, 0x88, 0x03, 0x84, 0x5d, 0xec, 0xea, 0x80, 0x9a, 0xb8, 0x4d, - 0x57, 0x87, 0x1e, 0x2b, 0xb1, 0xa4, 0xaf, 0xa4, 0x7e, 0xf4, 0x1a, 0x17, 0x8c, 0x15, 0x59, 0x66, - 0x9b, 0xfd, 0x24, 0xf4, 0xff, 0xf1, 0xaa, 0x4a, 0x81, 0x15, 0x1a, 0x62, 0xb5, 0x92, 0x32, 0xe4, - 0xbd, 0x03, 0x96, 0x5d, 0x95, 0xb4, 0xbc, 0x77, 0xa0, 0xbe, 0xaf, 0xc0, 0x84, 0x08, 0x00, 0x6a, - 0x09, 0xdd, 0x8f, 0x90, 0x04, 0xc6, 0x94, 0x5f, 0x0b, 0xd5, 0x95, 0x4f, 0x0d, 0x47, 0x06, 0xd5, - 0xc5, 0x11, 0x12, 0xfa, 0xfa, 0x49, 0x3e, 0x5c, 0xfc, 0x4c, 0x61, 0x1b, 0x50, 0xa2, 0x2e, 0xad, - 0x0b, 0x67, 0x3c, 0xc6, 0xeb, 0xd2, 0xd6, 0x83, 0x70, 0x65, 0xad, 0x68, 0x47, 0x8d, 0x63, 0xf4, - 0x9f, 0x3f, 0x3b, 0xfd, 0x2f, 0xc0, 0xcc, 0xa1, 0x87, 0x5d, 0x57, 0xdc, 0xf5, 0xca, 0xf5, 0x57, - 0xd2, 0xca, 0x82, 0x4e, 0xd3, 0xff, 0x7b, 0xe4, 0x08, 0x5d, 0x85, 0xf3, 0x4e, 0xef, 0x40, 0x0f, - 0xb9, 0x29, 0x23, 0x37, 0xcc, 0xb4, 0xd3, 0x3b, 0xd8, 0xe1, 0xd4, 0x7b, 0xe4, 0x48, 0xfd, 0x79, - 0x1e, 0x66, 0xa9, 0x7b, 0x3a, 0x9e, 0xf5, 0x2e, 0x96, 0x37, 0xbb, 0x77, 0xa1, 0x48, 0xd8, 0xcb, - 0x02, 0x5d, 0x3e, 0x3a, 0x18, 0x5e, 0x36, 0x8a, 0xde, 0x22, 0x68, 0x40, 0xa2, 0x77, 0x09, 0x1a, - 0x14, 0xf9, 0xe9, 0x4a, 0xdd, 0x3e, 0x2c, 0x06, 0x9f, 0x60, 0xd9, 0xf0, 0x33, 0x9a, 0xd2, 0x7c, - 0x64, 0xc0, 0xc5, 0xe4, 0xae, 0x2e, 0xc0, 0x0b, 0x27, 0x05, 0x47, 0x89, 0x53, 0x83, 0x75, 0xa2, - 0xfe, 0x5e, 0x81, 0xe2, 0x8e, 0x15, 0xd8, 0xc4, 0xf7, 0x99, 0x52, 0xa2, 0x32, 0x9a, 0x72, 0xc2, - 0x32, 0x1a, 0x3a, 0x80, 0xc7, 0xfc, 0x80, 0x05, 0xac, 0xd2, 0xa6, 0x3a, 0x73, 0xcc, 0x50, 0x2f, - 0x37, 0x47, 0x2b, 0x84, 0x72, 0xdf, 0xbe, 0xe4, 0xa7, 0x50, 0x7d, 0xf5, 0xef, 0xf9, 0x44, 0x05, - 0xb2, 0xd1, 0xc6, 0x36, 0xaa, 0xf7, 0x3f, 0xfd, 0x18, 0xa1, 0x54, 0x47, 0x01, 0xa2, 0xe7, 0x1f, - 0x03, 0xaf, 0x09, 0xf2, 0x43, 0x5e, 0x13, 0x14, 0x12, 0xaf, 0x09, 0xc2, 0xa2, 0xdb, 0xd8, 0x68, - 0x45, 0xb7, 0x7b, 0x00, 0x46, 0xbb, 0x4b, 0x74, 0xb7, 0x8d, 0xed, 0xe3, 0xea, 0xec, 0xa9, 0x53, - 0x58, 0x6d, 0x77, 0x09, 0x9b, 0xc0, 0x94, 0x21, 0xbe, 0x7c, 0xf9, 0x7e, 0x83, 0x82, 0x89, 0x2a, - 0x7b, 0xe6, 0x12, 0x1b, 0xc3, 0x62, 0x05, 0x36, 0xfa, 0xa5, 0xfe, 0x53, 0x16, 0xcf, 0x98, 0x9a, - 0x4f, 0x5c, 0x3c, 0xa3, 0xd2, 0x67, 0x52, 0x3c, 0x13, 0x40, 0x27, 0x2c, 0x9e, 0x09, 0xe9, 0xd3, - 0x16, 0xcf, 0x04, 0xcc, 0xd7, 0xc5, 0xb3, 0x2f, 0x67, 0xf1, 0xec, 0xed, 0x63, 0x8a, 0x67, 0xb7, - 0x46, 0x0d, 0xda, 0x85, 0x9f, 0x7c, 0xde, 0xb5, 0xb3, 0x0d, 0x80, 0x58, 0xc6, 0xff, 0xd8, 0x49, - 0x12, 0xfe, 0x18, 0xc0, 0x17, 0xa3, 0x14, 0xa7, 0x1f, 0x5f, 0x8a, 0x7b, 0x6e, 0x94, 0x52, 0x9c, - 0x30, 0xe1, 0x60, 0x39, 0xce, 0x7a, 0x74, 0x39, 0xee, 0xe6, 0x88, 0xe5, 0x38, 0xd1, 0xcf, 0x17, - 0xe4, 0xdd, 0xc4, 0x3b, 0xc7, 0xbe, 0x9b, 0xb8, 0x31, 0x52, 0x95, 0x4a, 0xcc, 0xfa, 0x2b, 0xfd, - 0x76, 0x22, 0xfe, 0xc0, 0x41, 0x81, 0xc9, 0xf0, 0x40, 0x47, 0x2f, 0xc3, 0x39, 0x71, 0x0d, 0x2f, - 0x4e, 0xdb, 0xab, 0xd9, 0x6e, 0xf0, 0xb5, 0x50, 0x0c, 0x5d, 0x84, 0x71, 0xcf, 0x27, 0xc4, 0x14, - 0x57, 0xa7, 0xbc, 0x81, 0x9e, 0x82, 0xb2, 0xeb, 0x11, 0xc3, 0xf2, 0xa9, 0xe7, 0x36, 0xad, 0xc0, - 0x67, 0x87, 0xe7, 0x98, 0x36, 0x2d, 0xa9, 0x35, 0x2b, 0xf0, 0xd5, 0x0e, 0x7f, 0xb9, 0xc9, 0x86, - 0xb2, 0x09, 0x53, 0x6e, 0x1b, 0x5b, 0x76, 0x40, 0x1e, 0x84, 0x69, 0xd7, 0x8d, 0x11, 0x02, 0x0a, - 0x2e, 0xa8, 0x45, 0x18, 0x68, 0x06, 0x0a, 0x34, 0x72, 0xe7, 0xe3, 0xa2, 0x9f, 0xea, 0x55, 0x28, - 0x53, 0xee, 0x55, 0xcb, 0x6d, 0x11, 0x8f, 0xf1, 0xa4, 0xdf, 0xe9, 0x1b, 0x30, 0x9d, 0x40, 0x45, - 0xdf, 0x86, 0x09, 0x9f, 0xd8, 0xa6, 0xbc, 0x0d, 0xcf, 0xaa, 0x25, 0x21, 0x85, 0x10, 0x8c, 0xb1, - 0x69, 0xf1, 0x47, 0xa1, 0xec, 0x5b, 0xfd, 0x43, 0x81, 0x4f, 0x9e, 0x15, 0x52, 0x1a, 0xfd, 0x85, - 0x94, 0x5b, 0xa3, 0x5c, 0x57, 0xa6, 0x95, 0x51, 0x36, 0xfa, 0xca, 0x28, 0x37, 0x47, 0x02, 0x1c, - 0x28, 0xa2, 0xfc, 0x26, 0x56, 0x44, 0xd1, 0x00, 0x0c, 0xa9, 0x42, 0x31, 0xde, 0xa5, 0xac, 0xf0, - 0x91, 0xf2, 0xb5, 0x18, 0x4a, 0xd2, 0xfa, 0xf9, 0xd3, 0x5b, 0x7f, 0x6e, 0x57, 0xd6, 0x45, 0x3e, - 0x83, 0xe1, 0xd6, 0x8a, 0xb1, 0x0b, 0x66, 0xf5, 0x3f, 0x61, 0x1d, 0x81, 0xf9, 0x71, 0xf8, 0xe8, - 0x41, 0x19, 0xf1, 0xd1, 0x03, 0x9a, 0x83, 0xc9, 0x70, 0x63, 0x16, 0xf9, 0x80, 0x6c, 0xa3, 0x79, - 0x00, 0x0f, 0xdb, 0xa6, 0xd3, 0xb1, 0xde, 0x95, 0xc5, 0x83, 0x18, 0x85, 0xae, 0xb7, 0x1e, 0xa6, - 0xb1, 0x7d, 0xb3, 0xcd, 0x9f, 0x2e, 0x84, 0x09, 0x2b, 0xa3, 0xd6, 0x04, 0x91, 0xa6, 0xc0, 0x2c, - 0x63, 0x92, 0x6c, 0xba, 0xc7, 0xae, 0xc7, 0x4b, 0x2c, 0xba, 0x72, 0xf6, 0x42, 0x46, 0x2d, 0x85, - 0xd3, 0x67, 0x51, 0x7e, 0x3f, 0xe7, 0x96, 0xfa, 0x81, 0xac, 0x0a, 0xb0, 0xe9, 0x2f, 0xc3, 0x38, - 0xeb, 0x53, 0xcc, 0xff, 0xc9, 0x21, 0xf3, 0xdf, 0xa6, 0xbc, 0x1a, 0x17, 0x41, 0xeb, 0x50, 0x32, - 0x89, 0x1f, 0xe8, 0xe1, 0x96, 0x94, 0x1f, 0x69, 0xb1, 0x15, 0xa9, 0xec, 0x4a, 0xff, 0xb6, 0x54, - 0xe8, 0xdb, 0x96, 0x3e, 0x27, 0x35, 0xd5, 0xfe, 0x96, 0xff, 0xf0, 0xe1, 0xbc, 0xf2, 0xd1, 0xc3, - 0x79, 0xe5, 0x93, 0x87, 0xf3, 0xca, 0xfb, 0x9f, 0xce, 0xe7, 0x3e, 0xfa, 0x74, 0x3e, 0xf7, 0x97, - 0x4f, 0xe7, 0x73, 0x70, 0xd5, 0x70, 0x3a, 0x19, 0xfc, 0xb1, 0x36, 0x13, 0x4f, 0x48, 0x3d, 0x27, - 0x70, 0x1a, 0xca, 0x5b, 0xcd, 0x7d, 0x2b, 0x68, 0x75, 0x9b, 0x55, 0xc3, 0xe9, 0x2c, 0x1a, 0x8e, - 0xdf, 0x71, 0xfc, 0x45, 0x8f, 0xb4, 0xf1, 0x11, 0xf1, 0x16, 0x7b, 0x4b, 0xf2, 0x93, 0xe5, 0x8d, - 0xfe, 0xe2, 0xf0, 0x5f, 0xbe, 0xbc, 0x18, 0x23, 0x86, 0xb4, 0x5f, 0xe5, 0x0b, 0x8d, 0xd5, 0x37, - 0x7e, 0x9d, 0x57, 0x1b, 0xe1, 0x10, 0x57, 0xe9, 0x10, 0x63, 0x83, 0xa9, 0x6e, 0x0b, 0xd6, 0x3f, - 0x46, 0x4c, 0xbb, 0x94, 0x69, 0x37, 0xc6, 0xb4, 0x1b, 0x32, 0x3d, 0xcc, 0x57, 0x87, 0x33, 0xed, - 0xbe, 0xda, 0xa8, 0x85, 0xcf, 0xbb, 0xfe, 0x91, 0x7f, 0x2a, 0x14, 0x58, 0x5e, 0xa6, 0x12, 0xcb, - 0xcb, 0x31, 0x91, 0xe5, 0xe5, 0x50, 0xa6, 0x39, 0xc1, 0x7e, 0xb1, 0x72, 0xf3, 0xbf, 0x01, 0x00, - 0x00, 0xff, 0xff, 0x96, 0xcf, 0xfa, 0xae, 0xe3, 0x33, 0x00, 0x00, + // 2755 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xe7, 0x87, 0x3e, 0x1f, 0x29, 0x5a, 0x1a, 0xcb, 0x0e, 0x2b, 0x14, 0x8a, 0xb1, 0x89, 0x5d, + 0xd9, 0x49, 0xa8, 0xe8, 0xc3, 0x09, 0xaa, 0xa4, 0x6d, 0x44, 0x29, 0x0e, 0x65, 0x47, 0x16, 0xbd, + 0x72, 0xa5, 0xda, 0x55, 0xb3, 0x1d, 0xee, 0x8e, 0xc4, 0x85, 0xc8, 0xdd, 0xed, 0xee, 0x92, 0xb2, + 0xf2, 0x0f, 0x14, 0xbd, 0x14, 0x29, 0xd0, 0x43, 0xd1, 0x4b, 0x81, 0x22, 0xa7, 0x1e, 0x7a, 0xeb, + 0xa5, 0x45, 0xcf, 0x0d, 0xda, 0x4b, 0x80, 0x5e, 0x0a, 0x04, 0x05, 0x5a, 0xfb, 0xd4, 0x8f, 0x4b, + 0xcf, 0xbd, 0x14, 0xf3, 0xb1, 0xb3, 0x4b, 0x72, 0x65, 0x2e, 0x25, 0xbb, 0x41, 0x62, 0x9f, 0x34, + 0xf3, 0xf4, 0xde, 0x6f, 0x66, 0xde, 0x7b, 0x33, 0xf3, 0xde, 0xdb, 0x21, 0x2c, 0x3b, 0xc4, 0x6a, + 0x35, 0x6b, 0x2e, 0x9e, 0xd7, 0x6d, 0x97, 0xcc, 0xfb, 0x2e, 0xb6, 0x3c, 0xac, 0xfb, 0xa6, 0x6d, + 0xcd, 0xb7, 0x17, 0x70, 0xc3, 0xa9, 0xe3, 0x85, 0x28, 0xb1, 0xe4, 0xb8, 0xb6, 0x6f, 0x23, 0x25, + 0x90, 0x2a, 0x51, 0xa9, 0x52, 0x94, 0x21, 0x90, 0x9a, 0xb9, 0xd6, 0x89, 0xac, 0xbb, 0xc7, 0x8e, + 0x6f, 0x87, 0xa0, 0xbc, 0xcf, 0xf1, 0x66, 0xe6, 0x3a, 0x79, 0x3d, 0x1f, 0x1f, 0x92, 0x90, 0x95, + 0x75, 0x05, 0xe7, 0xcb, 0x9d, 0x9c, 0x66, 0x4d, 0x0f, 0xf9, 0xcc, 0x9a, 0x1e, 0xcf, 0x65, 0x90, + 0x07, 0x21, 0x97, 0x41, 0x1e, 0x08, 0xae, 0xc5, 0x4e, 0xae, 0x03, 0xbb, 0x4d, 0x5c, 0x0b, 0x5b, + 0x7a, 0x64, 0xe8, 0x90, 0xc6, 0x65, 0x94, 0xdf, 0xa6, 0x21, 0x77, 0x37, 0x5c, 0x2e, 0x7a, 0x0f, + 0x86, 0x6a, 0xb6, 0x71, 0x5c, 0x4c, 0x5f, 0x4a, 0xcf, 0xe5, 0x16, 0x97, 0x4a, 0xfd, 0x15, 0x53, + 0x8a, 0x88, 0x97, 0x6d, 0xe3, 0x58, 0x65, 0x00, 0xe8, 0x45, 0xc8, 0xd5, 0x4c, 0xcb, 0x30, 0xad, + 0x03, 0xcd, 0x33, 0x0f, 0x8a, 0x99, 0x4b, 0xe9, 0xb9, 0xbc, 0x0a, 0x82, 0xb4, 0x6d, 0x1e, 0xa0, + 0x55, 0x18, 0xc1, 0x96, 0x5e, 0xb7, 0xdd, 0x62, 0x96, 0x8d, 0x75, 0xb5, 0x6b, 0x2c, 0xa1, 0x50, + 0x39, 0xcc, 0x26, 0x71, 0x0f, 0x1b, 0x44, 0xb5, 0x6d, 0x5f, 0x15, 0x82, 0x4a, 0x11, 0x32, 0x1b, + 0x06, 0x42, 0x30, 0x54, 0xc7, 0x5e, 0x9d, 0x4d, 0x39, 0xaf, 0xb2, 0xb6, 0xa2, 0x00, 0xbc, 0xbb, + 0xbf, 0x4f, 0x74, 0xbf, 0x82, 0xbd, 0x3a, 0x9a, 0x86, 0x61, 0xd3, 0xb2, 0x88, 0x2b, 0x58, 0x78, + 0x47, 0xf9, 0x38, 0x0b, 0xe7, 0xba, 0xe6, 0x8e, 0xd6, 0x61, 0x94, 0xf7, 0xbc, 0x62, 0xfa, 0x52, + 0x76, 0x2e, 0xb7, 0x78, 0x2d, 0x89, 0x06, 0x56, 0x59, 0x5f, 0x0d, 0x44, 0x91, 0x03, 0x17, 0x23, + 0x7c, 0x9a, 0x83, 0x5d, 0xdc, 0x24, 0x3e, 0x71, 0x3d, 0xa6, 0x86, 0xdc, 0xe2, 0xd7, 0x07, 0x54, + 0x6b, 0x55, 0x02, 0xa8, 0x17, 0xfc, 0x38, 0x32, 0x5a, 0x86, 0xec, 0x3e, 0x21, 0x42, 0x93, 0x4a, + 0x1f, 0x4d, 0xde, 0x20, 0x44, 0xa5, 0xec, 0xe8, 0x3b, 0x50, 0x30, 0x88, 0x4f, 0xf8, 0x2c, 0x0d, + 0xec, 0xe3, 0xe2, 0x10, 0x03, 0x58, 0x48, 0x32, 0xbf, 0xf5, 0x40, 0x72, 0x1d, 0xfb, 0x58, 0x9d, + 0x30, 0xa2, 0x5d, 0xb4, 0x01, 0xe3, 0x4d, 0xd2, 0xb4, 0x39, 0xe8, 0x30, 0x03, 0x7d, 0x35, 0x09, + 0xe8, 0x26, 0x69, 0xda, 0x0c, 0x6f, 0xac, 0x29, 0x5a, 0xca, 0x02, 0x8c, 0x05, 0x54, 0x74, 0x19, + 0x0a, 0xc4, 0x62, 0xcb, 0x21, 0x86, 0x46, 0x39, 0x84, 0x45, 0x27, 0x24, 0x95, 0xb2, 0x2a, 0xbb, + 0x70, 0x21, 0x56, 0x7b, 0xe8, 0x25, 0x98, 0x20, 0x0f, 0x1c, 0xd3, 0x3d, 0xd6, 0xea, 0xc4, 0x3c, + 0xa8, 0xfb, 0x4c, 0x7c, 0x48, 0xcd, 0x73, 0x62, 0x85, 0xd1, 0xd0, 0x57, 0x60, 0x4c, 0xaf, 0x63, + 0xd3, 0xd2, 0x4c, 0x83, 0xd9, 0x6b, 0x5c, 0x1d, 0x65, 0xfd, 0x0d, 0x43, 0xb9, 0x03, 0x13, 0x1d, + 0xcb, 0x46, 0xef, 0xc0, 0xf8, 0x7e, 0xd3, 0xd0, 0xf4, 0x46, 0x8b, 0x78, 0xc5, 0x21, 0xe6, 0x31, + 0x2f, 0xf5, 0xd1, 0xfe, 0x5a, 0xa3, 0x45, 0xd4, 0xb1, 0xfd, 0xa6, 0x41, 0x1b, 0x9e, 0xf2, 0xe7, + 0x02, 0x8c, 0x70, 0xff, 0x41, 0xab, 0x30, 0xec, 0x39, 0xc4, 0x32, 0xc4, 0xe6, 0xbb, 0x9a, 0x44, + 0x61, 0xdb, 0x54, 0xa0, 0x92, 0x52, 0xb9, 0x24, 0x5a, 0x87, 0x11, 0xbb, 0xe5, 0x3b, 0x2d, 0x5f, + 0x78, 0x5a, 0x22, 0xf7, 0xdd, 0x62, 0x12, 0x95, 0x94, 0x2a, 0x64, 0xd1, 0x1b, 0x30, 0xe4, 0x1d, + 0x61, 0x47, 0xb8, 0xd3, 0xa5, 0x2e, 0x0c, 0x7a, 0xe0, 0x84, 0xe3, 0x1f, 0x61, 0xa7, 0x92, 0x52, + 0x19, 0x3f, 0xba, 0x01, 0x40, 0xff, 0x6a, 0x7a, 0x03, 0x9b, 0x4d, 0xe1, 0x4b, 0x97, 0xfb, 0x49, + 0xaf, 0x51, 0xe6, 0x4a, 0x4a, 0x1d, 0xf7, 0x82, 0x0e, 0xda, 0x87, 0xe9, 0x36, 0x6e, 0x98, 0x06, + 0xf6, 0x6d, 0x57, 0x33, 0xc8, 0xbe, 0x69, 0x99, 0x74, 0xc6, 0xc5, 0xc9, 0x58, 0xef, 0xe4, 0xc7, + 0xa9, 0xc4, 0xdc, 0x09, 0x24, 0xd7, 0xa5, 0x60, 0x25, 0xa5, 0x9e, 0x6f, 0xf7, 0x92, 0xe9, 0x7c, + 0xcd, 0x9a, 0xae, 0x71, 0x7d, 0x14, 0xa7, 0x62, 0xe7, 0x4b, 0x0f, 0x61, 0x89, 0xbd, 0x51, 0xd3, + 0xb9, 0xad, 0xe8, 0x7c, 0xcd, 0xa0, 0x83, 0xf6, 0xe0, 0x9c, 0xe3, 0xda, 0x8e, 0xed, 0xe1, 0x86, + 0xe6, 0xb5, 0x6a, 0x4d, 0xd3, 0x2f, 0xa2, 0xd8, 0xa9, 0x46, 0x8e, 0x5f, 0x89, 0x59, 0x15, 0x92, + 0xdb, 0x4c, 0xb0, 0x92, 0x52, 0x0b, 0x4e, 0x07, 0x05, 0xd5, 0x60, 0x4a, 0xa2, 0x1f, 0x99, 0x7e, + 0xdd, 0x70, 0xf1, 0x51, 0xf1, 0x7c, 0xec, 0xf9, 0xfc, 0x38, 0xfc, 0x5d, 0x21, 0x5a, 0x49, 0xa9, + 0x93, 0x4e, 0x17, 0x0d, 0xdd, 0x83, 0x42, 0xa8, 0xf1, 0xb6, 0xed, 0x93, 0xe2, 0x34, 0x1b, 0xe0, + 0xf5, 0x04, 0x03, 0x48, 0x85, 0xef, 0xd8, 0x3e, 0xa9, 0xa4, 0xd4, 0x89, 0x76, 0x94, 0x40, 0xa1, + 0x0d, 0xd2, 0x20, 0x07, 0x21, 0xf4, 0x85, 0xc4, 0xd0, 0xeb, 0x81, 0x60, 0x00, 0x6d, 0x44, 0x09, + 0xc8, 0x86, 0x8b, 0x52, 0x33, 0x06, 0x71, 0x6c, 0xcf, 0xf4, 0x85, 0xef, 0x5d, 0x64, 0x43, 0xbc, + 0x39, 0x80, 0x7a, 0xd6, 0xb9, 0x7c, 0xe0, 0x8d, 0xd3, 0x4e, 0x0c, 0x1d, 0x6d, 0xc1, 0x04, 0xeb, + 0xd1, 0xf3, 0xd2, 0x76, 0x88, 0x55, 0x9c, 0x65, 0xe3, 0xcc, 0x3d, 0xce, 0xc7, 0xab, 0x42, 0x60, + 0xcb, 0x21, 0xd4, 0x6d, 0xf2, 0x4e, 0xa4, 0x8f, 0x54, 0x28, 0x48, 0x40, 0xbd, 0x61, 0x7b, 0xa4, + 0xf8, 0x62, 0xec, 0xde, 0x8f, 0x45, 0x5c, 0xa3, 0x02, 0x54, 0x2b, 0x4e, 0x94, 0x80, 0xbe, 0x0b, + 0x53, 0x12, 0x53, 0xfa, 0xcb, 0xa5, 0xd8, 0x33, 0x38, 0x16, 0xb6, 0xc3, 0x51, 0xba, 0x68, 0x88, + 0xc0, 0x05, 0x09, 0xee, 0x92, 0x23, 0xec, 0x1a, 0x42, 0xe3, 0x0a, 0x1b, 0x60, 0x3e, 0xc9, 0x00, + 0x2a, 0x93, 0x0b, 0x34, 0x7d, 0xde, 0xe9, 0x25, 0xa3, 0x75, 0x18, 0x13, 0xa6, 0x26, 0xc5, 0x39, + 0x86, 0x7c, 0xe5, 0xf1, 0xbb, 0x5e, 0x78, 0x0a, 0x55, 0x87, 0x94, 0x44, 0x37, 0x01, 0x5a, 0x96, + 0xc4, 0xb9, 0x1a, 0x6b, 0xab, 0x2e, 0x9c, 0x6f, 0x4b, 0xfe, 0x4a, 0x4a, 0x8d, 0x48, 0xa3, 0xfb, + 0x30, 0x19, 0xf6, 0xc4, 0x9a, 0xaf, 0x31, 0xc4, 0xd7, 0x92, 0x22, 0x06, 0x2b, 0x3e, 0xd7, 0xea, + 0x24, 0xa1, 0x9b, 0x30, 0x6e, 0x60, 0x5b, 0xe3, 0x87, 0xff, 0x22, 0x03, 0x7d, 0x25, 0xc9, 0xee, + 0xc0, 0x76, 0x70, 0xfc, 0x8f, 0x19, 0xa2, 0x8d, 0x36, 0x01, 0x28, 0x96, 0xb8, 0x05, 0x96, 0x62, + 0xcd, 0x7e, 0x02, 0x98, 0xbc, 0x07, 0xe8, 0x6c, 0x78, 0x07, 0x55, 0x21, 0x47, 0xe1, 0xc4, 0xee, + 0x2a, 0x2e, 0xc7, 0xae, 0xf8, 0x04, 0x3c, 0xb1, 0x75, 0xa8, 0x22, 0x0d, 0xd9, 0x43, 0xf7, 0x60, + 0xd2, 0xd4, 0xbd, 0xc5, 0xd7, 0xa5, 0x6f, 0xe2, 0x46, 0xf1, 0x93, 0x74, 0xec, 0xa2, 0x3b, 0xcf, + 0x5e, 0x2a, 0xb4, 0x2b, 0x65, 0xa8, 0x1e, 0xcd, 0x4e, 0x52, 0x79, 0x0c, 0x46, 0xf8, 0x59, 0xae, + 0xfc, 0x68, 0x08, 0x2e, 0x46, 0x43, 0x00, 0xe2, 0x7a, 0x0e, 0xbd, 0xb6, 0xdb, 0x04, 0x69, 0x90, + 0x77, 0xf0, 0x71, 0xc3, 0xc6, 0x86, 0x76, 0x48, 0x8e, 0x83, 0x38, 0xef, 0xed, 0x24, 0x17, 0x65, + 0x95, 0xcb, 0xdd, 0x22, 0xc7, 0x74, 0xd0, 0x35, 0xbb, 0xd9, 0x34, 0xfd, 0x26, 0xb1, 0x7c, 0x35, + 0xe7, 0xc8, 0xff, 0x78, 0xe8, 0xfb, 0x30, 0xc9, 0x2c, 0xa9, 0x59, 0xad, 0x46, 0xc3, 0xdc, 0x37, + 0x79, 0xdc, 0x47, 0x07, 0xb9, 0x9e, 0x64, 0x90, 0xdb, 0x81, 0x14, 0x1d, 0xe3, 0xb6, 0xed, 0x13, + 0xf5, 0x1c, 0x83, 0x93, 0x74, 0x0f, 0xdd, 0x80, 0x3c, 0x36, 0xda, 0xa6, 0x4e, 0x34, 0xcb, 0xf6, + 0x89, 0x57, 0xcc, 0x26, 0x0a, 0x3c, 0x18, 0x56, 0x8e, 0x0b, 0xd2, 0xb6, 0x47, 0x8f, 0x33, 0x6c, + 0x18, 0x2e, 0xf1, 0x3c, 0xad, 0x6d, 0x92, 0xa3, 0x20, 0x82, 0xb9, 0xd6, 0x07, 0x68, 0x95, 0xcb, + 0xec, 0x98, 0xe4, 0x48, 0xcd, 0xe3, 0xb0, 0xe3, 0xd1, 0xf0, 0xc3, 0x20, 0x96, 0xdd, 0xf4, 0x8a, + 0xc3, 0x0c, 0xe9, 0xd5, 0x3e, 0x48, 0xeb, 0x94, 0x79, 0x93, 0xf8, 0x98, 0xc6, 0x89, 0xaa, 0x90, + 0x45, 0x9b, 0x50, 0x88, 0x86, 0xcf, 0xa6, 0x51, 0x1c, 0x89, 0x3d, 0x02, 0x62, 0xd5, 0xb7, 0x61, + 0xa8, 0x13, 0x91, 0x7f, 0x6c, 0x18, 0x34, 0x17, 0x08, 0x0d, 0x77, 0x42, 0x2e, 0xf0, 0xbb, 0x34, + 0x14, 0x4f, 0xb2, 0x2e, 0xda, 0x82, 0x5c, 0xc4, 0x63, 0x44, 0x74, 0x56, 0x1a, 0xcc, 0x61, 0x54, + 0x08, 0x5d, 0x04, 0xdd, 0x06, 0xd0, 0x25, 0xbc, 0x88, 0xd4, 0x4a, 0x7d, 0x54, 0xb5, 0xed, 0xd3, + 0xe3, 0x22, 0x74, 0xb9, 0x08, 0x82, 0xf2, 0xd3, 0x34, 0x4c, 0xf5, 0xb8, 0x0d, 0xba, 0x01, 0xe3, + 0xd2, 0x03, 0xc5, 0xa4, 0xe7, 0xfa, 0xb9, 0x48, 0xc0, 0xaf, 0x86, 0xa2, 0xe8, 0x4d, 0x18, 0xa2, + 0x6e, 0x26, 0xe6, 0x99, 0xc8, 0xcb, 0x98, 0x80, 0xf2, 0xa7, 0x74, 0x47, 0x82, 0x45, 0x5d, 0x04, + 0xdd, 0x85, 0x71, 0x9a, 0x1e, 0x32, 0x7f, 0x13, 0x93, 0x7a, 0xf3, 0x14, 0x49, 0x26, 0xf3, 0xbd, + 0xb1, 0x9a, 0x68, 0xfd, 0x5f, 0x92, 0xcd, 0xdf, 0x64, 0xe1, 0x7c, 0xcc, 0x2c, 0xd0, 0x1d, 0xc8, + 0x0b, 0x47, 0xe5, 0x7b, 0x88, 0x9f, 0x27, 0xa5, 0xe4, 0x79, 0x23, 0x5b, 0x4b, 0x2e, 0xd4, 0xd1, + 0xf3, 0xfc, 0x31, 0xcc, 0x1f, 0x99, 0x9b, 0x0c, 0x98, 0x3f, 0x72, 0xdf, 0x68, 0x8a, 0x96, 0xf2, + 0x9f, 0x02, 0x40, 0xa8, 0x68, 0xf4, 0x6e, 0x67, 0x92, 0xf5, 0x5a, 0xe2, 0x24, 0x8b, 0x4a, 0x87, + 0x89, 0x56, 0xa5, 0x2b, 0xd1, 0x2a, 0x25, 0x4f, 0xb4, 0x04, 0x50, 0x90, 0x6c, 0xad, 0x74, 0x24, + 0x5b, 0x2f, 0xf7, 0x4b, 0x97, 0x84, 0x34, 0x4f, 0xb8, 0x6e, 0xc6, 0x24, 0x5c, 0x57, 0x13, 0x25, + 0x5c, 0x02, 0xe6, 0x79, 0xd2, 0xf5, 0xe5, 0x4c, 0xba, 0x3e, 0x38, 0x21, 0xe9, 0xba, 0x9e, 0x6c, + 0x67, 0x46, 0x92, 0x2c, 0xe1, 0x28, 0xcf, 0x33, 0xaf, 0x67, 0x30, 0xf3, 0xba, 0xfa, 0x84, 0x32, + 0xaf, 0x6b, 0x67, 0xca, 0xbc, 0x9e, 0xa9, 0xec, 0x28, 0x2e, 0xcd, 0x7c, 0xe5, 0x09, 0xa5, 0x99, + 0x4f, 0x31, 0xf3, 0x9a, 0x80, 0x5c, 0x24, 0x08, 0x52, 0x7e, 0x92, 0x85, 0x71, 0x79, 0x69, 0xa2, + 0x3b, 0x30, 0xda, 0x36, 0x3d, 0xb3, 0xd6, 0x20, 0xe2, 0xd2, 0xbd, 0x3e, 0xd0, 0xa5, 0x5b, 0xda, + 0xe1, 0xc2, 0x95, 0x94, 0x1a, 0xe0, 0xa0, 0xdb, 0x30, 0x62, 0x3b, 0xf8, 0x07, 0xad, 0x20, 0x2a, + 0x5d, 0x1e, 0x0c, 0x71, 0x8b, 0xc9, 0xb2, 0x4b, 0x98, 0xb5, 0x66, 0x7e, 0x98, 0x86, 0x51, 0x31, + 0x0c, 0xfa, 0xd6, 0x69, 0xcb, 0xb0, 0x41, 0x6c, 0xf0, 0x56, 0x47, 0xc0, 0xfc, 0xb5, 0x04, 0x01, + 0x33, 0x0b, 0x59, 0x98, 0xd0, 0xcc, 0x06, 0x8c, 0xf0, 0xd9, 0x9d, 0x79, 0x1e, 0xe5, 0x3c, 0x00, + 0x4f, 0x44, 0x99, 0x4d, 0xfe, 0x9a, 0x85, 0xa9, 0x9e, 0x93, 0x1d, 0xdd, 0xeb, 0xb6, 0xcd, 0x37, + 0x4e, 0x75, 0x43, 0xc4, 0xd9, 0x68, 0xa7, 0xcb, 0x46, 0x6f, 0x9f, 0x0e, 0xb9, 0xc7, 0x56, 0xbf, + 0x88, 0xd8, 0x6a, 0xb7, 0xe7, 0x9e, 0x4b, 0x9f, 0xae, 0xb8, 0xd8, 0x7d, 0xc1, 0x9d, 0xc9, 0x86, + 0x58, 0xda, 0xf0, 0x69, 0xcd, 0xaf, 0x3c, 0xd9, 0x0d, 0xac, 0xfc, 0x3b, 0x0b, 0x10, 0x06, 0x98, + 0x48, 0xed, 0x36, 0xec, 0x1b, 0x83, 0x45, 0xa8, 0x71, 0x16, 0xdd, 0xea, 0xb2, 0xe8, 0xf5, 0x01, + 0x21, 0x7b, 0x4c, 0xf9, 0x59, 0xc4, 0x94, 0x65, 0x19, 0x51, 0xa7, 0x07, 0xfd, 0x74, 0x21, 0x63, + 0xe9, 0xb3, 0x58, 0xad, 0x3b, 0xcd, 0xcf, 0x9e, 0x35, 0xcd, 0x9f, 0x79, 0x5f, 0xba, 0xc1, 0x13, + 0x58, 0x1b, 0x3d, 0x62, 0x79, 0x8b, 0x6f, 0xe7, 0xcf, 0xd2, 0x30, 0xcc, 0xef, 0xb4, 0xd5, 0x8e, + 0x4f, 0xb6, 0xc9, 0x13, 0x9a, 0xc8, 0xc7, 0xda, 0xf7, 0x61, 0x0c, 0xb7, 0xfc, 0xba, 0x4c, 0x9e, + 0x7b, 0x83, 0xe8, 0x9e, 0x72, 0x04, 0x45, 0x58, 0x6d, 0xf9, 0xf5, 0x6d, 0xf3, 0xc0, 0xc2, 0x7e, + 0xcb, 0x25, 0xea, 0x28, 0xe6, 0x5d, 0xb4, 0x0a, 0xc3, 0x8e, 0x6b, 0xdb, 0xfb, 0x42, 0x85, 0xaf, + 0xf4, 0x81, 0xba, 0x7f, 0x8b, 0x81, 0x55, 0xa9, 0x88, 0xca, 0x25, 0x95, 0x9f, 0xa7, 0xc5, 0x05, + 0xc2, 0xbe, 0xca, 0x6a, 0x80, 0x6a, 0xb8, 0x41, 0x77, 0x87, 0x16, 0xa9, 0x9b, 0xc4, 0xef, 0xa4, + 0x6e, 0xf4, 0x32, 0x17, 0x8c, 0x54, 0x4e, 0xa6, 0x6a, 0xdd, 0x24, 0xf4, 0xd5, 0x68, 0xa9, 0x24, + 0xcb, 0xaa, 0x07, 0x91, 0x02, 0x48, 0x01, 0x32, 0xee, 0x21, 0xcb, 0xae, 0xf2, 0x6a, 0xc6, 0x3d, + 0x54, 0x3e, 0x4a, 0xc3, 0x88, 0x08, 0x00, 0xca, 0x1d, 0xba, 0x1f, 0x20, 0x09, 0x8c, 0x28, 0xbf, + 0x1c, 0xa8, 0x2b, 0x13, 0x1b, 0x8e, 0xf4, 0xaa, 0x8b, 0x23, 0x74, 0xe8, 0xeb, 0xc7, 0x99, 0x60, + 0xf3, 0x33, 0x85, 0x6d, 0x42, 0x9e, 0xba, 0xb4, 0x26, 0x9c, 0xf1, 0x04, 0xaf, 0x8b, 0xdb, 0x0f, + 0xc2, 0x95, 0xd5, 0x9c, 0x15, 0x76, 0x4e, 0xd0, 0x7f, 0xe6, 0xc9, 0xe9, 0x7f, 0x0e, 0x26, 0x8f, + 0x5c, 0xec, 0x38, 0xe2, 0xab, 0xae, 0xdc, 0x7f, 0x79, 0xb5, 0x20, 0xe8, 0x34, 0xb1, 0xbf, 0x45, + 0x8e, 0xd1, 0x15, 0x38, 0x67, 0xb7, 0x0f, 0xb5, 0x80, 0x9b, 0x32, 0x72, 0xc3, 0x4c, 0xd8, 0xed, + 0xc3, 0x5d, 0x4e, 0xbd, 0x45, 0x8e, 0x95, 0x9f, 0x65, 0x60, 0x8a, 0xba, 0xa7, 0xed, 0x9a, 0x1f, + 0x62, 0x59, 0x56, 0xb8, 0x09, 0x39, 0xc2, 0x9e, 0x05, 0x68, 0xf2, 0xc5, 0x40, 0xff, 0x5a, 0x50, + 0xf8, 0x90, 0x40, 0x05, 0x12, 0x3e, 0x2a, 0x50, 0x21, 0xc7, 0x6f, 0x57, 0xea, 0xf6, 0x41, 0x85, + 0xf7, 0x14, 0xdb, 0x86, 0xdf, 0xd1, 0x94, 0xe6, 0x21, 0x1d, 0xa6, 0x3b, 0x4f, 0x75, 0x01, 0x9e, + 0x3d, 0x2d, 0x38, 0xea, 0xb8, 0x35, 0xd8, 0x20, 0xca, 0xef, 0xd3, 0x90, 0xdb, 0x35, 0x7d, 0x8b, + 0x78, 0x1e, 0x53, 0x4a, 0x58, 0x1b, 0x4b, 0x9f, 0xb2, 0x36, 0x86, 0x0e, 0xe1, 0x05, 0xcf, 0x67, + 0x01, 0xab, 0xb4, 0xa9, 0xc6, 0x1c, 0x33, 0xd0, 0xcb, 0xd2, 0x60, 0xd5, 0x4d, 0xee, 0xdb, 0x17, + 0xbc, 0x18, 0xaa, 0xa7, 0xfc, 0x23, 0xd3, 0x51, 0x56, 0xac, 0x36, 0xb0, 0x85, 0x2a, 0xdd, 0xef, + 0x36, 0x06, 0xa8, 0xbf, 0x51, 0x80, 0xf0, 0xed, 0x46, 0xcf, 0x13, 0x81, 0x4c, 0x9f, 0x27, 0x02, + 0xd9, 0x8e, 0x27, 0x02, 0x41, 0x25, 0x6d, 0x68, 0xb0, 0x4a, 0xda, 0x2d, 0x00, 0xbd, 0xd1, 0x22, + 0x9a, 0xd3, 0xc0, 0xd6, 0x49, 0xc5, 0xf3, 0xd8, 0x25, 0xac, 0x35, 0x5a, 0x84, 0x2d, 0x60, 0x5c, + 0x17, 0x2d, 0x4f, 0x16, 0xcf, 0x28, 0x98, 0x28, 0x9d, 0x27, 0x2e, 0x9e, 0x31, 0x2c, 0x56, 0x3c, + 0xa3, 0x2d, 0xe5, 0x5f, 0xb2, 0x78, 0xc6, 0xd4, 0x7c, 0xea, 0xe2, 0x19, 0x95, 0x7e, 0x22, 0xc5, + 0x33, 0x01, 0x74, 0xca, 0xe2, 0x99, 0x90, 0x3e, 0x6b, 0xf1, 0x4c, 0xc0, 0x3c, 0x2f, 0x9e, 0x7d, + 0x39, 0x8b, 0x67, 0xdf, 0x3b, 0xa1, 0x78, 0xb6, 0x3c, 0x68, 0xd0, 0x2e, 0xfc, 0xe4, 0xf3, 0xae, + 0x9d, 0x6d, 0x02, 0x44, 0x32, 0xfe, 0x17, 0x4e, 0x93, 0xf0, 0x47, 0x00, 0xbe, 0x18, 0xa5, 0x38, + 0xed, 0xe4, 0x52, 0xdc, 0xeb, 0x83, 0x94, 0xe2, 0x84, 0x09, 0x7b, 0xcb, 0x71, 0xe6, 0xe3, 0xcb, + 0x71, 0x4b, 0x03, 0x96, 0xe3, 0xc4, 0x38, 0x5f, 0x90, 0xc7, 0x10, 0x1f, 0x9c, 0xf8, 0x18, 0x62, + 0x61, 0xa0, 0x2a, 0x95, 0x58, 0xf5, 0x33, 0xfd, 0x20, 0x22, 0xfa, 0x6a, 0x21, 0x0d, 0x63, 0xc1, + 0x85, 0x8e, 0xde, 0x81, 0x51, 0xf1, 0x6d, 0x5d, 0xdc, 0xb6, 0x57, 0x92, 0x7d, 0x96, 0x57, 0x03, + 0x31, 0x34, 0x0d, 0xc3, 0xae, 0x47, 0x88, 0x21, 0xbe, 0x87, 0xf2, 0x0e, 0xba, 0x0c, 0x05, 0xc7, + 0x25, 0xba, 0xe9, 0x51, 0xcf, 0xad, 0x99, 0xbe, 0xc7, 0x2e, 0xcf, 0x21, 0x75, 0x42, 0x52, 0xcb, + 0xa6, 0xef, 0x29, 0x4d, 0xfe, 0xec, 0x92, 0x4d, 0x65, 0x0b, 0xc6, 0x9d, 0x06, 0x36, 0x2d, 0x9f, + 0x3c, 0x08, 0xd2, 0xae, 0x85, 0x01, 0x02, 0x0a, 0x2e, 0xa8, 0x86, 0x18, 0x68, 0x12, 0xb2, 0x34, + 0x72, 0xe7, 0xf3, 0xa2, 0x4d, 0xe5, 0x0a, 0x14, 0x28, 0xf7, 0x9a, 0xe9, 0xd4, 0x89, 0xcb, 0x78, + 0xe2, 0x3f, 0xd4, 0xeb, 0x30, 0xd1, 0x81, 0x8a, 0xbe, 0x09, 0x23, 0x1e, 0xb1, 0x0c, 0xf9, 0x89, + 0x3b, 0xa9, 0x96, 0x84, 0x14, 0x42, 0x30, 0xc4, 0x96, 0xc5, 0x5f, 0x7a, 0xb2, 0xb6, 0xf2, 0x87, + 0x2c, 0x5f, 0x3c, 0x2b, 0xa4, 0x54, 0xbb, 0x0b, 0x29, 0xcb, 0x83, 0x7c, 0x88, 0x8c, 0x2b, 0xa3, + 0x6c, 0x76, 0x95, 0x51, 0x96, 0x06, 0x02, 0xec, 0x29, 0xa2, 0xfc, 0x3a, 0x52, 0x44, 0x51, 0x01, + 0x74, 0xa9, 0x42, 0x31, 0xdf, 0xc5, 0xa4, 0xf0, 0xa1, 0xf2, 0xd5, 0x08, 0x4a, 0xa7, 0xf5, 0x33, + 0x67, 0xb7, 0xfe, 0xcc, 0x9e, 0xac, 0x8b, 0x3c, 0x85, 0xe9, 0x96, 0x73, 0x91, 0x4f, 0xc7, 0xca, + 0x7f, 0x83, 0x3a, 0x02, 0xf3, 0xe3, 0xe0, 0x25, 0x43, 0x7a, 0xc0, 0x97, 0x0c, 0x68, 0x06, 0xc6, + 0x82, 0x83, 0x59, 0xe4, 0x03, 0xb2, 0x8f, 0x66, 0x01, 0x5c, 0x6c, 0x19, 0x76, 0xd3, 0xfc, 0x50, + 0x16, 0x0f, 0x22, 0x14, 0xba, 0xdf, 0xda, 0x98, 0xc6, 0xf6, 0xb5, 0x06, 0x7f, 0x8f, 0x10, 0x24, + 0xac, 0x8c, 0x5a, 0x16, 0x44, 0x9a, 0x02, 0xb3, 0x8c, 0x49, 0xb2, 0x69, 0x2e, 0xfb, 0xf0, 0x9d, + 0x67, 0xd1, 0x95, 0xbd, 0x1f, 0x30, 0xaa, 0x31, 0x9c, 0x1e, 0x8b, 0xf2, 0xbb, 0x39, 0xb7, 0x95, + 0x8f, 0x65, 0x55, 0x80, 0x2d, 0x7f, 0x05, 0x86, 0xd9, 0x98, 0x62, 0xfd, 0x2f, 0xf7, 0x59, 0xff, + 0x0e, 0xe5, 0x55, 0xb9, 0x08, 0xda, 0x80, 0xbc, 0x41, 0x3c, 0x5f, 0x0b, 0x8e, 0xa4, 0xcc, 0x40, + 0x9b, 0x2d, 0x47, 0x65, 0x57, 0xbb, 0x8f, 0xa5, 0x6c, 0xd7, 0xb1, 0xf4, 0x39, 0xa9, 0xa9, 0xfc, + 0xf7, 0xcc, 0x27, 0x0f, 0x67, 0xd3, 0x9f, 0x3e, 0x9c, 0x4d, 0xff, 0xed, 0xe1, 0x6c, 0xfa, 0xa3, + 0x47, 0xb3, 0xa9, 0x4f, 0x1f, 0xcd, 0xa6, 0xfe, 0xf2, 0x68, 0x36, 0x05, 0x57, 0x74, 0xbb, 0x99, + 0xc0, 0x1f, 0xcb, 0x93, 0xd1, 0x84, 0xd4, 0xb5, 0x7d, 0xbb, 0x9a, 0xbe, 0x5f, 0x3b, 0x30, 0xfd, + 0x7a, 0xab, 0x56, 0xd2, 0xed, 0xe6, 0xbc, 0x6e, 0x7b, 0x4d, 0xdb, 0x9b, 0x77, 0x49, 0x03, 0x1f, + 0x13, 0x77, 0xbe, 0xbd, 0x28, 0x9b, 0x2c, 0x6f, 0xf4, 0xe6, 0xfb, 0xff, 0x6c, 0xe5, 0xad, 0x08, + 0x31, 0xa0, 0xfd, 0x32, 0x93, 0xad, 0xae, 0xdd, 0xfd, 0x55, 0x46, 0xa9, 0x06, 0x53, 0x5c, 0xa3, + 0x53, 0x8c, 0x4c, 0xa6, 0xb4, 0x23, 0x58, 0xff, 0x18, 0x32, 0xed, 0x51, 0xa6, 0xbd, 0x08, 0xd3, + 0x5e, 0xc0, 0xf4, 0x30, 0x53, 0xea, 0xcf, 0xb4, 0xf7, 0x5e, 0xb5, 0x1c, 0xbc, 0xd9, 0xfa, 0x67, + 0xe6, 0x72, 0x20, 0xb0, 0xb2, 0x42, 0x25, 0x56, 0x56, 0x22, 0x22, 0x2b, 0x2b, 0x81, 0x4c, 0x6d, + 0x84, 0xfd, 0xdc, 0x64, 0xe9, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x13, 0xd6, 0x06, 0xa0, + 0x33, 0x00, 0x00, } func (m *Transaction) Marshal() (dAtA []byte, err error) { @@ -3964,26 +3892,7 @@ func (m *MemoData) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XEncryptedMemo != nil { - { - size := m.XEncryptedMemo.Size() - i -= size - if _, err := m.XEncryptedMemo.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } - return len(dAtA) - i, nil -} - -func (m *MemoData_EncryptedMemo) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MemoData_EncryptedMemo) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.EncryptedMemo != nil { + if len(m.EncryptedMemo) > 0 { i -= len(m.EncryptedMemo) copy(dAtA[i:], m.EncryptedMemo) i = encodeVarintTransaction(dAtA, i, uint64(len(m.EncryptedMemo))) @@ -3992,6 +3901,7 @@ func (m *MemoData_EncryptedMemo) MarshalToSizedBuffer(dAtA []byte) (int, error) } return len(dAtA) - i, nil } + func (m *TransactionParameters) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4897,23 +4807,29 @@ func (m *TransactionBodyView) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XMemoView != nil { + if m.MemoView != nil { { - size := m.XMemoView.Size() - i -= size - if _, err := m.XMemoView.MarshalTo(dAtA[i:]); err != nil { + size, err := m.MemoView.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x2a } - if m.XDetectionData != nil { + if m.DetectionData != nil { { - size := m.XDetectionData.Size() - i -= size - if _, err := m.XDetectionData.MarshalTo(dAtA[i:]); err != nil { + size, err := m.DetectionData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x22 } if m.Fee != nil { { @@ -4956,48 +4872,6 @@ func (m *TransactionBodyView) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *TransactionBodyView_DetectionData) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionBodyView_DetectionData) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.DetectionData != nil { - { - size, err := m.DetectionData.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTransaction(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - return len(dAtA) - i, nil -} -func (m *TransactionBodyView_MemoView) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionBodyView_MemoView) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.MemoView != nil { - { - size, err := m.MemoView.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTransaction(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a - } - return len(dAtA) - i, nil -} func (m *ActionView) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7508,24 +7382,13 @@ func (m *MemoData) Size() (n int) { } var l int _ = l - if m.XEncryptedMemo != nil { - n += m.XEncryptedMemo.Size() - } - return n -} - -func (m *MemoData_EncryptedMemo) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.EncryptedMemo != nil { - l = len(m.EncryptedMemo) + l = len(m.EncryptedMemo) + if l > 0 { n += 1 + l + sovTransaction(uint64(l)) } return n } + func (m *TransactionParameters) Size() (n int) { if m == nil { return 0 @@ -7964,39 +7827,17 @@ func (m *TransactionBodyView) Size() (n int) { l = m.Fee.Size() n += 1 + l + sovTransaction(uint64(l)) } - if m.XDetectionData != nil { - n += m.XDetectionData.Size() - } - if m.XMemoView != nil { - n += m.XMemoView.Size() - } - return n -} - -func (m *TransactionBodyView_DetectionData) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.DetectionData != nil { l = m.DetectionData.Size() n += 1 + l + sovTransaction(uint64(l)) } - return n -} -func (m *TransactionBodyView_MemoView) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.MemoView != nil { l = m.MemoView.Size() n += 1 + l + sovTransaction(uint64(l)) } return n } + func (m *ActionView) Size() (n int) { if m == nil { return 0 @@ -9729,9 +9570,10 @@ func (m *MemoData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := make([]byte, postIndex-iNdEx) - copy(v, dAtA[iNdEx:postIndex]) - m.XEncryptedMemo = &MemoData_EncryptedMemo{v} + m.EncryptedMemo = append(m.EncryptedMemo[:0], dAtA[iNdEx:postIndex]...) + if m.EncryptedMemo == nil { + m.EncryptedMemo = []byte{} + } iNdEx = postIndex default: iNdEx = preIndex @@ -11663,11 +11505,12 @@ func (m *TransactionBodyView) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &DetectionData{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.DetectionData == nil { + m.DetectionData = &DetectionData{} + } + if err := m.DetectionData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XDetectionData = &TransactionBodyView_DetectionData{v} iNdEx = postIndex case 5: if wireType != 2 { @@ -11698,11 +11541,12 @@ func (m *TransactionBodyView) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &MemoView{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.MemoView == nil { + m.MemoView = &MemoView{} + } + if err := m.MemoView.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XMemoView = &TransactionBodyView_MemoView{v} iNdEx = postIndex default: iNdEx = preIndex diff --git a/relayer/chains/penumbra/core/transparent_proofs/v1alpha1/transparent_proofs.pb.go b/relayer/chains/penumbra/core/transparent_proofs/v1alpha1/transparent_proofs.pb.go index 61dc0d957..fdd6e0bb0 100644 --- a/relayer/chains/penumbra/core/transparent_proofs/v1alpha1/transparent_proofs.pb.go +++ b/relayer/chains/penumbra/core/transparent_proofs/v1alpha1/transparent_proofs.pb.go @@ -32,7 +32,7 @@ type SwapClaimProof struct { SwapCommitmentProof *v1alpha11.StateCommitmentProof `protobuf:"bytes,4,opt,name=swap_commitment_proof,json=swapCommitmentProof,proto3" json:"swap_commitment_proof,omitempty"` // The nullifier key used to derive the swap nullifier Nk []byte `protobuf:"bytes,6,opt,name=nk,proto3" json:"nk,omitempty"` - // + //* // @exclude // Describes output amounts Lambda_1I *v1alpha11.Amount `protobuf:"bytes,20,opt,name=lambda_1_i,json=lambda1I,proto3" json:"lambda_1_i,omitempty"` diff --git a/relayer/chains/penumbra/event_parser.go b/relayer/chains/penumbra/event_parser.go index 319a8157b..e13f10a26 100644 --- a/relayer/chains/penumbra/event_parser.go +++ b/relayer/chains/penumbra/event_parser.go @@ -8,15 +8,18 @@ import ( "strings" "time" - abci "github.com/cometbft/cometbft/abci/types" - sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + sdk "github.com/cosmos/cosmos-sdk/types" + + abci "github.com/cometbft/cometbft/abci/types" + + "github.com/cosmos/relayer/v2/relayer/processor" + "github.com/cosmos/relayer/v2/relayer/provider" ) // ibcMessage is the type used for parsing all possible properties of IBC messages @@ -30,13 +33,13 @@ type ibcMessageInfo interface { MarshalLogObject(enc zapcore.ObjectEncoder) error } -func (ccp *PenumbraChainProcessor) ibcMessagesFromBlockEvents( +func (pcp *PenumbraChainProcessor) ibcMessagesFromBlockEvents( beginBlockEvents, endBlockEvents []abci.Event, height uint64, base64Encoded bool, ) (res []ibcMessage) { - chainID := ccp.chainProvider.ChainId() - res = append(res, ibcMessagesFromEvents(ccp.log, beginBlockEvents, chainID, height, base64Encoded)...) - res = append(res, ibcMessagesFromEvents(ccp.log, endBlockEvents, chainID, height, base64Encoded)...) + chainID := pcp.chainProvider.ChainId() + res = append(res, ibcMessagesFromEvents(pcp.log, beginBlockEvents, chainID, height, base64Encoded)...) + res = append(res, ibcMessagesFromEvents(pcp.log, endBlockEvents, chainID, height, base64Encoded)...) return res } @@ -143,26 +146,6 @@ func parseIBCMessageFromEvent( return nil } -func (msg *ibcMessage) parseIBCPacketReceiveMessageFromEvent( - log *zap.Logger, - event sdk.StringEvent, - chainID string, - height uint64, -) *ibcMessage { - var pi *packetInfo - if msg.info == nil { - pi = &packetInfo{Height: height} - msg.info = pi - } else { - pi = msg.info.(*packetInfo) - } - pi.parseAttrs(log, event.Attributes) - if event.Type != chantypes.EventTypeWriteAck { - msg.eventType = event.Type - } - return msg -} - // clientInfo contains the consensus height of the counterparty chain for a client. type clientInfo struct { clientID string @@ -179,28 +162,28 @@ func (c clientInfo) ClientState(trustingPeriod time.Duration) provider.ClientSta } } -func (res *clientInfo) MarshalLogObject(enc zapcore.ObjectEncoder) error { - enc.AddString("client_id", res.clientID) - enc.AddUint64("consensus_height", res.consensusHeight.RevisionHeight) - enc.AddUint64("consensus_height_revision", res.consensusHeight.RevisionNumber) +func (c *clientInfo) MarshalLogObject(enc zapcore.ObjectEncoder) error { + enc.AddString("client_id", c.clientID) + enc.AddUint64("consensus_height", c.consensusHeight.RevisionHeight) + enc.AddUint64("consensus_height_revision", c.consensusHeight.RevisionNumber) return nil } -func (res *clientInfo) parseAttrs(log *zap.Logger, attributes []sdk.Attribute) { +func (c *clientInfo) parseAttrs(log *zap.Logger, attributes []sdk.Attribute) { for _, attr := range attributes { - res.parseClientAttribute(log, attr) + c.parseClientAttribute(log, attr) } } -func (res *clientInfo) parseClientAttribute(log *zap.Logger, attr sdk.Attribute) { +func (c *clientInfo) parseClientAttribute(log *zap.Logger, attr sdk.Attribute) { switch attr.Key { case clienttypes.AttributeKeyClientID: - res.clientID = attr.Value + c.clientID = attr.Value case clienttypes.AttributeKeyConsensusHeight: revisionSplit := strings.Split(attr.Value, "-") if len(revisionSplit) != 2 { log.Error("Error parsing client consensus height", - zap.String("client_id", res.clientID), + zap.String("client_id", c.clientID), zap.String("value", attr.Value), ) return @@ -221,7 +204,7 @@ func (res *clientInfo) parseClientAttribute(log *zap.Logger, attr sdk.Attribute) ) return } - res.consensusHeight = clienttypes.Height{ + c.consensusHeight = clienttypes.Height{ RevisionNumber: revisionNumber, RevisionHeight: revisionHeight, } @@ -234,7 +217,7 @@ func (res *clientInfo) parseClientAttribute(log *zap.Logger, attr sdk.Attribute) ) return } - res.header = data + c.header = data } } @@ -280,7 +263,7 @@ func (res *packetInfo) parsePacketAttribute(log *zap.Logger, attr sdk.Attribute) return } // NOTE: deprecated per IBC spec - case chantypes.AttributeKeyData: + case chantypes.AttributeKeyData: //nolint:staticcheck res.Data = []byte(attr.Value) case chantypes.AttributeKeyDataHex: data, err := hex.DecodeString(attr.Value) @@ -293,7 +276,7 @@ func (res *packetInfo) parsePacketAttribute(log *zap.Logger, attr sdk.Attribute) } res.Data = data // NOTE: deprecated per IBC spec - case chantypes.AttributeKeyAck: + case chantypes.AttributeKeyAck: //nolint:staticcheck res.Ack = []byte(attr.Value) case chantypes.AttributeKeyAckHex: data, err := hex.DecodeString(attr.Value) diff --git a/relayer/chains/penumbra/grpc_query.go b/relayer/chains/penumbra/grpc_query.go index 70c375c81..9c3f98ac6 100644 --- a/relayer/chains/penumbra/grpc_query.go +++ b/relayer/chains/penumbra/grpc_query.go @@ -8,9 +8,7 @@ import ( "sync" "time" - abci "github.com/cometbft/cometbft/abci/types" gogogrpc "github.com/cosmos/gogoproto/grpc" - "github.com/cosmos/relayer/v2/relayer/provider" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/encoding" @@ -18,11 +16,17 @@ import ( "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" + errorsmod "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" grpctypes "github.com/cosmos/cosmos-sdk/types/grpc" "github.com/cosmos/cosmos-sdk/types/tx" + + abci "github.com/cometbft/cometbft/abci/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) var _ gogogrpc.ClientConn = &PenumbraProvider{} @@ -37,17 +41,17 @@ func (cc *PenumbraProvider) Invoke(ctx context.Context, method string, req, repl // In both cases, we don't allow empty request req (it will panic unexpectedly). if reflect.ValueOf(req).IsNil() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "request cannot be nil") + return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "request cannot be nil") } // Case 1. Broadcasting a Tx. if reqProto, ok := req.(*tx.BroadcastTxRequest); ok { if !ok { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxRequest)(nil), req) + return errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxRequest)(nil), req) } resProto, ok := reply.(*tx.BroadcastTxResponse) if !ok { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxResponse)(nil), req) + return errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "expected %T, got %T", (*tx.BroadcastTxResponse)(nil), req) } broadcastRes, err := cc.TxServiceBroadcast(ctx, reqProto) @@ -86,7 +90,7 @@ func (cc *PenumbraProvider) Invoke(ctx context.Context, method string, req, repl } // NewStream implements the grpc ClientConn.NewStream method -func (cc *PenumbraProvider) NewStream(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error) { +func (*PenumbraProvider) NewStream(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error) { return nil, fmt.Errorf("streaming rpc not supported") } @@ -107,7 +111,7 @@ func (cc *PenumbraProvider) RunGRPCQuery(ctx context.Context, method string, req return abci.ResponseQuery{}, nil, err } if height < 0 { - return abci.ResponseQuery{}, nil, sdkerrors.Wrapf( + return abci.ResponseQuery{}, nil, errorsmod.Wrapf( sdkerrors.ErrInvalidRequest, "client.Context.Invoke: height (%d) from %q must be >= 0", height, grpctypes.GRPCBlockHeightHeader) } @@ -177,7 +181,7 @@ func (cc *PenumbraProvider) TxServiceBroadcast(ctx context.Context, req *tx.Broa wg.Add(1) - if err := cc.broadcastTx(ctx, req.TxBytes, nil, nil, ctx, blockTimeout, callback); err != nil { + if err := cc.broadcastTx(ctx, req.TxBytes, nil, ctx, blockTimeout, callback); err != nil { return nil, err } diff --git a/relayer/chains/penumbra/keys.go b/relayer/chains/penumbra/keys.go index aa09fa7b1..8552e30a4 100644 --- a/relayer/chains/penumbra/keys.go +++ b/relayer/chains/penumbra/keys.go @@ -4,11 +4,13 @@ import ( "errors" "os" + "github.com/cosmos/go-bip39" + ckeys "github.com/cosmos/cosmos-sdk/client/keys" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/go-bip39" + "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" "github.com/cosmos/relayer/v2/relayer/codecs/injective" "github.com/cosmos/relayer/v2/relayer/provider" @@ -172,7 +174,6 @@ func (cc *PenumbraProvider) KeyExists(name string) bool { } return k.Name == name - } // ExportPrivKeyArmor returns a private key in ASCII armored format. diff --git a/relayer/chains/penumbra/log.go b/relayer/chains/penumbra/log.go index b1f110cf0..ff6957691 100644 --- a/relayer/chains/penumbra/log.go +++ b/relayer/chains/penumbra/log.go @@ -3,15 +3,17 @@ package penumbra import ( "reflect" - "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" - typestx "github.com/cosmos/cosmos-sdk/types/tx" feetypes "github.com/cosmos/ibc-go/v7/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + typestx "github.com/cosmos/cosmos-sdk/types/tx" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // getChannelsIfPresent scans the events for channel tags @@ -54,7 +56,7 @@ func (cc *PenumbraProvider) LogFailedTx(res *provider.RelayerTxResponse, err err if err != nil { // Make a copy since we may continue to the warning - errorFields := append(fields, zap.Error(err)) + errorFields := append(fields, zap.Error(err)) //nolint:gocritic // errorFields is a copy of fields cc.log.Error( "Failed sending cosmos transaction", errorFields..., @@ -114,7 +116,7 @@ func (cc *PenumbraProvider) LogSuccessTx(res *sdk.TxResponse, msgs []provider.Re zap.String("tx_hash", res.TxHash), ) - // Log the succesful transaction with fields + // Log the successful transaction with fields cc.log.Info( "Successful transaction", fields..., diff --git a/relayer/chains/penumbra/message_handlers.go b/relayer/chains/penumbra/message_handlers.go index 22b570eb6..4c36020d6 100644 --- a/relayer/chains/penumbra/message_handlers.go +++ b/relayer/chains/penumbra/message_handlers.go @@ -3,10 +3,11 @@ package penumbra import ( conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + "github.com/cosmos/relayer/v2/relayer/processor" + "github.com/cosmos/relayer/v2/relayer/provider" ) func (pcp *PenumbraChainProcessor) handleMessage(m ibcMessage, c processor.IBCMessagesCache) { diff --git a/relayer/chains/penumbra/msg.go b/relayer/chains/penumbra/msg.go index 951529b0a..d364a29c1 100644 --- a/relayer/chains/penumbra/msg.go +++ b/relayer/chains/penumbra/msg.go @@ -3,13 +3,14 @@ package penumbra import ( "fmt" + "github.com/cosmos/gogoproto/proto" + "go.uber.org/zap/zapcore" + "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gogoproto/proto" - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap/zapcore" ) type PenumbraMessage struct { @@ -26,31 +27,19 @@ func PenumbraMsg(rm provider.RelayerMessage) sdk.Msg { if val, ok := rm.(PenumbraMessage); !ok { fmt.Printf("got data of type %T but wanted PenumbraMessage \n", val) return nil - } else { + } else { //nolint:revive // we need to use a val and that does not work when we fix this lint return val.Msg } } -// typedPenumbraMsg does not accept nil. IBC Message must be of the requested type. -func typedPenumbraMsg[T *chantypes.MsgRecvPacket | *chantypes.MsgAcknowledgement](msg provider.RelayerMessage) T { - if msg == nil { - panic("msg is nil") - } - cosmosMsg := PenumbraMsg(msg) - if cosmosMsg == nil { - panic("cosmosMsg is nil") - } - return cosmosMsg.(T) -} - func PenumbraMsgs(rm ...provider.RelayerMessage) []sdk.Msg { sdkMsgs := make([]sdk.Msg, 0) for _, rMsg := range rm { - switch rMsg.(type) { + switch msg := rMsg.(type) { case PenumbraMessage: - sdkMsgs = append(sdkMsgs, rMsg.(PenumbraMessage).Msg) + sdkMsgs = append(sdkMsgs, msg.Msg) case cosmos.CosmosMessage: - sdkMsgs = append(sdkMsgs, rMsg.(cosmos.CosmosMessage).Msg) + sdkMsgs = append(sdkMsgs, msg.Msg) default: fmt.Printf("got data of type %T but wanted PenumbraMessage \n", rMsg) return nil diff --git a/relayer/chains/penumbra/penumbra_chain_processor.go b/relayer/chains/penumbra/penumbra_chain_processor.go index 2f741d589..28e70218a 100644 --- a/relayer/chains/penumbra/penumbra_chain_processor.go +++ b/relayer/chains/penumbra/penumbra_chain_processor.go @@ -7,16 +7,17 @@ import ( "time" "github.com/avast/retry-go/v4" - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - ctypes "github.com/cometbft/cometbft/rpc/core/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" "golang.org/x/sync/errgroup" + + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + ctypes "github.com/cometbft/cometbft/rpc/core/types" + + "github.com/cosmos/relayer/v2/relayer/processor" + "github.com/cosmos/relayer/v2/relayer/provider" ) const blockResultsQueryTimeout = 2 * time.Minute @@ -71,14 +72,6 @@ const ( inSyncNumBlocksThreshold = 2 ) -type msgHandlerParams struct { - // incoming IBC message - messageInfo any - - // reference to the caches that will be assembled by the handlers in this file - ibcMessagesCache processor.IBCMessagesCache -} - // latestClientState is a map of clientID to the latest clientInfo for that client. type latestClientState map[string]provider.ClientState diff --git a/relayer/chains/penumbra/provider.go b/relayer/chains/penumbra/provider.go index 92918b3d0..d17adc620 100644 --- a/relayer/chains/penumbra/provider.go +++ b/relayer/chains/penumbra/provider.go @@ -8,24 +8,26 @@ import ( "path" "time" + "github.com/cosmos/gogoproto/proto" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + "go.uber.org/zap" + "golang.org/x/mod/semver" + + "github.com/cosmos/cosmos-sdk/crypto/keyring" + "github.com/cosmos/cosmos-sdk/types/module" + provtypes "github.com/cometbft/cometbft/light/provider" prov "github.com/cometbft/cometbft/light/provider/http" rpcclient "github.com/cometbft/cometbft/rpc/client" rpchttp "github.com/cometbft/cometbft/rpc/client/http" jsonrpcclient "github.com/cometbft/cometbft/rpc/jsonrpc/client" - libclient "github.com/cometbft/cometbft/rpc/jsonrpc/client" tmtypes "github.com/cometbft/cometbft/types" - "github.com/cosmos/cosmos-sdk/crypto/keyring" - "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gogoproto/proto" - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" - ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" - "golang.org/x/mod/semver" ) var ( @@ -160,7 +162,7 @@ func (cc *PenumbraProvider) ChainName() string { return cc.PCfg.ChainName } -func (cc *PenumbraProvider) Type() string { +func (*PenumbraProvider) Type() string { return "penumbra" } @@ -172,7 +174,7 @@ func (cc *PenumbraProvider) Timeout() string { return cc.PCfg.Timeout } -func (cc *PenumbraProvider) CommitmentPrefix() commitmenttypes.MerklePrefix { +func (*PenumbraProvider) CommitmentPrefix() commitmenttypes.MerklePrefix { return commitmenttypes.NewMerklePrefix([]byte("PenumbraAppHash")) } @@ -196,7 +198,7 @@ func (cc *PenumbraProvider) Address() (string, error) { return out, err } -func (cc *PenumbraProvider) TrustingPeriod(ctx context.Context) (time.Duration, error) { +func (*PenumbraProvider) TrustingPeriod(ctx context.Context) (time.Duration, error) { // TODO return time.Hour * 2, nil /* @@ -262,7 +264,7 @@ func (cc *PenumbraProvider) Init(ctx context.Context) error { return nil } - cc.setCometVersion(cc.log, status.NodeInfo.Version) + cc.setCometVersion(status.NodeInfo.Version) return nil } @@ -316,11 +318,11 @@ func toPenumbraPacket(pi provider.PacketInfo) chantypes.Packet { } } -func (cc *PenumbraProvider) setCometVersion(log *zap.Logger, version string) { - cc.cometLegacyEncoding = cc.legacyEncodedEvents(log, version) +func (cc *PenumbraProvider) setCometVersion(version string) { + cc.cometLegacyEncoding = cc.legacyEncodedEvents(version) } -func (cc *PenumbraProvider) legacyEncodedEvents(log *zap.Logger, version string) bool { +func (*PenumbraProvider) legacyEncodedEvents(version string) bool { return semver.Compare("v"+version, cometEncodingThreshold) < 0 } @@ -331,7 +333,7 @@ func keysDir(home, chainID string) string { // newRPCClient initializes a new tendermint RPC client connected to the specified address. func newRPCClient(addr string, timeout time.Duration) (*rpchttp.HTTP, error) { - httpClient, err := libclient.DefaultHTTPClient(addr) + httpClient, err := jsonrpcclient.DefaultHTTPClient(addr) if err != nil { return nil, err } diff --git a/relayer/chains/penumbra/query.go b/relayer/chains/penumbra/query.go index ce1f08ed6..eff3eb1cd 100644 --- a/relayer/chains/penumbra/query.go +++ b/relayer/chains/penumbra/query.go @@ -9,16 +9,6 @@ import ( "strings" "time" - abci "github.com/cometbft/cometbft/abci/types" - coretypes "github.com/cometbft/cometbft/rpc/core/types" - tmtypes "github.com/cometbft/cometbft/types" - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - querytypes "github.com/cosmos/cosmos-sdk/types/query" - bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" @@ -27,9 +17,23 @@ import ( host "github.com/cosmos/ibc-go/v7/modules/core/24-host" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "golang.org/x/sync/errgroup" + + errorsmod "cosmossdk.io/errors" + + upgradetypes "cosmossdk.io/x/upgrade/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + querytypes "github.com/cosmos/cosmos-sdk/types/query" + bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + + abci "github.com/cometbft/cometbft/abci/types" + coretypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) var _ provider.QueryProvider = &PenumbraProvider{} @@ -100,7 +104,7 @@ func parseEventsFromResponseDeliverTx(resp abci.ResponseDeliverTx) []provider.Re for _, event := range resp.Events { attributes := make(map[string]string) for _, attribute := range event.Attributes { - attributes[string(attribute.Key)] = string(attribute.Value) + attributes[attribute.Key] = attribute.Value } events = append(events, provider.RelayerEvent{ EventType: event.Type, @@ -135,7 +139,7 @@ func (cc *PenumbraProvider) QueryBalanceWithAddress(ctx context.Context, address } // QueryUnbondingPeriod returns the unbonding period of the chain -func (cc *PenumbraProvider) QueryUnbondingPeriod(ctx context.Context) (time.Duration, error) { +func (*PenumbraProvider) QueryUnbondingPeriod(ctx context.Context) (time.Duration, error) { // TODO: return time.Hour * 4, nil /* @@ -213,7 +217,7 @@ func (cc *PenumbraProvider) QueryClientStateResponse(ctx context.Context, height // check if client exists if len(value) == 0 { - return nil, sdkerrors.Wrap(clienttypes.ErrClientNotFound, srcClientId) + return nil, errorsmod.Wrap(clienttypes.ErrClientNotFound, srcClientId) } cdc := codec.NewProtoCodec(cc.Codec.InterfaceRegistry) @@ -263,7 +267,7 @@ func (cc *PenumbraProvider) QueryClientConsensusState(ctx context.Context, chain // check if consensus state exists if len(value) == 0 { - return nil, sdkerrors.Wrap(clienttypes.ErrConsensusStateNotFound, clientid) + return nil, errorsmod.Wrap(clienttypes.ErrConsensusStateNotFound, clientid) } cdc := codec.NewProtoCodec(cc.Codec.InterfaceRegistry) @@ -447,7 +451,7 @@ func (cc *PenumbraProvider) queryConnectionABCI(ctx context.Context, height int6 // check if connection exists if len(value) == 0 { - return nil, sdkerrors.Wrap(conntypes.ErrConnectionNotFound, connectionID) + return nil, errorsmod.Wrap(conntypes.ErrConnectionNotFound, connectionID) } cdc := codec.NewProtoCodec(cc.Codec.InterfaceRegistry) @@ -531,7 +535,6 @@ func (cc *PenumbraProvider) GenerateConnHandshakeProof(ctx context.Context, heig func (cc *PenumbraProvider) QueryChannel(ctx context.Context, height int64, channelid, portid string) (chanRes *chantypes.QueryChannelResponse, err error) { res, err := cc.queryChannelABCI(ctx, height, portid, channelid) if err != nil && strings.Contains(err.Error(), "not found") { - return &chantypes.QueryChannelResponse{ Channel: &chantypes.Channel{ State: chantypes.UNINITIALIZED, @@ -565,7 +568,7 @@ func (cc *PenumbraProvider) queryChannelABCI(ctx context.Context, height int64, // check if channel exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portID, channelID) + return nil, errorsmod.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portID, channelID) } cdc := codec.NewProtoCodec(cc.Codec.InterfaceRegistry) @@ -690,7 +693,7 @@ func (cc *PenumbraProvider) QueryNextSeqRecv(ctx context.Context, height int64, // check if next sequence receive exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) + return nil, errorsmod.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) } sequence := binary.BigEndian.Uint64(value) @@ -713,7 +716,7 @@ func (cc *PenumbraProvider) QueryNextSeqAck(ctx context.Context, height int64, c // check if next sequence receive exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) + return nil, errorsmod.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) } sequence := binary.BigEndian.Uint64(value) @@ -736,7 +739,7 @@ func (cc *PenumbraProvider) QueryPacketCommitment(ctx context.Context, height in // check if packet commitment exists if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrPacketCommitmentNotFound, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) + return nil, errorsmod.Wrapf(chantypes.ErrPacketCommitmentNotFound, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) } return &chantypes.QueryPacketCommitmentResponse{ @@ -756,7 +759,7 @@ func (cc *PenumbraProvider) QueryPacketAcknowledgement(ctx context.Context, heig } if len(value) == 0 { - return nil, sdkerrors.Wrapf(chantypes.ErrInvalidAcknowledgement, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) + return nil, errorsmod.Wrapf(chantypes.ErrInvalidAcknowledgement, "portID (%s), channelID (%s), sequence (%d)", portid, channelid, seq) } return &chantypes.QueryPacketAcknowledgementResponse{ @@ -877,7 +880,7 @@ func (cc *PenumbraProvider) QueryConsensusStateABCI(ctx context.Context, clientI // check if consensus state exists if len(value) == 0 { - return nil, sdkerrors.Wrap(clienttypes.ErrConsensusStateNotFound, clientID) + return nil, errorsmod.Wrap(clienttypes.ErrConsensusStateNotFound, clientID) } // TODO do we really want to create a new codec? ChainClient exposes proto.Marshaler @@ -1002,7 +1005,6 @@ func (cc *PenumbraProvider) QueryStatus(ctx context.Context) (*coretypes.ResultS return status, nil } -func (cc *PenumbraProvider) QueryICQWithProof(ctx context.Context, msgType string, request []byte, height uint64) (provider.ICQProof, error) { - //TODO implement me +func (*PenumbraProvider) QueryICQWithProof(ctx context.Context, msgType string, request []byte, height uint64) (provider.ICQProof, error) { panic("implement me") } diff --git a/relayer/chains/penumbra/relayer_packets.go b/relayer/chains/penumbra/relayer_packets.go index 7e5057037..09dc7ca9e 100644 --- a/relayer/chains/penumbra/relayer_packets.go +++ b/relayer/chains/penumbra/relayer_packets.go @@ -6,6 +6,7 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer/provider" ) @@ -21,8 +22,6 @@ type relayMsgTimeout struct { timeout clienttypes.Height timeoutStamp uint64 dstRecvRes *chantypes.QueryPacketReceiptResponse - - pass bool } func (rp relayMsgTimeout) Data() []byte { @@ -49,7 +48,6 @@ func (rp relayMsgTimeout) FetchCommitResponse(ctx context.Context, dst provider. case dstRecvRes.Proof == nil: return fmt.Errorf("timeout packet receipt proof seq(%d) is nil", rp.seq) default: - rp.dstRecvRes = dstRecvRes return nil } } @@ -91,17 +89,6 @@ type relayMsgRecvPacket struct { dstComRes *chantypes.QueryPacketCommitmentResponse } -func (rp relayMsgRecvPacket) timeoutPacket() *relayMsgTimeout { - return &relayMsgTimeout{ - packetData: rp.packetData, - seq: rp.seq, - timeout: rp.timeout, - timeoutStamp: rp.timeoutStamp, - dstRecvRes: nil, - pass: false, - } -} - func (rp relayMsgRecvPacket) Data() []byte { return rp.packetData } @@ -128,7 +115,6 @@ func (rp relayMsgRecvPacket) FetchCommitResponse(ctx context.Context, dst provid case dstCommitRes.Commitment == nil: return fmt.Errorf("recv packet commitment query seq(%d) is nil", rp.seq) default: - rp.dstComRes = dstCommitRes return nil } } @@ -168,16 +154,16 @@ type relayMsgPacketAck struct { timeout clienttypes.Height timeoutStamp uint64 dstComRes *chantypes.QueryPacketAcknowledgementResponse - - pass bool } func (rp relayMsgPacketAck) Data() []byte { return rp.packetData } + func (rp relayMsgPacketAck) Seq() uint64 { return rp.seq } + func (rp relayMsgPacketAck) Timeout() clienttypes.Height { return rp.timeout } @@ -226,7 +212,6 @@ func (rp relayMsgPacketAck) FetchCommitResponse(ctx context.Context, dst provide case dstCommitRes.Acknowledgement == nil: return fmt.Errorf("ack packet acknowledgement query seq(%d) is nil", rp.seq) default: - rp.dstComRes = dstCommitRes return nil } } diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index dd90ac098..791707275 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -6,23 +6,11 @@ import ( "errors" "fmt" "math/rand" - "regexp" "strconv" "strings" "time" "github.com/avast/retry-go/v4" - abci "github.com/cometbft/cometbft/abci/types" - "github.com/cometbft/cometbft/libs/bytes" - "github.com/cometbft/cometbft/light" - tmcrypto "github.com/cometbft/cometbft/proto/tendermint/crypto" - rpcclient "github.com/cometbft/cometbft/rpc/client" - coretypes "github.com/cometbft/cometbft/rpc/core/types" - tmtypes "github.com/cometbft/cometbft/types" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/store/rootmulti" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" cosmosproto "github.com/cosmos/gogoproto/proto" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" @@ -33,14 +21,30 @@ import ( ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" ics23 "github.com/cosmos/ics23/go" + "go.uber.org/zap" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + errorsmod "cosmossdk.io/errors" + + "cosmossdk.io/store/rootmulti" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + abci "github.com/cometbft/cometbft/abci/types" + "github.com/cometbft/cometbft/libs/bytes" + "github.com/cometbft/cometbft/light" + tmcrypto "github.com/cometbft/cometbft/proto/tendermint/crypto" + rpcclient "github.com/cometbft/cometbft/rpc/client" + coretypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" penumbracrypto "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/crypto/v1alpha1" penumbraibctypes "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/ibc/v1alpha1" penumbratypes "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/transaction/v1alpha1" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" ) // Variables used for retries @@ -49,14 +53,12 @@ var ( rtyAtt = retry.Attempts(rtyAttNum) rtyDel = retry.Delay(time.Millisecond * 400) rtyErr = retry.LastErrorOnly(true) - numRegex = regexp.MustCompile("[0-9]+") defaultBroadcastWaitTimeout = 10 * time.Minute errUnknown = "unknown" ) // Default IBC settings var ( - defaultChainPrefix = commitmenttypes.NewMerklePrefix([]byte("ibc")) defaultDelayPeriod = uint64(0) ) @@ -286,11 +288,11 @@ func parseEventsFromABCIResponse(resp abci.ResponseDeliverTx) []provider.Relayer attributes := make(map[string]string) for _, attribute := range event.Attributes { // The key and value are base64-encoded strings, so we first have to decode them: - key, err := base64.StdEncoding.DecodeString(string(attribute.Key)) + key, err := base64.StdEncoding.DecodeString(attribute.Key) if err != nil { continue } - value, err := base64.StdEncoding.DecodeString(string(attribute.Value)) + value, err := base64.StdEncoding.DecodeString(attribute.Value) if err != nil { continue } @@ -302,11 +304,9 @@ func parseEventsFromABCIResponse(resp abci.ResponseDeliverTx) []provider.Relayer }) } return events - } func (cc *PenumbraProvider) sendMessagesInner(ctx context.Context, msgs []provider.RelayerMessage, _memo string) (*coretypes.ResultBroadcastTx, error) { - // TODO: fee estimation, fee payments // NOTE: we do not actually need to sign this tx currently, since there // are no fees required on the testnet. future versions of penumbra @@ -462,7 +462,7 @@ func (cc *PenumbraProvider) MsgCreateClient(clientState ibcexported.ClientState, return NewPenumbraMessage(msg), nil } -func (cc *PenumbraProvider) SubmitMisbehavior( /*TBD*/ ) (provider.RelayerMessage, error) { +func (*PenumbraProvider) SubmitMisbehavior( /* TBD */ ) (provider.RelayerMessage, error) { return nil, nil } @@ -913,9 +913,11 @@ func (cc *PenumbraProvider) MsgUpgradeClient(srcClientId string, consRes *client return nil, err } - msgUpgradeClient := &clienttypes.MsgUpgradeClient{ClientId: srcClientId, ClientState: clientRes.ClientState, + msgUpgradeClient := &clienttypes.MsgUpgradeClient{ + ClientId: srcClientId, ClientState: clientRes.ClientState, ConsensusState: consRes.ConsensusState, ProofUpgradeClient: consRes.GetProof(), - ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc} + ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc, + } return cosmos.NewCosmosMessage(msgUpgradeClient, func(signer string) { msgUpgradeClient.Signer = signer @@ -936,15 +938,6 @@ func (cc *PenumbraProvider) MsgSubmitMisbehaviour(clientID string, misbehaviour return NewPenumbraMessage(msg), nil } -// mustGetHeight takes the height inteface and returns the actual height -func mustGetHeight(h ibcexported.Height) clienttypes.Height { - height, ok := h.(clienttypes.Height) - if !ok { - panic("height is not an instance of height!") - } - return height -} - // MsgRelayAcknowledgement constructs the MsgAcknowledgement which is to be sent to the sending chain. // The counterparty represents the receiving chain where the acknowledgement would be stored. func (cc *PenumbraProvider) MsgRelayAcknowledgement(ctx context.Context, dst provider.ChainProvider, dstChanId, dstPortId, srcChanId, srcPortId string, dsth int64, packet provider.RelayPacket) (provider.RelayerMessage, error) { @@ -1626,7 +1619,7 @@ func (cc *PenumbraProvider) MsgChannelCloseConfirm(msgCloseInit provider.Channel }), nil } -func (cc *PenumbraProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { +func (*PenumbraProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { trustedCosmosHeader, ok := trustedHeader.(PenumbraIBCHeader) if !ok { return nil, fmt.Errorf("unsupported IBC trusted header type, expected: PenumbraIBCHeader, actual: %T", trustedHeader) @@ -1700,13 +1693,13 @@ func (cc *PenumbraProvider) RelayPacketFromSequence( return nil, nil, err } return nil, timeout, nil - } else { - timeout, err := src.MsgTimeout(msgTransfer, pp) - if err != nil { - return nil, nil, err - } - return nil, timeout, nil } + timeout, err := src.MsgTimeout(msgTransfer, pp) + if err != nil { + return nil, nil, err + } + return nil, timeout, nil + default: return nil, nil, err } @@ -1759,14 +1752,11 @@ func (cc *PenumbraProvider) AcknowledgementFromSequence(ctx context.Context, dst return out, nil } -func rcvPacketQuery(channelID string, seq int) []string { - return []string{fmt.Sprintf("%s.packet_src_channel='%s'", spTag, channelID), - fmt.Sprintf("%s.packet_sequence='%d'", spTag, seq)} -} - func ackPacketQuery(channelID string, seq int) []string { - return []string{fmt.Sprintf("%s.packet_dst_channel='%s'", waTag, channelID), - fmt.Sprintf("%s.packet_sequence='%d'", waTag, seq)} + return []string{ + fmt.Sprintf("%s.packet_dst_channel='%s'", waTag, channelID), + fmt.Sprintf("%s.packet_sequence='%d'", waTag, seq), + } } // acknowledgementsFromResultTx looks through the events in a *ctypes.ResultTx and returns @@ -1783,7 +1773,6 @@ EventLoop: } for attributeKey, attributeValue := range event.Attributes { - switch attributeKey { case srcChanTag: if attributeValue != srcChanId { @@ -1965,34 +1954,6 @@ func (cc *PenumbraProvider) InjectTrustedFields(ctx context.Context, header ibce return h, nil } -// queryTMClientState retrieves the latest consensus state for a client in state at a given height -// and unpacks/cast it to tendermint clientstate -func (cc *PenumbraProvider) queryTMClientState(ctx context.Context, srch int64, srcClientId string) (*tmclient.ClientState, error) { - clientStateRes, err := cc.QueryClientStateResponse(ctx, srch, srcClientId) - if err != nil { - return &tmclient.ClientState{}, err - } - - return castClientStateToTMType(clientStateRes.ClientState) -} - -// castClientStateToTMType casts client state to tendermint type -func castClientStateToTMType(cs *codectypes.Any) (*tmclient.ClientState, error) { - clientStateExported, err := clienttypes.UnpackClientState(cs) - if err != nil { - return &tmclient.ClientState{}, err - } - - // cast from interface to concrete type - clientState, ok := clientStateExported.(*tmclient.ClientState) - if !ok { - return &tmclient.ClientState{}, - fmt.Errorf("error when casting exported clientstate to tendermint type") - } - - return clientState, nil -} - // DefaultUpgradePath is the default IBC upgrade path set for an on-chain light client var defaultUpgradePath = []string{"upgrade", "upgradedIBCState"} @@ -2041,7 +2002,7 @@ var ApphashSpec = &ics23.ProofSpec{ var PenumbraProofSpecs = []*ics23.ProofSpec{JmtSpec, ApphashSpec} // NewClientState creates a new tendermint client state tracking the dst chain. -func (cc *PenumbraProvider) NewClientState( +func (*PenumbraProvider) NewClientState( dstChainID string, dstUpdateHeader provider.IBCHeader, dstTrustingPeriod, @@ -2145,10 +2106,10 @@ func isQueryStoreWithProof(path string) bool { } // sdkError will return the Cosmos SDK registered error for a given codespace/code combo if registered, otherwise nil. -func (cc *PenumbraProvider) sdkError(codespace string, code uint32) error { +func (*PenumbraProvider) sdkError(codespace string, code uint32) error { // ABCIError will return an error other than "unknown" if syncRes.Code is a registered error in syncRes.Codespace // This catches all of the sdk errors https://github.com/cosmos/cosmos-sdk/blob/f10f5e5974d2ecbf9efc05bc0bfe1c99fdeed4b6/types/errors/errors.go - err := errors.Unwrap(sdkerrors.ABCIError(codespace, code, "error broadcasting transaction")) + err := errors.Unwrap(errorsmod.ABCIError(codespace, code, "error broadcasting transaction")) if err.Error() != errUnknown { return err } @@ -2162,8 +2123,6 @@ func (cc *PenumbraProvider) broadcastTx( ctx context.Context, // context for tx broadcast tx []byte, // raw tx to be broadcasted msgs []provider.RelayerMessage, // used for logging only - fees sdk.Coins, // used for metrics - asyncCtx context.Context, // context for async wait for block inclusion after successful tx broadcast asyncTimeout time.Duration, // timeout for waiting for block inclusion asyncCallback func(*provider.RelayerTxResponse, error), // callback for success/fail of the wait for block inclusion @@ -2287,12 +2246,11 @@ func (cc *PenumbraProvider) mkTxResult(resTx *coretypes.ResultTx) (*sdk.TxRespon if !ok { return nil, fmt.Errorf("expecting a type implementing intoAny, got: %T", txbz) } - any := p.AsAny() - return sdk.NewResponseResultTx(resTx, any, ""), nil + anyValue := p.AsAny() + return sdk.NewResponseResultTx(resTx, anyValue, ""), nil } -func (cc *PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { - //TODO implement me +func (*PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { panic("implement me") } @@ -2303,7 +2261,6 @@ func (cc *PenumbraProvider) SendMessagesToMempool(ctx context.Context, msgs []pr } // MsgRegisterCounterpartyPayee creates an sdk.Msg to broadcast the counterparty address -func (cc *PenumbraProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee string) (provider.RelayerMessage, error) { - //TODO implement me +func (*PenumbraProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee string) (provider.RelayerMessage, error) { panic("implement me") } diff --git a/relayer/chains/penumbra/view/v1alpha1/view.pb.go b/relayer/chains/penumbra/view/v1alpha1/view.pb.go index 35056567e..df0911ceb 100644 --- a/relayer/chains/penumbra/view/v1alpha1/view.pb.go +++ b/relayer/chains/penumbra/view/v1alpha1/view.pb.go @@ -8,9 +8,9 @@ import ( fmt "fmt" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" - v1alpha14 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/chain/v1alpha1" + v1alpha15 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/chain/v1alpha1" v1alpha11 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/crypto/v1alpha1" - v1alpha15 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/dex/v1alpha1" + v1alpha14 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/dex/v1alpha1" v1alpha12 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/ibc/v1alpha1" v1alpha13 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/stake/v1alpha1" v1alpha1 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/transaction/v1alpha1" @@ -246,18 +246,21 @@ type TransactionPlannerRequest struct { ExpiryHeight uint64 `protobuf:"varint,1,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` // The fee for the requested TransactionPlan, if any. Fee *v1alpha11.Fee `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"` - // The memo for the requested TransactionPlan + // The memo for the requested TransactionPlan. + // The memo must be unspecified unless `outputs` is nonempty. Memo *v1alpha1.MemoPlaintext `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` - // Types that are valid to be assigned to XAccountGroupId: - // *TransactionPlannerRequest_AccountGroupId - XAccountGroupId isTransactionPlannerRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` // Request contents - Outputs []*TransactionPlannerRequest_Output `protobuf:"bytes,20,rep,name=outputs,proto3" json:"outputs,omitempty"` - Swaps []*TransactionPlannerRequest_Swap `protobuf:"bytes,30,rep,name=swaps,proto3" json:"swaps,omitempty"` - SwapClaims []*TransactionPlannerRequest_SwapClaim `protobuf:"bytes,31,rep,name=swap_claims,json=swapClaims,proto3" json:"swap_claims,omitempty"` - Delegations []*TransactionPlannerRequest_Delegate `protobuf:"bytes,40,rep,name=delegations,proto3" json:"delegations,omitempty"` - Undelegations []*TransactionPlannerRequest_Undelegate `protobuf:"bytes,50,rep,name=undelegations,proto3" json:"undelegations,omitempty"` - IbcActions []*v1alpha12.IbcAction `protobuf:"bytes,60,rep,name=ibc_actions,json=ibcActions,proto3" json:"ibc_actions,omitempty"` + Outputs []*TransactionPlannerRequest_Output `protobuf:"bytes,20,rep,name=outputs,proto3" json:"outputs,omitempty"` + Swaps []*TransactionPlannerRequest_Swap `protobuf:"bytes,30,rep,name=swaps,proto3" json:"swaps,omitempty"` + SwapClaims []*TransactionPlannerRequest_SwapClaim `protobuf:"bytes,31,rep,name=swap_claims,json=swapClaims,proto3" json:"swap_claims,omitempty"` + Delegations []*TransactionPlannerRequest_Delegate `protobuf:"bytes,40,rep,name=delegations,proto3" json:"delegations,omitempty"` + Undelegations []*TransactionPlannerRequest_Undelegate `protobuf:"bytes,50,rep,name=undelegations,proto3" json:"undelegations,omitempty"` + IbcActions []*v1alpha12.IbcAction `protobuf:"bytes,60,rep,name=ibc_actions,json=ibcActions,proto3" json:"ibc_actions,omitempty"` + PositionOpens []*TransactionPlannerRequest_PositionOpen `protobuf:"bytes,70,rep,name=position_opens,json=positionOpens,proto3" json:"position_opens,omitempty"` + PositionCloses []*TransactionPlannerRequest_PositionClose `protobuf:"bytes,71,rep,name=position_closes,json=positionCloses,proto3" json:"position_closes,omitempty"` + PositionWithdraws []*TransactionPlannerRequest_PositionWithdraw `protobuf:"bytes,72,rep,name=position_withdraws,json=positionWithdraws,proto3" json:"position_withdraws,omitempty"` } func (m *TransactionPlannerRequest) Reset() { *m = TransactionPlannerRequest{} } @@ -293,25 +296,6 @@ func (m *TransactionPlannerRequest) XXX_DiscardUnknown() { var xxx_messageInfo_TransactionPlannerRequest proto.InternalMessageInfo -type isTransactionPlannerRequest_XAccountGroupId interface { - isTransactionPlannerRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type TransactionPlannerRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*TransactionPlannerRequest_AccountGroupId) isTransactionPlannerRequest_XAccountGroupId() {} - -func (m *TransactionPlannerRequest) GetXAccountGroupId() isTransactionPlannerRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *TransactionPlannerRequest) GetExpiryHeight() uint64 { if m != nil { return m.ExpiryHeight @@ -334,8 +318,8 @@ func (m *TransactionPlannerRequest) GetMemo() *v1alpha1.MemoPlaintext { } func (m *TransactionPlannerRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*TransactionPlannerRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } @@ -382,11 +366,25 @@ func (m *TransactionPlannerRequest) GetIbcActions() []*v1alpha12.IbcAction { return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*TransactionPlannerRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*TransactionPlannerRequest_AccountGroupId)(nil), +func (m *TransactionPlannerRequest) GetPositionOpens() []*TransactionPlannerRequest_PositionOpen { + if m != nil { + return m.PositionOpens + } + return nil +} + +func (m *TransactionPlannerRequest) GetPositionCloses() []*TransactionPlannerRequest_PositionClose { + if m != nil { + return m.PositionCloses + } + return nil +} + +func (m *TransactionPlannerRequest) GetPositionWithdraws() []*TransactionPlannerRequest_PositionWithdraw { + if m != nil { + return m.PositionWithdraws } + return nil } // Request message subtypes @@ -445,12 +443,14 @@ func (m *TransactionPlannerRequest_Output) GetAddress() *v1alpha11.Address { } type TransactionPlannerRequest_Swap struct { - // The amount and denomination to be traded in the Swap. + // The input amount and denomination to be traded in the Swap. Value *v1alpha11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // The denomination to be received as a Output of the Swap. TargetAsset *v1alpha11.AssetId `protobuf:"bytes,2,opt,name=target_asset,json=targetAsset,proto3" json:"target_asset,omitempty"` - // An optional fee to be paid for performing the Swap. + // The pre-paid fee to be paid for claiming the Swap outputs. Fee *v1alpha11.Fee `protobuf:"bytes,3,opt,name=fee,proto3" json:"fee,omitempty"` + // The address to which swap claim output will be sent. + ClaimAddress *v1alpha11.Address `protobuf:"bytes,4,opt,name=claim_address,json=claimAddress,proto3" json:"claim_address,omitempty"` } func (m *TransactionPlannerRequest_Swap) Reset() { *m = TransactionPlannerRequest_Swap{} } @@ -507,6 +507,13 @@ func (m *TransactionPlannerRequest_Swap) GetFee() *v1alpha11.Fee { return nil } +func (m *TransactionPlannerRequest_Swap) GetClaimAddress() *v1alpha11.Address { + if m != nil { + return m.ClaimAddress + } + return nil +} + type TransactionPlannerRequest_SwapClaim struct { // SwapCommitment to identify the Swap to be claimed. // Use the commitment from the Swap message: @@ -658,6 +665,170 @@ func (m *TransactionPlannerRequest_Undelegate) GetRateData() *v1alpha13.RateData return nil } +type TransactionPlannerRequest_PositionOpen struct { + // Contains the data defining the position, sufficient to compute its `PositionId`. + // + // Positions are immutable, so the `PositionData` (and hence the `PositionId`) + // are unchanged over the entire lifetime of the position. + Position *v1alpha14.Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` +} + +func (m *TransactionPlannerRequest_PositionOpen) Reset() { + *m = TransactionPlannerRequest_PositionOpen{} +} +func (m *TransactionPlannerRequest_PositionOpen) String() string { return proto.CompactTextString(m) } +func (*TransactionPlannerRequest_PositionOpen) ProtoMessage() {} +func (*TransactionPlannerRequest_PositionOpen) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{4, 5} +} +func (m *TransactionPlannerRequest_PositionOpen) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TransactionPlannerRequest_PositionOpen) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TransactionPlannerRequest_PositionOpen.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TransactionPlannerRequest_PositionOpen) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionPlannerRequest_PositionOpen.Merge(m, src) +} +func (m *TransactionPlannerRequest_PositionOpen) XXX_Size() int { + return m.Size() +} +func (m *TransactionPlannerRequest_PositionOpen) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionPlannerRequest_PositionOpen.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionPlannerRequest_PositionOpen proto.InternalMessageInfo + +func (m *TransactionPlannerRequest_PositionOpen) GetPosition() *v1alpha14.Position { + if m != nil { + return m.Position + } + return nil +} + +type TransactionPlannerRequest_PositionClose struct { + // The position to close. + PositionId *v1alpha14.PositionId `protobuf:"bytes,1,opt,name=position_id,json=positionId,proto3" json:"position_id,omitempty"` +} + +func (m *TransactionPlannerRequest_PositionClose) Reset() { + *m = TransactionPlannerRequest_PositionClose{} +} +func (m *TransactionPlannerRequest_PositionClose) String() string { return proto.CompactTextString(m) } +func (*TransactionPlannerRequest_PositionClose) ProtoMessage() {} +func (*TransactionPlannerRequest_PositionClose) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{4, 6} +} +func (m *TransactionPlannerRequest_PositionClose) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TransactionPlannerRequest_PositionClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TransactionPlannerRequest_PositionClose.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TransactionPlannerRequest_PositionClose) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionPlannerRequest_PositionClose.Merge(m, src) +} +func (m *TransactionPlannerRequest_PositionClose) XXX_Size() int { + return m.Size() +} +func (m *TransactionPlannerRequest_PositionClose) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionPlannerRequest_PositionClose.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionPlannerRequest_PositionClose proto.InternalMessageInfo + +func (m *TransactionPlannerRequest_PositionClose) GetPositionId() *v1alpha14.PositionId { + if m != nil { + return m.PositionId + } + return nil +} + +type TransactionPlannerRequest_PositionWithdraw struct { + // The position to withdraw. + PositionId *v1alpha14.PositionId `protobuf:"bytes,1,opt,name=position_id,json=positionId,proto3" json:"position_id,omitempty"` + // The position's final reserves. + Reserves *v1alpha14.Reserves `protobuf:"bytes,2,opt,name=reserves,proto3" json:"reserves,omitempty"` + // The trading pair of the position. + TradingPair *v1alpha14.TradingPair `protobuf:"bytes,3,opt,name=trading_pair,json=tradingPair,proto3" json:"trading_pair,omitempty"` +} + +func (m *TransactionPlannerRequest_PositionWithdraw) Reset() { + *m = TransactionPlannerRequest_PositionWithdraw{} +} +func (m *TransactionPlannerRequest_PositionWithdraw) String() string { + return proto.CompactTextString(m) +} +func (*TransactionPlannerRequest_PositionWithdraw) ProtoMessage() {} +func (*TransactionPlannerRequest_PositionWithdraw) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{4, 7} +} +func (m *TransactionPlannerRequest_PositionWithdraw) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TransactionPlannerRequest_PositionWithdraw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TransactionPlannerRequest_PositionWithdraw.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TransactionPlannerRequest_PositionWithdraw) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionPlannerRequest_PositionWithdraw.Merge(m, src) +} +func (m *TransactionPlannerRequest_PositionWithdraw) XXX_Size() int { + return m.Size() +} +func (m *TransactionPlannerRequest_PositionWithdraw) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionPlannerRequest_PositionWithdraw.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionPlannerRequest_PositionWithdraw proto.InternalMessageInfo + +func (m *TransactionPlannerRequest_PositionWithdraw) GetPositionId() *v1alpha14.PositionId { + if m != nil { + return m.PositionId + } + return nil +} + +func (m *TransactionPlannerRequest_PositionWithdraw) GetReserves() *v1alpha14.Reserves { + if m != nil { + return m.Reserves + } + return nil +} + +func (m *TransactionPlannerRequest_PositionWithdraw) GetTradingPair() *v1alpha14.TradingPair { + if m != nil { + return m.TradingPair + } + return nil +} + type TransactionPlannerResponse struct { Plan *v1alpha1.TransactionPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` } @@ -843,9 +1014,8 @@ func (m *IndexByAddressRequest) GetAddress() *v1alpha11.Address { } type IndexByAddressResponse struct { - // Types that are valid to be assigned to XAddressIndex: - // *IndexByAddressResponse_AddressIndex - XAddressIndex isIndexByAddressResponse_XAddressIndex `protobuf_oneof:"_address_index"` + // Will be absent if given an address not viewable by this viewing service + AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=address_index,json=addressIndex,proto3" json:"address_index,omitempty"` } func (m *IndexByAddressResponse) Reset() { *m = IndexByAddressResponse{} } @@ -881,39 +1051,13 @@ func (m *IndexByAddressResponse) XXX_DiscardUnknown() { var xxx_messageInfo_IndexByAddressResponse proto.InternalMessageInfo -type isIndexByAddressResponse_XAddressIndex interface { - isIndexByAddressResponse_XAddressIndex() - MarshalTo([]byte) (int, error) - Size() int -} - -type IndexByAddressResponse_AddressIndex struct { - AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=address_index,json=addressIndex,proto3,oneof" json:"address_index,omitempty"` -} - -func (*IndexByAddressResponse_AddressIndex) isIndexByAddressResponse_XAddressIndex() {} - -func (m *IndexByAddressResponse) GetXAddressIndex() isIndexByAddressResponse_XAddressIndex { - if m != nil { - return m.XAddressIndex - } - return nil -} - func (m *IndexByAddressResponse) GetAddressIndex() *v1alpha11.AddressIndex { - if x, ok := m.GetXAddressIndex().(*IndexByAddressResponse_AddressIndex); ok { - return x.AddressIndex + if m != nil { + return m.AddressIndex } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*IndexByAddressResponse) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*IndexByAddressResponse_AddressIndex)(nil), - } -} - type EphemeralAddressRequest struct { AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=address_index,json=addressIndex,proto3" json:"address_index,omitempty"` DisplayConfirm bool `protobuf:"varint,2,opt,name=display_confirm,json=displayConfirm,proto3" json:"display_confirm,omitempty"` @@ -1251,9 +1395,8 @@ func (m *ViewAuthResponse) GetToken() *ViewAuthToken { // Requests sync status of the view service. type StatusRequest struct { - // Types that are valid to be assigned to XAccountGroupId: - // *StatusRequest_AccountGroupId - XAccountGroupId isStatusRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *StatusRequest) Reset() { *m = StatusRequest{} } @@ -1289,39 +1432,13 @@ func (m *StatusRequest) XXX_DiscardUnknown() { var xxx_messageInfo_StatusRequest proto.InternalMessageInfo -type isStatusRequest_XAccountGroupId interface { - isStatusRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type StatusRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*StatusRequest_AccountGroupId) isStatusRequest_XAccountGroupId() {} - -func (m *StatusRequest) GetXAccountGroupId() isStatusRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *StatusRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*StatusRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*StatusRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*StatusRequest_AccountGroupId)(nil), - } -} - // Returns the status of the view service and whether it is synchronized with the chain state. type StatusResponse struct { // The height the view service has synchronized to so far @@ -1379,9 +1496,8 @@ func (m *StatusResponse) GetCatchingUp() bool { // Requests streaming updates on the sync height until the view service is synchronized. type StatusStreamRequest struct { - // Types that are valid to be assigned to XAccountGroupId: - // *StatusStreamRequest_AccountGroupId - XAccountGroupId isStatusStreamRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *StatusStreamRequest) Reset() { *m = StatusStreamRequest{} } @@ -1417,39 +1533,13 @@ func (m *StatusStreamRequest) XXX_DiscardUnknown() { var xxx_messageInfo_StatusStreamRequest proto.InternalMessageInfo -type isStatusStreamRequest_XAccountGroupId interface { - isStatusStreamRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type StatusStreamRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*StatusStreamRequest_AccountGroupId) isStatusStreamRequest_XAccountGroupId() {} - -func (m *StatusStreamRequest) GetXAccountGroupId() isStatusStreamRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *StatusStreamRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*StatusStreamRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*StatusStreamRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*StatusStreamRequest_AccountGroupId)(nil), - } -} - // A streaming sync status update type StatusStreamResponse struct { LatestKnownBlockHeight uint64 `protobuf:"varint,1,opt,name=latest_known_block_height,json=latestKnownBlockHeight,proto3" json:"latest_known_block_height,omitempty"` @@ -1518,9 +1608,8 @@ type NotesRequest struct { // // Ignored if `asset_id` is unset or if `include_spent` is set. AmountToSpend *v1alpha11.Amount `protobuf:"bytes,6,opt,name=amount_to_spend,json=amountToSpend,proto3" json:"amount_to_spend,omitempty"` - // Types that are valid to be assigned to XAccountGroupId: - // *NotesRequest_AccountGroupId - XAccountGroupId isNotesRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *NotesRequest) Reset() { *m = NotesRequest{} } @@ -1556,25 +1645,6 @@ func (m *NotesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_NotesRequest proto.InternalMessageInfo -type isNotesRequest_XAccountGroupId interface { - isNotesRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type NotesRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*NotesRequest_AccountGroupId) isNotesRequest_XAccountGroupId() {} - -func (m *NotesRequest) GetXAccountGroupId() isNotesRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *NotesRequest) GetIncludeSpent() bool { if m != nil { return m.IncludeSpent @@ -1604,28 +1674,20 @@ func (m *NotesRequest) GetAmountToSpend() *v1alpha11.Amount { } func (m *NotesRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*NotesRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*NotesRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*NotesRequest_AccountGroupId)(nil), - } -} - // A query for notes to be used for voting on a proposal. type NotesForVotingRequest struct { // The starting height of the proposal. VotableAtHeight uint64 `protobuf:"varint,1,opt,name=votable_at_height,json=votableAtHeight,proto3" json:"votable_at_height,omitempty"` // If set, only return notes with the specified asset id. AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,3,opt,name=address_index,json=addressIndex,proto3" json:"address_index,omitempty"` - // Types that are valid to be assigned to XAccountGroupId: - // *NotesForVotingRequest_AccountGroupId - XAccountGroupId isNotesForVotingRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *NotesForVotingRequest) Reset() { *m = NotesForVotingRequest{} } @@ -1661,25 +1723,6 @@ func (m *NotesForVotingRequest) XXX_DiscardUnknown() { var xxx_messageInfo_NotesForVotingRequest proto.InternalMessageInfo -type isNotesForVotingRequest_XAccountGroupId interface { - isNotesForVotingRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type NotesForVotingRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*NotesForVotingRequest_AccountGroupId) isNotesForVotingRequest_XAccountGroupId() {} - -func (m *NotesForVotingRequest) GetXAccountGroupId() isNotesForVotingRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *NotesForVotingRequest) GetVotableAtHeight() uint64 { if m != nil { return m.VotableAtHeight @@ -1695,27 +1738,19 @@ func (m *NotesForVotingRequest) GetAddressIndex() *v1alpha11.AddressIndex { } func (m *NotesForVotingRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*NotesForVotingRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*NotesForVotingRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*NotesForVotingRequest_AccountGroupId)(nil), - } -} - type WitnessRequest struct { // The note commitments to obtain auth paths for. NoteCommitments []*v1alpha11.StateCommitment `protobuf:"bytes,2,rep,name=note_commitments,json=noteCommitments,proto3" json:"note_commitments,omitempty"` // The transaction plan to witness TransactionPlan *v1alpha1.TransactionPlan `protobuf:"bytes,3,opt,name=transaction_plan,json=transactionPlan,proto3" json:"transaction_plan,omitempty"` - // Types that are valid to be assigned to XAccountGroupId: - // *WitnessRequest_AccountGroupId - XAccountGroupId isWitnessRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *WitnessRequest) Reset() { *m = WitnessRequest{} } @@ -1751,25 +1786,6 @@ func (m *WitnessRequest) XXX_DiscardUnknown() { var xxx_messageInfo_WitnessRequest proto.InternalMessageInfo -type isWitnessRequest_XAccountGroupId interface { - isWitnessRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type WitnessRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*WitnessRequest_AccountGroupId) isWitnessRequest_XAccountGroupId() {} - -func (m *WitnessRequest) GetXAccountGroupId() isWitnessRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *WitnessRequest) GetNoteCommitments() []*v1alpha11.StateCommitment { if m != nil { return m.NoteCommitments @@ -1785,19 +1801,12 @@ func (m *WitnessRequest) GetTransactionPlan() *v1alpha1.TransactionPlan { } func (m *WitnessRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*WitnessRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*WitnessRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*WitnessRequest_AccountGroupId)(nil), - } -} - type WitnessResponse struct { WitnessData *v1alpha1.WitnessData `protobuf:"bytes,1,opt,name=witness_data,json=witnessData,proto3" json:"witness_data,omitempty"` } @@ -2122,7 +2131,7 @@ func (m *ChainParametersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_ChainParametersRequest proto.InternalMessageInfo type ChainParametersResponse struct { - Parameters *v1alpha14.ChainParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` + Parameters *v1alpha15.ChainParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` } func (m *ChainParametersResponse) Reset() { *m = ChainParametersResponse{} } @@ -2158,7 +2167,7 @@ func (m *ChainParametersResponse) XXX_DiscardUnknown() { var xxx_messageInfo_ChainParametersResponse proto.InternalMessageInfo -func (m *ChainParametersResponse) GetParameters() *v1alpha14.ChainParameters { +func (m *ChainParametersResponse) GetParameters() *v1alpha15.ChainParameters { if m != nil { return m.Parameters } @@ -2203,7 +2212,7 @@ func (m *FMDParametersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_FMDParametersRequest proto.InternalMessageInfo type FMDParametersResponse struct { - Parameters *v1alpha14.FmdParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` + Parameters *v1alpha15.FmdParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` } func (m *FMDParametersResponse) Reset() { *m = FMDParametersResponse{} } @@ -2239,7 +2248,7 @@ func (m *FMDParametersResponse) XXX_DiscardUnknown() { var xxx_messageInfo_FMDParametersResponse proto.InternalMessageInfo -func (m *FMDParametersResponse) GetParameters() *v1alpha14.FmdParameters { +func (m *FMDParametersResponse) GetParameters() *v1alpha15.FmdParameters { if m != nil { return m.Parameters } @@ -2250,9 +2259,8 @@ type NoteByCommitmentRequest struct { NoteCommitment *v1alpha11.StateCommitment `protobuf:"bytes,2,opt,name=note_commitment,json=noteCommitment,proto3" json:"note_commitment,omitempty"` // If set to true, waits to return until the requested note is detected. AwaitDetection bool `protobuf:"varint,3,opt,name=await_detection,json=awaitDetection,proto3" json:"await_detection,omitempty"` - // Types that are valid to be assigned to XAccountGroupId: - // *NoteByCommitmentRequest_AccountGroupId - XAccountGroupId isNoteByCommitmentRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *NoteByCommitmentRequest) Reset() { *m = NoteByCommitmentRequest{} } @@ -2288,25 +2296,6 @@ func (m *NoteByCommitmentRequest) XXX_DiscardUnknown() { var xxx_messageInfo_NoteByCommitmentRequest proto.InternalMessageInfo -type isNoteByCommitmentRequest_XAccountGroupId interface { - isNoteByCommitmentRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type NoteByCommitmentRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*NoteByCommitmentRequest_AccountGroupId) isNoteByCommitmentRequest_XAccountGroupId() {} - -func (m *NoteByCommitmentRequest) GetXAccountGroupId() isNoteByCommitmentRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *NoteByCommitmentRequest) GetNoteCommitment() *v1alpha11.StateCommitment { if m != nil { return m.NoteCommitment @@ -2322,19 +2311,12 @@ func (m *NoteByCommitmentRequest) GetAwaitDetection() bool { } func (m *NoteByCommitmentRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*NoteByCommitmentRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*NoteByCommitmentRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*NoteByCommitmentRequest_AccountGroupId)(nil), - } -} - type NoteByCommitmentResponse struct { SpendableNote *SpendableNoteRecord `protobuf:"bytes,1,opt,name=spendable_note,json=spendableNote,proto3" json:"spendable_note,omitempty"` } @@ -2383,9 +2365,8 @@ type SwapByCommitmentRequest struct { SwapCommitment *v1alpha11.StateCommitment `protobuf:"bytes,2,opt,name=swap_commitment,json=swapCommitment,proto3" json:"swap_commitment,omitempty"` // If set to true, waits to return until the requested swap is detected. AwaitDetection bool `protobuf:"varint,3,opt,name=await_detection,json=awaitDetection,proto3" json:"await_detection,omitempty"` - // Types that are valid to be assigned to XAccountGroupId: - // *SwapByCommitmentRequest_AccountGroupId - XAccountGroupId isSwapByCommitmentRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *SwapByCommitmentRequest) Reset() { *m = SwapByCommitmentRequest{} } @@ -2421,25 +2402,6 @@ func (m *SwapByCommitmentRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SwapByCommitmentRequest proto.InternalMessageInfo -type isSwapByCommitmentRequest_XAccountGroupId interface { - isSwapByCommitmentRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type SwapByCommitmentRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*SwapByCommitmentRequest_AccountGroupId) isSwapByCommitmentRequest_XAccountGroupId() {} - -func (m *SwapByCommitmentRequest) GetXAccountGroupId() isSwapByCommitmentRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *SwapByCommitmentRequest) GetSwapCommitment() *v1alpha11.StateCommitment { if m != nil { return m.SwapCommitment @@ -2455,19 +2417,12 @@ func (m *SwapByCommitmentRequest) GetAwaitDetection() bool { } func (m *SwapByCommitmentRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*SwapByCommitmentRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*SwapByCommitmentRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*SwapByCommitmentRequest_AccountGroupId)(nil), - } -} - type SwapByCommitmentResponse struct { Swap *SwapRecord `protobuf:"bytes,1,opt,name=swap,proto3" json:"swap,omitempty"` } @@ -2515,9 +2470,8 @@ func (m *SwapByCommitmentResponse) GetSwap() *SwapRecord { type NullifierStatusRequest struct { Nullifier *v1alpha11.Nullifier `protobuf:"bytes,2,opt,name=nullifier,proto3" json:"nullifier,omitempty"` AwaitDetection bool `protobuf:"varint,3,opt,name=await_detection,json=awaitDetection,proto3" json:"await_detection,omitempty"` - // Types that are valid to be assigned to XAccountGroupId: - // *NullifierStatusRequest_AccountGroupId - XAccountGroupId isNullifierStatusRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` + // Identifies the account group to query. + AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3" json:"account_group_id,omitempty"` } func (m *NullifierStatusRequest) Reset() { *m = NullifierStatusRequest{} } @@ -2553,25 +2507,6 @@ func (m *NullifierStatusRequest) XXX_DiscardUnknown() { var xxx_messageInfo_NullifierStatusRequest proto.InternalMessageInfo -type isNullifierStatusRequest_XAccountGroupId interface { - isNullifierStatusRequest_XAccountGroupId() - MarshalTo([]byte) (int, error) - Size() int -} - -type NullifierStatusRequest_AccountGroupId struct { - AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` -} - -func (*NullifierStatusRequest_AccountGroupId) isNullifierStatusRequest_XAccountGroupId() {} - -func (m *NullifierStatusRequest) GetXAccountGroupId() isNullifierStatusRequest_XAccountGroupId { - if m != nil { - return m.XAccountGroupId - } - return nil -} - func (m *NullifierStatusRequest) GetNullifier() *v1alpha11.Nullifier { if m != nil { return m.Nullifier @@ -2587,19 +2522,12 @@ func (m *NullifierStatusRequest) GetAwaitDetection() bool { } func (m *NullifierStatusRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { - if x, ok := m.GetXAccountGroupId().(*NullifierStatusRequest_AccountGroupId); ok { - return x.AccountGroupId + if m != nil { + return m.AccountGroupId } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*NullifierStatusRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*NullifierStatusRequest_AccountGroupId)(nil), - } -} - type NullifierStatusResponse struct { Spent bool `protobuf:"varint,1,opt,name=spent,proto3" json:"spent,omitempty"` } @@ -2690,12 +2618,10 @@ func (m *TransactionInfoByHashRequest) GetId() *v1alpha1.Id { } type TransactionInfoRequest struct { - // Types that are valid to be assigned to XStartHeight: - // *TransactionInfoRequest_StartHeight - XStartHeight isTransactionInfoRequest_XStartHeight `protobuf_oneof:"_start_height"` - // Types that are valid to be assigned to XEndHeight: - // *TransactionInfoRequest_EndHeight - XEndHeight isTransactionInfoRequest_XEndHeight `protobuf_oneof:"_end_height"` + // If present, return only transactions after this height. + StartHeight uint64 `protobuf:"varint,1,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"` + // If present, return only transactions before this height. + EndHeight uint64 `protobuf:"varint,2,opt,name=end_height,json=endHeight,proto3" json:"end_height,omitempty"` } func (m *TransactionInfoRequest) Reset() { *m = TransactionInfoRequest{} } @@ -2731,66 +2657,23 @@ func (m *TransactionInfoRequest) XXX_DiscardUnknown() { var xxx_messageInfo_TransactionInfoRequest proto.InternalMessageInfo -type isTransactionInfoRequest_XStartHeight interface { - isTransactionInfoRequest_XStartHeight() - MarshalTo([]byte) (int, error) - Size() int -} -type isTransactionInfoRequest_XEndHeight interface { - isTransactionInfoRequest_XEndHeight() - MarshalTo([]byte) (int, error) - Size() int -} - -type TransactionInfoRequest_StartHeight struct { - StartHeight uint64 `protobuf:"varint,1,opt,name=start_height,json=startHeight,proto3,oneof" json:"start_height,omitempty"` -} -type TransactionInfoRequest_EndHeight struct { - EndHeight uint64 `protobuf:"varint,2,opt,name=end_height,json=endHeight,proto3,oneof" json:"end_height,omitempty"` -} - -func (*TransactionInfoRequest_StartHeight) isTransactionInfoRequest_XStartHeight() {} -func (*TransactionInfoRequest_EndHeight) isTransactionInfoRequest_XEndHeight() {} - -func (m *TransactionInfoRequest) GetXStartHeight() isTransactionInfoRequest_XStartHeight { - if m != nil { - return m.XStartHeight - } - return nil -} -func (m *TransactionInfoRequest) GetXEndHeight() isTransactionInfoRequest_XEndHeight { - if m != nil { - return m.XEndHeight - } - return nil -} - -func (m *TransactionInfoRequest) GetStartHeight() uint64 { - if x, ok := m.GetXStartHeight().(*TransactionInfoRequest_StartHeight); ok { - return x.StartHeight - } - return 0 +func (m *TransactionInfoRequest) GetStartHeight() uint64 { + if m != nil { + return m.StartHeight + } + return 0 } func (m *TransactionInfoRequest) GetEndHeight() uint64 { - if x, ok := m.GetXEndHeight().(*TransactionInfoRequest_EndHeight); ok { - return x.EndHeight + if m != nil { + return m.EndHeight } return 0 } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*TransactionInfoRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*TransactionInfoRequest_StartHeight)(nil), - (*TransactionInfoRequest_EndHeight)(nil), - } -} - type TransactionInfo struct { - // Types that are valid to be assigned to XHeight: - // *TransactionInfo_Height - XHeight isTransactionInfo_XHeight `protobuf_oneof:"_height"` + // The height the transaction was included in a block, if known. + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` // The hash of the transaction. Id *v1alpha1.Id `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // The transaction data itself. @@ -2834,28 +2717,9 @@ func (m *TransactionInfo) XXX_DiscardUnknown() { var xxx_messageInfo_TransactionInfo proto.InternalMessageInfo -type isTransactionInfo_XHeight interface { - isTransactionInfo_XHeight() - MarshalTo([]byte) (int, error) - Size() int -} - -type TransactionInfo_Height struct { - Height uint64 `protobuf:"varint,1,opt,name=height,proto3,oneof" json:"height,omitempty"` -} - -func (*TransactionInfo_Height) isTransactionInfo_XHeight() {} - -func (m *TransactionInfo) GetXHeight() isTransactionInfo_XHeight { - if m != nil { - return m.XHeight - } - return nil -} - func (m *TransactionInfo) GetHeight() uint64 { - if x, ok := m.GetXHeight().(*TransactionInfo_Height); ok { - return x.Height + if m != nil { + return m.Height } return 0 } @@ -2888,13 +2752,6 @@ func (m *TransactionInfo) GetView() *v1alpha1.TransactionView { return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*TransactionInfo) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*TransactionInfo_Height)(nil), - } -} - type TransactionInfoResponse struct { TxInfo *TransactionInfo `protobuf:"bytes,1,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"` } @@ -3091,13 +2948,12 @@ type SpendableNoteRecord struct { Nullifier *v1alpha11.Nullifier `protobuf:"bytes,4,opt,name=nullifier,proto3" json:"nullifier,omitempty"` // The height at which the note was created. HeightCreated uint64 `protobuf:"varint,5,opt,name=height_created,json=heightCreated,proto3" json:"height_created,omitempty"` - // Types that are valid to be assigned to XHeightSpent: - // *SpendableNoteRecord_HeightSpent - XHeightSpent isSpendableNoteRecord_XHeightSpent `protobuf_oneof:"_height_spent"` + // Records whether the note was spent (and if so, at what height). + HeightSpent uint64 `protobuf:"varint,6,opt,name=height_spent,json=heightSpent,proto3" json:"height_spent,omitempty"` // The note position. Position uint64 `protobuf:"varint,7,opt,name=position,proto3" json:"position,omitempty"` // The source of the note (a tx hash or otherwise) - Source *v1alpha14.NoteSource `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` + Source *v1alpha15.NoteSource `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` } func (m *SpendableNoteRecord) Reset() { *m = SpendableNoteRecord{} } @@ -3133,25 +2989,6 @@ func (m *SpendableNoteRecord) XXX_DiscardUnknown() { var xxx_messageInfo_SpendableNoteRecord proto.InternalMessageInfo -type isSpendableNoteRecord_XHeightSpent interface { - isSpendableNoteRecord_XHeightSpent() - MarshalTo([]byte) (int, error) - Size() int -} - -type SpendableNoteRecord_HeightSpent struct { - HeightSpent uint64 `protobuf:"varint,6,opt,name=height_spent,json=heightSpent,proto3,oneof" json:"height_spent,omitempty"` -} - -func (*SpendableNoteRecord_HeightSpent) isSpendableNoteRecord_XHeightSpent() {} - -func (m *SpendableNoteRecord) GetXHeightSpent() isSpendableNoteRecord_XHeightSpent { - if m != nil { - return m.XHeightSpent - } - return nil -} - func (m *SpendableNoteRecord) GetNoteCommitment() *v1alpha11.StateCommitment { if m != nil { return m.NoteCommitment @@ -3188,8 +3025,8 @@ func (m *SpendableNoteRecord) GetHeightCreated() uint64 { } func (m *SpendableNoteRecord) GetHeightSpent() uint64 { - if x, ok := m.GetXHeightSpent().(*SpendableNoteRecord_HeightSpent); ok { - return x.HeightSpent + if m != nil { + return m.HeightSpent } return 0 } @@ -3201,30 +3038,21 @@ func (m *SpendableNoteRecord) GetPosition() uint64 { return 0 } -func (m *SpendableNoteRecord) GetSource() *v1alpha14.NoteSource { +func (m *SpendableNoteRecord) GetSource() *v1alpha15.NoteSource { if m != nil { return m.Source } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*SpendableNoteRecord) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*SpendableNoteRecord_HeightSpent)(nil), - } -} - type SwapRecord struct { SwapCommitment *v1alpha11.StateCommitment `protobuf:"bytes,1,opt,name=swap_commitment,json=swapCommitment,proto3" json:"swap_commitment,omitempty"` - Swap *v1alpha15.SwapPlaintext `protobuf:"bytes,2,opt,name=swap,proto3" json:"swap,omitempty"` + Swap *v1alpha14.SwapPlaintext `protobuf:"bytes,2,opt,name=swap,proto3" json:"swap,omitempty"` Position uint64 `protobuf:"varint,3,opt,name=position,proto3" json:"position,omitempty"` Nullifier *v1alpha11.Nullifier `protobuf:"bytes,4,opt,name=nullifier,proto3" json:"nullifier,omitempty"` - OutputData *v1alpha15.BatchSwapOutputData `protobuf:"bytes,5,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` - // Types that are valid to be assigned to XHeightClaimed: - // *SwapRecord_HeightClaimed - XHeightClaimed isSwapRecord_XHeightClaimed `protobuf_oneof:"_height_claimed"` - Source *v1alpha14.NoteSource `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"` + OutputData *v1alpha14.BatchSwapOutputData `protobuf:"bytes,5,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` + HeightClaimed uint64 `protobuf:"varint,6,opt,name=height_claimed,json=heightClaimed,proto3" json:"height_claimed,omitempty"` + Source *v1alpha15.NoteSource `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"` } func (m *SwapRecord) Reset() { *m = SwapRecord{} } @@ -3260,25 +3088,6 @@ func (m *SwapRecord) XXX_DiscardUnknown() { var xxx_messageInfo_SwapRecord proto.InternalMessageInfo -type isSwapRecord_XHeightClaimed interface { - isSwapRecord_XHeightClaimed() - MarshalTo([]byte) (int, error) - Size() int -} - -type SwapRecord_HeightClaimed struct { - HeightClaimed uint64 `protobuf:"varint,6,opt,name=height_claimed,json=heightClaimed,proto3,oneof" json:"height_claimed,omitempty"` -} - -func (*SwapRecord_HeightClaimed) isSwapRecord_XHeightClaimed() {} - -func (m *SwapRecord) GetXHeightClaimed() isSwapRecord_XHeightClaimed { - if m != nil { - return m.XHeightClaimed - } - return nil -} - func (m *SwapRecord) GetSwapCommitment() *v1alpha11.StateCommitment { if m != nil { return m.SwapCommitment @@ -3286,7 +3095,7 @@ func (m *SwapRecord) GetSwapCommitment() *v1alpha11.StateCommitment { return nil } -func (m *SwapRecord) GetSwap() *v1alpha15.SwapPlaintext { +func (m *SwapRecord) GetSwap() *v1alpha14.SwapPlaintext { if m != nil { return m.Swap } @@ -3307,7 +3116,7 @@ func (m *SwapRecord) GetNullifier() *v1alpha11.Nullifier { return nil } -func (m *SwapRecord) GetOutputData() *v1alpha15.BatchSwapOutputData { +func (m *SwapRecord) GetOutputData() *v1alpha14.BatchSwapOutputData { if m != nil { return m.OutputData } @@ -3315,33 +3124,24 @@ func (m *SwapRecord) GetOutputData() *v1alpha15.BatchSwapOutputData { } func (m *SwapRecord) GetHeightClaimed() uint64 { - if x, ok := m.GetXHeightClaimed().(*SwapRecord_HeightClaimed); ok { - return x.HeightClaimed + if m != nil { + return m.HeightClaimed } return 0 } -func (m *SwapRecord) GetSource() *v1alpha14.NoteSource { +func (m *SwapRecord) GetSource() *v1alpha15.NoteSource { if m != nil { return m.Source } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*SwapRecord) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*SwapRecord_HeightClaimed)(nil), - } -} - type OwnedPositionIdsRequest struct { - // Types that are valid to be assigned to XPositionState: - // *OwnedPositionIdsRequest_PositionState - XPositionState isOwnedPositionIdsRequest_XPositionState `protobuf_oneof:"_position_state"` - // Types that are valid to be assigned to XTradingPair: - // *OwnedPositionIdsRequest_TradingPair - XTradingPair isOwnedPositionIdsRequest_XTradingPair `protobuf_oneof:"_trading_pair"` + // If present, return only positions with this position state. + PositionState *v1alpha14.PositionState `protobuf:"bytes,1,opt,name=position_state,json=positionState,proto3" json:"position_state,omitempty"` + // If present, return only positions for this trading pair. + TradingPair *v1alpha14.TradingPair `protobuf:"bytes,2,opt,name=trading_pair,json=tradingPair,proto3" json:"trading_pair,omitempty"` } func (m *OwnedPositionIdsRequest) Reset() { *m = OwnedPositionIdsRequest{} } @@ -3377,64 +3177,22 @@ func (m *OwnedPositionIdsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_OwnedPositionIdsRequest proto.InternalMessageInfo -type isOwnedPositionIdsRequest_XPositionState interface { - isOwnedPositionIdsRequest_XPositionState() - MarshalTo([]byte) (int, error) - Size() int -} -type isOwnedPositionIdsRequest_XTradingPair interface { - isOwnedPositionIdsRequest_XTradingPair() - MarshalTo([]byte) (int, error) - Size() int -} - -type OwnedPositionIdsRequest_PositionState struct { - PositionState *v1alpha15.PositionState `protobuf:"bytes,1,opt,name=position_state,json=positionState,proto3,oneof" json:"position_state,omitempty"` -} -type OwnedPositionIdsRequest_TradingPair struct { - TradingPair *v1alpha15.TradingPair `protobuf:"bytes,2,opt,name=trading_pair,json=tradingPair,proto3,oneof" json:"trading_pair,omitempty"` -} - -func (*OwnedPositionIdsRequest_PositionState) isOwnedPositionIdsRequest_XPositionState() {} -func (*OwnedPositionIdsRequest_TradingPair) isOwnedPositionIdsRequest_XTradingPair() {} - -func (m *OwnedPositionIdsRequest) GetXPositionState() isOwnedPositionIdsRequest_XPositionState { - if m != nil { - return m.XPositionState - } - return nil -} -func (m *OwnedPositionIdsRequest) GetXTradingPair() isOwnedPositionIdsRequest_XTradingPair { +func (m *OwnedPositionIdsRequest) GetPositionState() *v1alpha14.PositionState { if m != nil { - return m.XTradingPair - } - return nil -} - -func (m *OwnedPositionIdsRequest) GetPositionState() *v1alpha15.PositionState { - if x, ok := m.GetXPositionState().(*OwnedPositionIdsRequest_PositionState); ok { - return x.PositionState + return m.PositionState } return nil } -func (m *OwnedPositionIdsRequest) GetTradingPair() *v1alpha15.TradingPair { - if x, ok := m.GetXTradingPair().(*OwnedPositionIdsRequest_TradingPair); ok { - return x.TradingPair +func (m *OwnedPositionIdsRequest) GetTradingPair() *v1alpha14.TradingPair { + if m != nil { + return m.TradingPair } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*OwnedPositionIdsRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*OwnedPositionIdsRequest_PositionState)(nil), - (*OwnedPositionIdsRequest_TradingPair)(nil), - } -} - type OwnedPositionIdsResponse struct { - PositionId *v1alpha15.PositionId `protobuf:"bytes,1,opt,name=position_id,json=positionId,proto3" json:"position_id,omitempty"` + PositionId *v1alpha14.PositionId `protobuf:"bytes,1,opt,name=position_id,json=positionId,proto3" json:"position_id,omitempty"` } func (m *OwnedPositionIdsResponse) Reset() { *m = OwnedPositionIdsResponse{} } @@ -3470,7 +3228,7 @@ func (m *OwnedPositionIdsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_OwnedPositionIdsResponse proto.InternalMessageInfo -func (m *OwnedPositionIdsResponse) GetPositionId() *v1alpha15.PositionId { +func (m *OwnedPositionIdsResponse) GetPositionId() *v1alpha14.PositionId { if m != nil { return m.PositionId } @@ -3488,6 +3246,9 @@ func init() { proto.RegisterType((*TransactionPlannerRequest_SwapClaim)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.SwapClaim") proto.RegisterType((*TransactionPlannerRequest_Delegate)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.Delegate") proto.RegisterType((*TransactionPlannerRequest_Undelegate)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.Undelegate") + proto.RegisterType((*TransactionPlannerRequest_PositionOpen)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.PositionOpen") + proto.RegisterType((*TransactionPlannerRequest_PositionClose)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.PositionClose") + proto.RegisterType((*TransactionPlannerRequest_PositionWithdraw)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.PositionWithdraw") proto.RegisterType((*TransactionPlannerResponse)(nil), "penumbra.view.v1alpha1.TransactionPlannerResponse") proto.RegisterType((*AddressByIndexRequest)(nil), "penumbra.view.v1alpha1.AddressByIndexRequest") proto.RegisterType((*AddressByIndexResponse)(nil), "penumbra.view.v1alpha1.AddressByIndexResponse") @@ -3538,195 +3299,199 @@ func init() { func init() { proto.RegisterFile("penumbra/view/v1alpha1/view.proto", fileDescriptor_0aa947b204e6a7c2) } var fileDescriptor_0aa947b204e6a7c2 = []byte{ - // 3002 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0x92, 0xfa, 0xf2, 0xa3, 0x48, 0xca, 0x63, 0x5b, 0xa2, 0x99, 0x44, 0x49, 0x37, 0xf1, - 0x47, 0x9c, 0x84, 0xb2, 0x15, 0x27, 0x4d, 0x95, 0xa4, 0x8d, 0x68, 0x45, 0x96, 0xe0, 0xd8, 0x56, - 0x57, 0xb6, 0xdc, 0xa4, 0x4a, 0x17, 0xa3, 0xdd, 0x91, 0xb4, 0x15, 0xb9, 0xbb, 0xd9, 0x1d, 0xea, - 0xa3, 0x3d, 0xa5, 0x08, 0x0a, 0x23, 0x40, 0x83, 0xa0, 0xe8, 0xa5, 0xd7, 0x1e, 0x8b, 0x5e, 0x73, - 0x2d, 0x0a, 0xf4, 0x52, 0xf4, 0x94, 0x63, 0x81, 0x02, 0x45, 0x60, 0xa3, 0x97, 0xf6, 0x5f, 0x28, - 0xd0, 0x62, 0xbe, 0x96, 0xbb, 0x4b, 0xae, 0x49, 0x4a, 0x32, 0x1c, 0xf4, 0x24, 0xce, 0xcc, 0x7b, - 0xbf, 0xf7, 0x31, 0x33, 0x6f, 0xde, 0xbc, 0x59, 0xc1, 0x77, 0x7c, 0xe2, 0xb6, 0x9a, 0x1b, 0x01, - 0x9e, 0xd9, 0x75, 0xc8, 0xde, 0xcc, 0xee, 0x55, 0xdc, 0xf0, 0xb7, 0xf1, 0x55, 0xde, 0xaa, 0xf9, - 0x81, 0x47, 0x3d, 0x34, 0xa9, 0x48, 0x6a, 0xbc, 0x53, 0x91, 0x54, 0x2f, 0x45, 0xac, 0x96, 0x17, - 0x90, 0x19, 0x6b, 0x1b, 0x3b, 0x6e, 0x1b, 0x80, 0x37, 0x05, 0x42, 0xf5, 0x72, 0x8a, 0x32, 0x38, - 0xf0, 0xa9, 0x17, 0x23, 0xe5, 0x6d, 0x49, 0xfb, 0x52, 0x92, 0xd6, 0x26, 0xfb, 0x6d, 0x42, 0x9b, - 0xec, 0x4b, 0xaa, 0x6b, 0x49, 0x2a, 0x1a, 0x60, 0x37, 0xc4, 0x16, 0x75, 0xbc, 0x98, 0x06, 0xb1, - 0xce, 0xee, 0xd8, 0xce, 0x86, 0xd5, 0xa6, 0x76, 0x36, 0x2c, 0x49, 0x95, 0xb2, 0x2b, 0xa4, 0x78, - 0x87, 0xb4, 0xe9, 0x78, 0x53, 0x50, 0xea, 0xdf, 0x68, 0x50, 0x99, 0x6f, 0xd1, 0x6d, 0x2f, 0x70, - 0x7e, 0x46, 0xe6, 0x5d, 0xbb, 0xde, 0x72, 0x1a, 0xb6, 0x41, 0x3e, 0x69, 0x91, 0x90, 0xa2, 0x9f, - 0xc0, 0x44, 0x4c, 0x03, 0xd3, 0x6f, 0x60, 0xb7, 0xa2, 0xbd, 0xa0, 0x5d, 0x2a, 0xcc, 0xbe, 0x5e, - 0x8b, 0x3c, 0xca, 0x24, 0xd4, 0xe2, 0x8a, 0x2a, 0x39, 0xb5, 0xbb, 0xed, 0xce, 0x95, 0x06, 0x76, - 0x8d, 0x32, 0x4d, 0x76, 0x20, 0x1b, 0x10, 0x96, 0xb2, 0x31, 0x97, 0x60, 0x63, 0x8a, 0x2b, 0x39, - 0x2e, 0xe1, 0x8d, 0x7e, 0x24, 0xcc, 0xc7, 0xb9, 0x17, 0x30, 0xc5, 0xc6, 0x29, 0x9c, 0xee, 0xd2, - 0x5d, 0x38, 0xd7, 0xc5, 0xc2, 0xd0, 0xf7, 0xdc, 0x90, 0xa0, 0x1f, 0x42, 0x21, 0x86, 0x2c, 0xad, - 0x9b, 0x19, 0xd0, 0x3a, 0x23, 0x8e, 0xa1, 0xff, 0x56, 0x83, 0x67, 0xea, 0x81, 0x87, 0x6d, 0x0b, - 0x87, 0x34, 0x4e, 0x25, 0xbd, 0x7a, 0xfc, 0x22, 0xd1, 0x45, 0x28, 0xe3, 0x3d, 0xec, 0x50, 0xd3, - 0x26, 0x94, 0x08, 0x58, 0xe6, 0xc5, 0x31, 0xa3, 0xc4, 0xbb, 0x17, 0x54, 0xaf, 0xfe, 0xa9, 0x06, - 0xcf, 0x76, 0xd7, 0x4d, 0xfa, 0xe3, 0x4d, 0xc8, 0x39, 0xb6, 0xd4, 0xe9, 0x42, 0x3f, 0x3a, 0x2d, - 0xdb, 0x46, 0xce, 0xb1, 0xd1, 0xcb, 0x30, 0x11, 0xc9, 0x36, 0xb7, 0x89, 0xb3, 0xb5, 0x4d, 0xb9, - 0x0a, 0x43, 0x46, 0x39, 0xea, 0x5f, 0xe2, 0xdd, 0xfa, 0x97, 0xe3, 0x70, 0x2e, 0xb5, 0x34, 0x5c, - 0x12, 0x28, 0xef, 0xbc, 0x08, 0x45, 0xb2, 0xef, 0x3b, 0xc1, 0x81, 0x42, 0xd1, 0x38, 0xca, 0xb8, - 0xe8, 0x14, 0x10, 0xe8, 0x1a, 0xe4, 0x37, 0x09, 0x91, 0x2b, 0x45, 0x4f, 0xa9, 0x29, 0xf7, 0x62, - 0xa4, 0xe1, 0x22, 0x21, 0x06, 0x23, 0x47, 0xef, 0xc3, 0x50, 0x93, 0x34, 0xbd, 0x4a, 0x9e, 0xb3, - 0x5d, 0xed, 0xc7, 0xba, 0x5b, 0xa4, 0xe9, 0xad, 0x34, 0xb0, 0xe3, 0x52, 0xb2, 0x4f, 0x0d, 0xce, - 0x8e, 0xd6, 0x61, 0x02, 0x5b, 0x96, 0xd7, 0x72, 0xa9, 0xb9, 0x15, 0x78, 0x2d, 0xdf, 0x74, 0xec, - 0x4a, 0x89, 0x43, 0xbe, 0xd6, 0x43, 0x93, 0x79, 0xc1, 0x76, 0x83, 0x71, 0x2d, 0xdb, 0x4b, 0x27, - 0x8c, 0x12, 0x4e, 0xf4, 0x3c, 0xd0, 0x34, 0x64, 0xc0, 0xa8, 0xd7, 0xa2, 0x7e, 0x8b, 0x86, 0x95, - 0x33, 0x2f, 0xe4, 0x2f, 0x15, 0x66, 0xdf, 0xaa, 0x75, 0x0f, 0x5e, 0xb5, 0x4c, 0x1f, 0xd6, 0xee, - 0x70, 0x00, 0x43, 0x01, 0xa1, 0x0f, 0x60, 0x38, 0xdc, 0xc3, 0x7e, 0x58, 0x99, 0xe6, 0x88, 0x6f, - 0x0e, 0x8e, 0xb8, 0xba, 0x87, 0x7d, 0x43, 0x80, 0xa0, 0x75, 0x28, 0xb0, 0x1f, 0xa6, 0xd5, 0xc0, - 0x4e, 0x33, 0xac, 0x3c, 0xcf, 0x31, 0xdf, 0x3e, 0x1c, 0xe6, 0x75, 0x86, 0x61, 0x40, 0xa8, 0x7e, - 0x72, 0x74, 0x9b, 0x34, 0xc8, 0x16, 0xdf, 0xbf, 0x61, 0xe5, 0x12, 0x47, 0x9f, 0x1b, 0x1c, 0x7d, - 0x41, 0x80, 0x10, 0x23, 0x0e, 0x87, 0x36, 0xa0, 0xd8, 0x72, 0xe3, 0xf8, 0xb3, 0x1c, 0xff, 0x9d, - 0xc1, 0xf1, 0xef, 0x29, 0x18, 0x62, 0x24, 0x21, 0xd1, 0x22, 0x14, 0x9c, 0x0d, 0xcb, 0x14, 0x5c, - 0x61, 0xe5, 0x1d, 0x2e, 0xe1, 0x7c, 0x6a, 0x69, 0xb0, 0x58, 0xdd, 0xde, 0x43, 0x1b, 0xd6, 0xbc, - 0xd8, 0x86, 0xe0, 0xa8, 0x9f, 0x61, 0xf5, 0x97, 0x1a, 0x8c, 0x88, 0x99, 0x44, 0x73, 0x30, 0xbc, - 0x8b, 0x1b, 0x2d, 0x22, 0x37, 0xe6, 0x4b, 0x3d, 0xd6, 0xd9, 0x1a, 0xa3, 0x35, 0x04, 0x0b, 0x7a, - 0x0f, 0x46, 0xb1, 0x6d, 0x07, 0x24, 0x0c, 0xe5, 0x7e, 0xb9, 0xd0, 0x6b, 0x95, 0x0a, 0x6a, 0x43, - 0xb1, 0x55, 0xff, 0xac, 0xc1, 0x10, 0x9b, 0xac, 0x23, 0xa9, 0xb1, 0x0c, 0xe3, 0x14, 0x07, 0x5b, - 0x84, 0x9a, 0x38, 0x0c, 0x09, 0xed, 0x57, 0x17, 0x46, 0xbb, 0x6c, 0x1b, 0x05, 0xc1, 0xcb, 0x9b, - 0x6a, 0xf7, 0xe7, 0x07, 0xda, 0xfd, 0x55, 0x1b, 0x4e, 0x46, 0x2b, 0x0e, 0xdd, 0x87, 0xb2, 0x58, - 0xc3, 0x5e, 0xb3, 0xe9, 0xd0, 0x26, 0x71, 0xa9, 0xb4, 0xa9, 0xd6, 0x03, 0x6e, 0x95, 0x62, 0x4a, - 0xae, 0x47, 0x5c, 0x46, 0x89, 0x2f, 0xdd, 0xa8, 0x5d, 0xfd, 0x42, 0x83, 0x31, 0xb5, 0xf4, 0xd0, - 0xbb, 0x30, 0x82, 0x9b, 0x6c, 0x7f, 0x4b, 0xf0, 0xf3, 0xbd, 0xac, 0xe5, 0xc4, 0x86, 0x64, 0x42, - 0xd7, 0xe1, 0x64, 0x80, 0x29, 0x11, 0xa7, 0x62, 0xbe, 0xab, 0xbf, 0xc4, 0x51, 0x1e, 0x01, 0x18, - 0x98, 0x12, 0x7e, 0x0c, 0x8e, 0x05, 0xf2, 0x57, 0xf5, 0x57, 0x1a, 0x40, 0x7b, 0xad, 0x1e, 0x69, - 0x0a, 0x13, 0xfa, 0xe4, 0x0e, 0xa7, 0x4f, 0xfd, 0x34, 0x9c, 0x32, 0xd3, 0xe1, 0x53, 0x27, 0x50, - 0xed, 0xb6, 0xd3, 0xe4, 0x99, 0x74, 0x03, 0x86, 0x8e, 0x9a, 0x7a, 0x70, 0x00, 0xfd, 0xd7, 0x1a, - 0x9c, 0x95, 0xab, 0xbb, 0x7e, 0xb0, 0xec, 0xda, 0x64, 0x5f, 0x9d, 0x3a, 0x2b, 0x50, 0x94, 0xab, - 0xdd, 0x74, 0x58, 0xbf, 0x94, 0xf5, 0x4a, 0x7f, 0x5b, 0x45, 0x40, 0x8d, 0xe3, 0x58, 0x8b, 0x1d, - 0xc9, 0xb6, 0x13, 0xfa, 0x0d, 0x7c, 0x60, 0x5a, 0x9e, 0xbb, 0xe9, 0x04, 0x4d, 0x75, 0x24, 0xcb, - 0xee, 0xeb, 0xa2, 0x57, 0xff, 0x08, 0x26, 0xd3, 0x3a, 0x49, 0xbb, 0x63, 0x3b, 0x57, 0x3b, 0xd4, - 0xce, 0xd5, 0x3f, 0x84, 0xb3, 0x1c, 0xb2, 0x7e, 0xa0, 0x86, 0xa4, 0xbd, 0x47, 0x87, 0xfe, 0x54, - 0x83, 0xc9, 0x34, 0xb6, 0xd4, 0xfb, 0xde, 0xd1, 0x9d, 0xb9, 0x74, 0x22, 0xe9, 0xce, 0x07, 0x9a, - 0x56, 0x9f, 0x80, 0x92, 0x99, 0xc0, 0xd5, 0x7f, 0xa3, 0xc1, 0xd4, 0xfb, 0xfe, 0x36, 0x69, 0x92, - 0x00, 0x37, 0x52, 0x16, 0x3e, 0xc5, 0x19, 0x5d, 0x87, 0x4a, 0xa7, 0x56, 0xc7, 0x36, 0xa7, 0x5f, - 0x69, 0x50, 0xae, 0xe3, 0x06, 0x76, 0x2d, 0x12, 0x19, 0x6b, 0x80, 0xca, 0x24, 0xcc, 0x4d, 0xa7, - 0x41, 0x49, 0x70, 0x18, 0x6b, 0x8b, 0x12, 0x62, 0x91, 0x23, 0xa0, 0xdb, 0x50, 0xe6, 0x91, 0xda, - 0x74, 0x6c, 0x05, 0x3a, 0x58, 0xcc, 0x2e, 0x62, 0xf1, 0x43, 0xe0, 0xb1, 0xb4, 0x78, 0xa2, 0xad, - 0xb7, 0x74, 0xc7, 0xfb, 0x30, 0x2a, 0xa5, 0x1e, 0x46, 0x63, 0xc5, 0x8b, 0xbe, 0x0f, 0xa3, 0x1b, - 0x02, 0x5a, 0xea, 0xd8, 0x5f, 0x5c, 0x53, 0x4c, 0xfa, 0x79, 0x28, 0xae, 0x39, 0x64, 0x8f, 0x5d, - 0x13, 0xee, 0x7a, 0x3b, 0xc4, 0x45, 0x67, 0x60, 0xd8, 0x61, 0x31, 0x88, 0x6b, 0x35, 0x6e, 0x88, - 0x86, 0x6e, 0x40, 0x59, 0x91, 0x29, 0xcf, 0xff, 0x00, 0xf2, 0x9b, 0xbb, 0x3b, 0x52, 0xf9, 0x5e, - 0xf9, 0xdf, 0x62, 0xab, 0xd1, 0x60, 0x00, 0x8e, 0xbb, 0x75, 0x93, 0x1c, 0x18, 0x8c, 0x53, 0xbf, - 0x03, 0x13, 0x6d, 0x4c, 0xe9, 0x95, 0xb7, 0x61, 0x98, 0x32, 0x35, 0x3a, 0x8f, 0x8d, 0x64, 0x76, - 0x92, 0xd0, 0xd9, 0x10, 0x3c, 0xfa, 0x2f, 0x34, 0x28, 0xb2, 0x53, 0xaa, 0x15, 0xad, 0x8e, 0x27, - 0x9a, 0xb0, 0x76, 0x0f, 0xe8, 0x06, 0x94, 0x94, 0x0e, 0xd2, 0xa6, 0xe7, 0xa1, 0x10, 0x1e, 0xb8, - 0x56, 0x32, 0xab, 0x07, 0xd6, 0x25, 0x73, 0xfa, 0xe7, 0xa1, 0x60, 0x61, 0x6a, 0x6d, 0x3b, 0xee, - 0x96, 0xd9, 0xf2, 0xe5, 0xd6, 0x02, 0xd5, 0x75, 0xcf, 0xd7, 0x1f, 0x68, 0x70, 0x5a, 0x80, 0xae, - 0xd2, 0x80, 0xe0, 0xe6, 0x53, 0x34, 0x2f, 0x80, 0x33, 0x49, 0x4d, 0xa4, 0x91, 0xdf, 0x83, 0x73, - 0x0d, 0x4c, 0x49, 0x48, 0xcd, 0x1d, 0xd7, 0xdb, 0x73, 0xcd, 0x8d, 0x86, 0x67, 0xed, 0x24, 0x4d, - 0x9e, 0x14, 0x04, 0x37, 0xd9, 0x78, 0x9d, 0x0d, 0xb7, 0xcd, 0x8f, 0xfb, 0x27, 0x97, 0xf6, 0x8f, - 0xfe, 0x79, 0x1e, 0xc6, 0x6f, 0x7b, 0xb4, 0xbd, 0xe9, 0x5f, 0x84, 0xa2, 0xe3, 0x5a, 0x8d, 0x96, - 0x4d, 0xcc, 0xd0, 0x67, 0x19, 0x8c, 0x70, 0xd9, 0xb8, 0xec, 0x5c, 0x65, 0x7d, 0x68, 0x1e, 0xc6, - 0xd4, 0x2e, 0xce, 0x48, 0x21, 0xb2, 0xb6, 0xef, 0xa8, 0xdc, 0xbe, 0x9d, 0x91, 0x74, 0xe8, 0xa8, - 0x91, 0xf4, 0x16, 0x94, 0x45, 0x8a, 0x63, 0x52, 0x8f, 0xeb, 0x6e, 0x57, 0x46, 0x06, 0x49, 0x90, - 0x8a, 0x82, 0xfb, 0xae, 0xc7, 0x6c, 0xb4, 0x9f, 0xc6, 0x02, 0x78, 0x90, 0x83, 0xb3, 0x7c, 0x32, - 0x16, 0xbd, 0x60, 0xcd, 0xa3, 0x8e, 0xbb, 0xa5, 0x66, 0xe5, 0x32, 0x9c, 0xda, 0xf5, 0x28, 0xde, - 0x68, 0x10, 0x13, 0xd3, 0xe4, 0xd4, 0x97, 0xe5, 0xc0, 0x3c, 0x95, 0x73, 0xde, 0xe1, 0xd9, 0xfc, - 0x51, 0x3d, 0xfb, 0x14, 0x5c, 0xf1, 0xc7, 0x1c, 0x94, 0xee, 0x3b, 0xd4, 0x8d, 0x9d, 0xbd, 0x1f, - 0xc2, 0x84, 0xeb, 0x51, 0x12, 0xcb, 0xae, 0xd9, 0xdd, 0x23, 0x7f, 0x88, 0xf4, 0xba, 0xcc, 0x70, - 0xda, 0xed, 0xb0, 0x6b, 0x49, 0x2a, 0x7f, 0x8c, 0x25, 0xa9, 0xa7, 0xe0, 0x40, 0x02, 0xe5, 0xc8, - 0x7f, 0x32, 0x8e, 0x18, 0x30, 0xbe, 0x27, 0xba, 0x44, 0xb2, 0x3d, 0x40, 0x8d, 0x48, 0x42, 0xf1, - 0xac, 0xbb, 0xb0, 0xd7, 0x6e, 0xe8, 0xff, 0xd0, 0x60, 0x52, 0x0e, 0xfe, 0x7f, 0xd6, 0xf9, 0x1a, - 0x30, 0xd5, 0x61, 0xdf, 0x93, 0xab, 0xf2, 0xfd, 0x21, 0x0f, 0x45, 0x1e, 0x2a, 0xa3, 0x55, 0x5f, - 0x85, 0x31, 0x91, 0x27, 0x11, 0x51, 0x40, 0x1b, 0x33, 0xa2, 0x36, 0xfa, 0x29, 0x4c, 0xc7, 0x62, - 0xb5, 0xe5, 0x6c, 0x3a, 0x96, 0x69, 0x13, 0xd7, 0x6b, 0x3a, 0xae, 0x2c, 0x44, 0x88, 0xfd, 0xd1, - 0x2b, 0x6f, 0x59, 0x60, 0x3c, 0xc6, 0xb3, 0xed, 0x10, 0xcf, 0xa1, 0x16, 0xe2, 0x48, 0x68, 0x0e, - 0xce, 0x29, 0x59, 0xed, 0xb2, 0x84, 0xc9, 0x93, 0x83, 0x90, 0xef, 0x95, 0x31, 0x63, 0x4a, 0x12, - 0x2c, 0x44, 0xe3, 0x3c, 0x85, 0x08, 0xd1, 0x5b, 0x50, 0x51, 0xbc, 0x2d, 0x77, 0xc3, 0x73, 0x6d, - 0x76, 0x1a, 0x4b, 0xd6, 0x21, 0xce, 0x3a, 0x29, 0xc7, 0xef, 0xa9, 0x61, 0xc9, 0x79, 0x01, 0xca, - 0x8a, 0xb3, 0xe1, 0x9b, 0xee, 0x26, 0x0d, 0x2b, 0xc3, 0x9c, 0x41, 0x1d, 0x52, 0x1f, 0xf8, 0xb7, - 0x37, 0x69, 0x88, 0x66, 0xe1, 0xac, 0xa2, 0xf3, 0x03, 0xcf, 0xf7, 0x42, 0xdc, 0x10, 0xd4, 0x23, - 0x9c, 0xfa, 0xb4, 0x1c, 0x5c, 0x91, 0x63, 0x9c, 0x67, 0x1e, 0x9e, 0x53, 0x3c, 0xbb, 0x3c, 0xd8, - 0x9a, 0x01, 0xb1, 0x88, 0xe3, 0x53, 0xa5, 0xda, 0x28, 0xe7, 0xad, 0x4a, 0x22, 0x15, 0x90, 0x39, - 0x89, 0x50, 0x4f, 0x27, 0x50, 0x52, 0xb3, 0x25, 0xd7, 0xc4, 0x2a, 0x94, 0xf8, 0x0c, 0x98, 0x4d, - 0x42, 0x71, 0x6c, 0x41, 0xbe, 0xda, 0xcf, 0x14, 0xdc, 0x92, 0x3c, 0x46, 0xd1, 0x8e, 0x37, 0xf5, - 0x0a, 0x4c, 0x5e, 0xdf, 0xc6, 0x8e, 0xbb, 0x82, 0x03, 0xdc, 0x24, 0x94, 0x04, 0x6a, 0x75, 0xe8, - 0xdb, 0x30, 0xd5, 0x31, 0x22, 0x35, 0xb9, 0x05, 0xe0, 0x47, 0xbd, 0x59, 0xa9, 0x24, 0x7f, 0x8b, - 0x88, 0x94, 0x48, 0x43, 0xc5, 0x00, 0xf4, 0x49, 0x38, 0xb3, 0x78, 0x6b, 0xa1, 0x53, 0x03, 0x1b, - 0xce, 0xa6, 0xfa, 0xa5, 0xfc, 0x9b, 0x5d, 0xe4, 0xbf, 0xf2, 0x78, 0xf9, 0x8b, 0x4d, 0x3b, 0x43, - 0xfa, 0x17, 0x39, 0x98, 0x62, 0x27, 0x63, 0xfd, 0x20, 0x16, 0xc6, 0xe5, 0x0e, 0xb9, 0x0f, 0xe5, - 0xd4, 0xb9, 0x20, 0x7d, 0x3e, 0x70, 0xd5, 0x25, 0x79, 0x2c, 0x74, 0xab, 0x7f, 0xe7, 0xbb, 0xd5, - 0xbf, 0x9f, 0x46, 0x78, 0x77, 0xa1, 0xd2, 0xe9, 0x8f, 0x28, 0xce, 0x97, 0x78, 0xfa, 0xc3, 0xd3, - 0x05, 0x66, 0x53, 0xa7, 0xf7, 0x93, 0x19, 0xff, 0xaa, 0xa2, 0x66, 0x90, 0x06, 0xb1, 0xbc, 0xc0, - 0x36, 0x8a, 0x61, 0xbc, 0x93, 0x4f, 0xc0, 0xea, 0x1e, 0xf6, 0x33, 0x26, 0x20, 0x5d, 0xf6, 0xca, - 0x1d, 0x47, 0xd9, 0xeb, 0x5b, 0x3d, 0x01, 0x06, 0x54, 0x3a, 0xfd, 0x11, 0x3d, 0x77, 0x0c, 0x31, - 0x4b, 0xa4, 0xdb, 0xf5, 0x4c, 0xb7, 0xef, 0x61, 0x5f, 0x7a, 0x9b, 0xd3, 0xeb, 0xff, 0xd1, 0x60, - 0xf2, 0x76, 0xab, 0xd1, 0x70, 0x36, 0x1d, 0x12, 0x24, 0x6f, 0x5b, 0x8b, 0x70, 0xd2, 0x55, 0x23, - 0xd2, 0xbb, 0x97, 0x7a, 0x98, 0x16, 0x21, 0x19, 0x6d, 0xd6, 0x6f, 0xb5, 0x4b, 0x67, 0x60, 0xaa, - 0xc3, 0x7a, 0xe9, 0xd1, 0x33, 0x30, 0x2c, 0x6e, 0x23, 0xe2, 0x08, 0x14, 0x0d, 0x7d, 0x0d, 0x9e, - 0x8d, 0x9d, 0xa4, 0xcb, 0xee, 0xa6, 0x57, 0x3f, 0x58, 0xc2, 0x61, 0x74, 0x8d, 0x16, 0xcf, 0x4e, - 0xb9, 0x41, 0x9f, 0x9d, 0xf4, 0xcf, 0x34, 0x98, 0x4c, 0x01, 0x2b, 0xc8, 0x0b, 0x30, 0x1e, 0x52, - 0x1c, 0x24, 0x73, 0xf0, 0xa5, 0x13, 0x46, 0x81, 0xf7, 0x8a, 0x0c, 0xfc, 0x81, 0xa6, 0x21, 0x1d, - 0x80, 0xb8, 0x76, 0xe2, 0xde, 0xb5, 0xa4, 0x19, 0x27, 0x89, 0x6b, 0x47, 0x34, 0xf5, 0x32, 0x14, - 0xcd, 0x38, 0x58, 0xbd, 0x08, 0x05, 0xb3, 0xcd, 0xa5, 0xff, 0x3b, 0x07, 0xe5, 0x94, 0x1a, 0xe8, - 0x19, 0x18, 0x49, 0x49, 0x96, 0x6d, 0x26, 0xf4, 0x90, 0xf6, 0xa6, 0x13, 0x99, 0xfc, 0x31, 0xbc, - 0x1d, 0xae, 0x43, 0xc1, 0x27, 0x01, 0xcb, 0x4a, 0xa8, 0xb3, 0x4b, 0xe4, 0xe5, 0x6e, 0x6e, 0xd0, - 0xbc, 0xaf, 0x8d, 0x60, 0xc4, 0xe1, 0xd0, 0x0d, 0x18, 0x62, 0x5b, 0x89, 0xe7, 0x02, 0x83, 0xa7, - 0x93, 0x6b, 0x0e, 0xd9, 0x33, 0x38, 0x40, 0xfd, 0x24, 0x8c, 0x2a, 0x6f, 0xff, 0x18, 0xa6, 0x3a, - 0xe6, 0xbc, 0x5d, 0x5e, 0xa3, 0xfb, 0xa6, 0xe3, 0x6e, 0x7a, 0x72, 0x4b, 0x5f, 0xec, 0xe3, 0x65, - 0x87, 0x23, 0x8c, 0xd0, 0x7d, 0xf6, 0x57, 0xc7, 0xf0, 0x5c, 0xc6, 0x4a, 0x3d, 0x36, 0x11, 0x1f, - 0x43, 0x51, 0x5e, 0xe4, 0x25, 0xe4, 0x07, 0x50, 0xe0, 0xe7, 0x62, 0xc0, 0x43, 0xcc, 0x61, 0xce, - 0x00, 0x70, 0xa3, 0xdf, 0xfa, 0x57, 0x2c, 0x36, 0xa5, 0xee, 0xa6, 0x4f, 0x42, 0x10, 0xba, 0x05, - 0xe3, 0x8e, 0x4d, 0x5c, 0xea, 0xd0, 0x03, 0x73, 0x87, 0x1c, 0xc8, 0xe5, 0x7c, 0xb9, 0x47, 0xd0, - 0x59, 0x96, 0x2c, 0x37, 0xc9, 0x81, 0x51, 0x70, 0xda, 0x0d, 0xfd, 0xbf, 0x79, 0x38, 0xdd, 0x45, - 0x64, 0xb7, 0xac, 0x41, 0x3b, 0x96, 0xac, 0xe1, 0xbb, 0x30, 0xc4, 0xcf, 0x5c, 0xa1, 0xf7, 0x8b, - 0xbd, 0x82, 0x34, 0xd3, 0x88, 0x33, 0x3c, 0x81, 0x7b, 0x7b, 0xe2, 0xd0, 0x18, 0x3a, 0xfc, 0xa1, - 0x71, 0x1e, 0x4a, 0x62, 0x93, 0x98, 0x56, 0x40, 0x30, 0x25, 0x36, 0xdf, 0x78, 0x43, 0x46, 0x51, - 0xf4, 0x5e, 0x17, 0x9d, 0x2c, 0x36, 0x4a, 0x32, 0x11, 0xab, 0x47, 0x54, 0x6c, 0x14, 0xbd, 0xbc, - 0x74, 0xc4, 0xc2, 0x54, 0x15, 0xc6, 0x7c, 0x2f, 0x74, 0x78, 0xac, 0x19, 0xe5, 0x40, 0x51, 0x1b, - 0xbd, 0x07, 0x23, 0xa1, 0xd7, 0x0a, 0x2c, 0x52, 0x19, 0xeb, 0xae, 0x6f, 0x32, 0x63, 0x64, 0xee, - 0x5b, 0xe5, 0xf4, 0x86, 0xe4, 0xe3, 0x51, 0x35, 0xae, 0x86, 0xfe, 0xf7, 0x3c, 0x40, 0xfb, 0xa8, - 0x7d, 0x62, 0x8f, 0x74, 0xe8, 0x5d, 0x79, 0xea, 0x8b, 0x89, 0x7f, 0x39, 0x85, 0x66, 0x93, 0xfd, - 0xe4, 0xc9, 0x1f, 0xfb, 0x00, 0x80, 0xb1, 0x25, 0xbc, 0x92, 0x4f, 0x79, 0xe5, 0xb8, 0x26, 0x72, - 0x05, 0x0a, 0xe2, 0xf5, 0x5e, 0xdc, 0x95, 0x87, 0xbb, 0x06, 0xfa, 0x84, 0xa6, 0x75, 0x4c, 0xad, - 0x6d, 0xa6, 0xae, 0x78, 0x33, 0xe6, 0xb7, 0x64, 0xf0, 0xa2, 0xdf, 0xe8, 0x72, 0x7b, 0x69, 0x34, - 0xb0, 0xd3, 0x24, 0x76, 0x34, 0xeb, 0x6a, 0x71, 0x88, 0x6e, 0x36, 0xef, 0xed, 0xb9, 0x1d, 0x3d, - 0xe4, 0xdc, 0x9e, 0x82, 0xb2, 0x99, 0x14, 0xa7, 0xff, 0x53, 0x83, 0xa9, 0x3b, 0x7b, 0x2e, 0xb1, - 0x57, 0xa4, 0xb3, 0x96, 0xed, 0x28, 0x69, 0xba, 0x07, 0x25, 0xe5, 0x42, 0x76, 0xd0, 0x46, 0x89, - 0xf0, 0x63, 0xe7, 0x46, 0xe1, 0xf0, 0xe9, 0x66, 0x76, 0xf8, 0xf1, 0x0e, 0x66, 0xc7, 0x1d, 0x18, - 0xa7, 0x01, 0xe6, 0x97, 0x58, 0x1f, 0x3b, 0x2a, 0x1d, 0xbb, 0xf8, 0x38, 0xd0, 0xbb, 0x82, 0x7e, - 0x05, 0x3b, 0xc1, 0x92, 0xc6, 0x4f, 0x4a, 0xd5, 0x64, 0x89, 0x00, 0x33, 0x2b, 0xa9, 0x28, 0x5f, - 0xc5, 0x71, 0x21, 0xba, 0x05, 0x95, 0x4e, 0x33, 0xa3, 0xa7, 0xcc, 0x42, 0xc4, 0x9e, 0xf9, 0x9d, - 0x4d, 0x57, 0x23, 0x97, 0x6d, 0x03, 0xfc, 0xe8, 0xf7, 0xec, 0x9f, 0x4e, 0xc3, 0x69, 0x76, 0x3a, - 0xae, 0x04, 0x1e, 0xf5, 0x2c, 0xaf, 0xb1, 0x4a, 0x82, 0x5d, 0xc7, 0x22, 0xe8, 0x3e, 0x8c, 0x88, - 0x84, 0x0c, 0x65, 0xbe, 0x1a, 0x24, 0xd2, 0xd5, 0xea, 0x85, 0x5e, 0x64, 0x52, 0xf3, 0x1d, 0x18, - 0x8f, 0x97, 0xbc, 0xd1, 0x2b, 0x8f, 0xe7, 0x4b, 0x94, 0xe8, 0xab, 0xaf, 0xf6, 0x47, 0x2c, 0x44, - 0x5d, 0xd1, 0xd0, 0x1a, 0x0c, 0xf3, 0x13, 0x0c, 0xbd, 0x94, 0xc5, 0x18, 0xaf, 0x84, 0x57, 0xcf, - 0xf7, 0xa0, 0x8a, 0x70, 0x3f, 0x81, 0x52, 0xf2, 0x64, 0x44, 0xaf, 0x3d, 0x96, 0x35, 0x5d, 0xdd, - 0xad, 0xd6, 0xfa, 0x25, 0x8f, 0x44, 0x7e, 0x04, 0xa3, 0xb2, 0x2a, 0x85, 0x32, 0x5d, 0x9d, 0x2c, - 0x9f, 0x56, 0x2f, 0xf6, 0xa4, 0x93, 0x73, 0x12, 0x44, 0x95, 0x43, 0x55, 0xf1, 0x42, 0xb5, 0x1e, - 0xbc, 0xa9, 0xd2, 0x5f, 0x75, 0xa6, 0x6f, 0x7a, 0x29, 0xf3, 0x43, 0x18, 0x11, 0x85, 0x94, 0xec, - 0x05, 0x96, 0x28, 0x8b, 0x65, 0x2f, 0xb0, 0x64, 0x3d, 0xe6, 0x8a, 0xc6, 0xcc, 0x49, 0xd5, 0x35, - 0xb2, 0xcd, 0xe9, 0x5e, 0x65, 0xc9, 0x36, 0x27, 0xab, 0xf6, 0xd2, 0x80, 0x62, 0xa2, 0x28, 0x82, - 0x32, 0x97, 0x6a, 0xb7, 0x9a, 0x4a, 0xf5, 0xb5, 0x3e, 0xa9, 0xa5, 0x34, 0x0f, 0x4a, 0xc9, 0xb7, - 0xfe, 0xec, 0xf5, 0xd7, 0xf5, 0x3b, 0x85, 0xec, 0xf5, 0x97, 0xf1, 0x09, 0x81, 0x07, 0xa5, 0xe4, - 0x23, 0x7d, 0xb6, 0xc0, 0xae, 0x1f, 0x0a, 0x64, 0x0b, 0xcc, 0x78, 0xfb, 0x6f, 0xc1, 0x44, 0xfa, - 0xed, 0x1b, 0x65, 0x4e, 0x4a, 0xc6, 0xdb, 0x7d, 0xf5, 0x4a, 0xff, 0x0c, 0x52, 0xac, 0x09, 0x63, - 0xea, 0x6d, 0x19, 0x65, 0x6e, 0x9f, 0xd4, 0xab, 0x79, 0xf5, 0x52, 0x6f, 0xc2, 0x68, 0x6d, 0xb6, - 0x60, 0x22, 0x5d, 0xc5, 0xc9, 0xb6, 0x2b, 0xa3, 0xfe, 0x95, 0x6d, 0x57, 0x66, 0x81, 0xa8, 0x05, - 0x13, 0xe9, 0xda, 0x45, 0xb6, 0xd8, 0x8c, 0xaa, 0x4f, 0xb6, 0xd8, 0xcc, 0xb2, 0x48, 0x00, 0xe5, - 0xd4, 0xfd, 0x3e, 0x7b, 0x27, 0x76, 0x2f, 0x83, 0x64, 0xef, 0xc4, 0xac, 0xc2, 0xc1, 0x67, 0x1a, - 0x9c, 0xed, 0x7a, 0xf3, 0x42, 0xd7, 0xfa, 0xbc, 0x60, 0x25, 0x4a, 0x0a, 0xd5, 0x37, 0x06, 0xe4, - 0x92, 0x6a, 0xd0, 0xce, 0x9b, 0x7c, 0xad, 0xdf, 0x0b, 0x5e, 0x2f, 0xd3, 0x33, 0x6e, 0xad, 0x57, - 0x34, 0xf4, 0x73, 0x40, 0x9d, 0x1f, 0x40, 0xa1, 0xab, 0x03, 0x7f, 0x96, 0x58, 0x9d, 0x1d, 0x84, - 0x45, 0x9a, 0xfc, 0xa9, 0x06, 0x67, 0xba, 0x7d, 0x14, 0x8c, 0x5e, 0xcf, 0xdc, 0x20, 0xd9, 0x9f, - 0x37, 0x57, 0xaf, 0x0d, 0xc6, 0x24, 0x75, 0xd8, 0x83, 0x89, 0x74, 0xd2, 0x94, 0xbd, 0xd0, 0x33, - 0xb2, 0xc8, 0xec, 0x85, 0x9e, 0x95, 0x8f, 0x5d, 0xd1, 0xd0, 0x3e, 0x9c, 0xea, 0xf8, 0x3a, 0x1c, - 0x65, 0x02, 0x65, 0x7d, 0x2a, 0x5f, 0xbd, 0x3a, 0x00, 0x87, 0x90, 0x3d, 0xeb, 0xb7, 0xbf, 0x26, - 0x51, 0xd9, 0xdb, 0xc7, 0x30, 0xa6, 0xba, 0xb2, 0xc3, 0x58, 0xea, 0x13, 0x94, 0xec, 0x30, 0x96, - 0xfe, 0xae, 0xa4, 0xfe, 0x79, 0xee, 0x2f, 0x0f, 0xa7, 0xb5, 0xaf, 0x1f, 0x4e, 0x6b, 0xdf, 0x3c, - 0x9c, 0xd6, 0xbe, 0x7c, 0x34, 0x7d, 0xe2, 0xeb, 0x47, 0xd3, 0x27, 0xfe, 0xf6, 0x68, 0xfa, 0x04, - 0x54, 0x2d, 0xaf, 0x99, 0x81, 0x53, 0x3f, 0x19, 0x25, 0x9a, 0x2b, 0xda, 0x47, 0x77, 0xb6, 0x1c, - 0xba, 0xdd, 0xda, 0xa8, 0x59, 0x5e, 0x73, 0xc6, 0xf2, 0xc2, 0xa6, 0x17, 0xce, 0x04, 0xa4, 0x81, - 0x0f, 0x48, 0x30, 0xb3, 0x3b, 0x1b, 0xfd, 0xe4, 0x17, 0x84, 0x70, 0xa6, 0xfb, 0x7f, 0x66, 0xbc, - 0xcd, 0x5a, 0xaa, 0xf1, 0xbb, 0x5c, 0x7e, 0x65, 0xed, 0x47, 0xbf, 0xcf, 0x4d, 0xae, 0x28, 0xe1, - 0x4c, 0x5a, 0x6d, 0x4d, 0x0e, 0xff, 0xb5, 0x3d, 0xb0, 0xce, 0x06, 0xd6, 0xd5, 0xc0, 0xc3, 0x9c, - 0xde, 0x7d, 0x60, 0xfd, 0xc6, 0x4a, 0x5d, 0xbd, 0xc7, 0xfc, 0x2b, 0x57, 0x51, 0x44, 0x73, 0x73, - 0x8c, 0x6a, 0x6e, 0x4e, 0x91, 0x6d, 0x8c, 0xf0, 0x7f, 0x80, 0x78, 0xfd, 0x7f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x8e, 0xb9, 0xe6, 0x1e, 0x3f, 0x32, 0x00, 0x00, + // 3067 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5b, 0xcb, 0x6f, 0x1c, 0xc7, + 0xd1, 0xf7, 0xec, 0xf2, 0xa5, 0x5a, 0xee, 0x2e, 0xd5, 0x92, 0xc8, 0xd5, 0x7e, 0x36, 0x6d, 0x8f, + 0xad, 0x87, 0x5f, 0x4b, 0x89, 0x96, 0xfd, 0x39, 0xf4, 0x93, 0x94, 0x4c, 0x99, 0x91, 0x25, 0x6d, + 0x86, 0xb2, 0x64, 0x2b, 0x72, 0x06, 0xcd, 0x99, 0x26, 0x77, 0xac, 0xd9, 0x99, 0xf1, 0x4c, 0x2f, + 0x97, 0x4c, 0x4e, 0x06, 0x82, 0x1c, 0x02, 0x24, 0x30, 0x82, 0x5c, 0x72, 0x0a, 0x10, 0xe4, 0x14, + 0xe4, 0x6a, 0xe4, 0x1a, 0x20, 0x97, 0x20, 0x27, 0x1f, 0x03, 0x04, 0x08, 0x0c, 0xf9, 0xe4, 0x1c, + 0x82, 0x1c, 0xf2, 0x07, 0x04, 0xfd, 0x9a, 0x9d, 0x99, 0xdd, 0xd1, 0xee, 0x52, 0x24, 0x62, 0xe4, + 0xc4, 0xed, 0xee, 0xaa, 0x5f, 0x55, 0x57, 0x77, 0x57, 0x57, 0x55, 0x0f, 0xe1, 0xe9, 0x80, 0x78, + 0x9d, 0xf6, 0x56, 0x88, 0x97, 0x76, 0x1d, 0xd2, 0x5d, 0xda, 0xbd, 0x88, 0xdd, 0xa0, 0x85, 0x2f, + 0xf2, 0x56, 0x23, 0x08, 0x7d, 0xea, 0xa3, 0x79, 0x45, 0xd2, 0xe0, 0x9d, 0x8a, 0xa4, 0x7e, 0x3e, + 0x66, 0xb5, 0xfc, 0x90, 0x2c, 0x59, 0x2d, 0xec, 0x78, 0x3d, 0x00, 0xde, 0x14, 0x08, 0xf5, 0xe7, + 0x33, 0x94, 0xe1, 0x7e, 0x40, 0xfd, 0x04, 0x29, 0x6f, 0x4b, 0xda, 0x67, 0xd3, 0xb4, 0x36, 0xd9, + 0xeb, 0x11, 0xda, 0x64, 0x4f, 0x52, 0x5d, 0x4a, 0x53, 0xd1, 0x10, 0x7b, 0x11, 0xb6, 0xa8, 0xe3, + 0x27, 0x34, 0x48, 0x74, 0x0e, 0xc6, 0x76, 0xb6, 0xac, 0x1e, 0xb5, 0xb3, 0x65, 0x49, 0xaa, 0xcc, + 0xbc, 0x22, 0x8a, 0xef, 0x93, 0x1e, 0x1d, 0x6f, 0x0a, 0x4a, 0xfd, 0x2b, 0x0d, 0x6a, 0xab, 0x1d, + 0xda, 0xf2, 0x43, 0xe7, 0x87, 0x64, 0xd5, 0xb3, 0xd7, 0x3a, 0x8e, 0x6b, 0x1b, 0xe4, 0xd3, 0x0e, + 0x89, 0x28, 0xfa, 0x01, 0xcc, 0x25, 0x34, 0x30, 0x03, 0x17, 0x7b, 0x35, 0xed, 0x29, 0xed, 0x7c, + 0x69, 0xf9, 0xe5, 0x46, 0x6c, 0x51, 0x26, 0xa1, 0x91, 0x54, 0x54, 0xc9, 0x69, 0xdc, 0xea, 0x75, + 0x36, 0x5d, 0xec, 0x19, 0x55, 0x9a, 0xee, 0x40, 0x36, 0x20, 0x2c, 0x65, 0x63, 0x2e, 0xc1, 0xc6, + 0x14, 0xd7, 0x0a, 0x5c, 0xc2, 0x2b, 0xa3, 0x48, 0x58, 0x4d, 0x72, 0x5f, 0xc1, 0x14, 0x1b, 0xc7, + 0x71, 0xb6, 0x4b, 0xf7, 0xe0, 0xf4, 0x80, 0x19, 0x46, 0x81, 0xef, 0x45, 0x04, 0x7d, 0x0f, 0x4a, + 0x09, 0x64, 0x39, 0xbb, 0xa5, 0x31, 0x67, 0x67, 0x24, 0x31, 0xf4, 0x5f, 0x69, 0xf0, 0x7f, 0x6b, + 0xa1, 0x8f, 0x6d, 0x0b, 0x47, 0x34, 0x49, 0x25, 0xad, 0x7a, 0xf8, 0x22, 0xd1, 0x39, 0xa8, 0xe2, + 0x2e, 0x76, 0xa8, 0x69, 0x13, 0x4a, 0x04, 0x2c, 0xb3, 0xe2, 0x8c, 0x51, 0xe1, 0xdd, 0x57, 0x54, + 0xaf, 0xfe, 0x99, 0x06, 0x8f, 0x0f, 0xd6, 0x4d, 0xda, 0xe3, 0x55, 0x28, 0x38, 0xb6, 0xd4, 0xe9, + 0xec, 0x28, 0x3a, 0x6d, 0xd8, 0x46, 0xc1, 0xb1, 0xd1, 0x73, 0x30, 0x17, 0xcb, 0x36, 0x5b, 0xc4, + 0xd9, 0x69, 0x51, 0xae, 0xc2, 0x84, 0x51, 0x8d, 0xfb, 0xdf, 0xe3, 0xdd, 0xfa, 0xaf, 0x11, 0x9c, + 0xce, 0x6c, 0x0d, 0x8f, 0x84, 0xca, 0x3a, 0xcf, 0x40, 0x99, 0xec, 0x05, 0x4e, 0xb8, 0xaf, 0x50, + 0x34, 0x8e, 0x32, 0x2b, 0x3a, 0x05, 0x04, 0xba, 0x04, 0xc5, 0x6d, 0x42, 0xe4, 0x4e, 0xd1, 0x33, + 0x6a, 0xca, 0xb3, 0x18, 0x6b, 0xb8, 0x4e, 0x88, 0xc1, 0xc8, 0xd1, 0xbb, 0x30, 0xd1, 0x26, 0x6d, + 0xbf, 0x56, 0xe4, 0x6c, 0x17, 0x47, 0x99, 0xdd, 0x75, 0xd2, 0xf6, 0x9b, 0x2e, 0x76, 0x3c, 0x4a, + 0xf6, 0xa8, 0xc1, 0xd9, 0xd1, 0x1d, 0x98, 0xc3, 0x96, 0xe5, 0x77, 0x3c, 0x6a, 0xee, 0x84, 0x7e, + 0x27, 0x30, 0x1d, 0xbb, 0x56, 0xe1, 0x90, 0x2f, 0x0d, 0xd1, 0x64, 0x55, 0xb0, 0x5d, 0x65, 0x5c, + 0x1b, 0xb6, 0x51, 0xc1, 0xa9, 0x36, 0x32, 0x60, 0xda, 0xef, 0xd0, 0xa0, 0x43, 0xa3, 0xda, 0xc9, + 0xa7, 0x8a, 0xe7, 0x4b, 0xcb, 0xaf, 0x35, 0x06, 0xfb, 0xad, 0x46, 0xae, 0xf9, 0x1a, 0x37, 0x39, + 0x80, 0xa1, 0x80, 0xd0, 0xfb, 0x30, 0x19, 0x75, 0x71, 0x10, 0xd5, 0x16, 0x39, 0xe2, 0xab, 0xe3, + 0x23, 0x6e, 0x76, 0x71, 0x60, 0x08, 0x10, 0x74, 0x0f, 0x4a, 0xec, 0x87, 0x69, 0xb9, 0xd8, 0x69, + 0x47, 0xb5, 0x27, 0x39, 0xe6, 0xeb, 0x07, 0xc3, 0xbc, 0xcc, 0x30, 0x0c, 0x88, 0xd4, 0x4f, 0x8e, + 0x6e, 0x13, 0x97, 0xec, 0xf0, 0xa3, 0x1b, 0xd5, 0xce, 0x73, 0xf4, 0x95, 0xf1, 0xd1, 0xaf, 0x08, + 0x10, 0x62, 0x24, 0xe1, 0xd0, 0x16, 0x94, 0x3b, 0x5e, 0x12, 0x7f, 0x99, 0xe3, 0xbf, 0x31, 0x3e, + 0xfe, 0x07, 0x0a, 0x86, 0x18, 0x69, 0x48, 0xb4, 0x0e, 0x25, 0x67, 0xcb, 0x32, 0x05, 0x57, 0x54, + 0x7b, 0x83, 0x4b, 0x38, 0x93, 0xd9, 0x15, 0xcc, 0x4d, 0xf7, 0x8e, 0xcf, 0x96, 0xb5, 0x2a, 0x4e, + 0x20, 0x38, 0xea, 0x67, 0x84, 0x08, 0x54, 0x02, 0x3f, 0x72, 0xf8, 0x61, 0xf2, 0x03, 0xe2, 0x45, + 0xb5, 0x75, 0x0e, 0xf5, 0xd6, 0xf8, 0xca, 0x36, 0x25, 0xce, 0xcd, 0x80, 0x78, 0x46, 0x39, 0x48, + 0xb4, 0x22, 0xd4, 0x82, 0x6a, 0x2c, 0xc6, 0x72, 0xfd, 0x88, 0x44, 0xb5, 0xab, 0x5c, 0xce, 0xdb, + 0x07, 0x97, 0x73, 0x99, 0xe1, 0x18, 0xb1, 0xfa, 0xbc, 0x19, 0xa1, 0x4f, 0x01, 0xc5, 0x92, 0xba, + 0x0e, 0x6d, 0xd9, 0x21, 0xee, 0x46, 0xb5, 0xf7, 0xb8, 0xb0, 0xb5, 0x83, 0x0b, 0xbb, 0x23, 0xa1, + 0x8c, 0xe3, 0x41, 0xa6, 0x27, 0xaa, 0xff, 0x44, 0x83, 0x29, 0x71, 0x1a, 0xd0, 0x0a, 0x4c, 0xee, + 0x62, 0xb7, 0x43, 0xa4, 0x5f, 0x7b, 0x76, 0xc8, 0x31, 0xbd, 0xcd, 0x68, 0x0d, 0xc1, 0x82, 0xde, + 0x81, 0x69, 0x6c, 0xdb, 0x21, 0x89, 0x22, 0xe9, 0x6e, 0xce, 0x0e, 0x3b, 0xe4, 0x82, 0xda, 0x50, + 0x6c, 0xf5, 0xcf, 0x0b, 0x30, 0xc1, 0x36, 0xfc, 0x23, 0xa9, 0xb1, 0x01, 0xb3, 0x14, 0x87, 0x3b, + 0x84, 0x9a, 0x38, 0x8a, 0x08, 0x1d, 0x55, 0x17, 0x46, 0xbb, 0x61, 0x1b, 0x25, 0xc1, 0xcb, 0x9b, + 0xca, 0x79, 0x16, 0xc7, 0x73, 0x9e, 0xd7, 0xa0, 0xcc, 0x4f, 0xbd, 0xa9, 0xac, 0x31, 0x31, 0x96, + 0x35, 0x66, 0x39, 0xb3, 0x6c, 0xd5, 0x6d, 0x38, 0x16, 0xbb, 0x00, 0x74, 0x07, 0xaa, 0xc2, 0xa9, + 0xf8, 0xed, 0xb6, 0x43, 0xdb, 0xc4, 0xa3, 0xd2, 0x40, 0x8d, 0x21, 0xd8, 0x9b, 0x14, 0x53, 0x72, + 0x39, 0xe6, 0x32, 0x2a, 0xdc, 0x97, 0xc4, 0xed, 0xfa, 0xcf, 0x35, 0x98, 0x51, 0xbe, 0x00, 0xbd, + 0x09, 0x53, 0xb8, 0xcd, 0xbc, 0xad, 0x04, 0x3f, 0x33, 0x4c, 0x71, 0x4e, 0x6c, 0x48, 0x26, 0x74, + 0x19, 0x8e, 0x85, 0x98, 0x12, 0x11, 0xa1, 0x14, 0x07, 0x4e, 0x5d, 0x84, 0x55, 0x31, 0x80, 0x81, + 0x29, 0xe1, 0x21, 0xc9, 0x4c, 0x28, 0x7f, 0xd5, 0x7f, 0xa6, 0x01, 0xf4, 0x9c, 0xc7, 0x23, 0xed, + 0x87, 0x94, 0x3e, 0x85, 0x03, 0xea, 0xd3, 0x84, 0xd9, 0xa4, 0x7b, 0x40, 0xef, 0xc0, 0x8c, 0x3a, + 0x47, 0x39, 0x3a, 0xb1, 0xf0, 0x35, 0x46, 0x54, 0xbc, 0x46, 0xcc, 0x55, 0xff, 0x10, 0xca, 0x29, + 0x47, 0x80, 0xae, 0x42, 0x29, 0x3e, 0xf8, 0xb9, 0x81, 0xc5, 0x40, 0xd4, 0x0d, 0xdb, 0x80, 0x20, + 0xfe, 0x5d, 0xff, 0x46, 0x83, 0xb9, 0xec, 0xb1, 0x3f, 0x34, 0x74, 0x36, 0xf3, 0x90, 0x44, 0x24, + 0xdc, 0x25, 0xea, 0x98, 0x3f, 0x74, 0xe6, 0x86, 0xa4, 0x35, 0x62, 0x2e, 0xf4, 0x5d, 0x98, 0xa5, + 0x21, 0xb6, 0x1d, 0x6f, 0xc7, 0x0c, 0xb0, 0x13, 0xca, 0x3d, 0x72, 0xee, 0x61, 0x28, 0xb7, 0x04, + 0x7d, 0x13, 0x3b, 0x21, 0x0f, 0xe7, 0x54, 0x43, 0x27, 0x50, 0x1f, 0xe4, 0xfb, 0x64, 0x88, 0x76, + 0x15, 0x26, 0x1e, 0x35, 0x12, 0xe7, 0x00, 0xfa, 0x2f, 0x34, 0x38, 0x25, 0x4f, 0xe4, 0xda, 0xfe, + 0x86, 0x67, 0x93, 0x3d, 0x15, 0x84, 0x35, 0xa1, 0x2c, 0x8f, 0xb9, 0xe9, 0xb0, 0x7e, 0x29, 0xeb, + 0x85, 0xd1, 0x0e, 0xbb, 0x80, 0x9a, 0xc5, 0x89, 0x16, 0x8b, 0x50, 0x6d, 0x27, 0x0a, 0x5c, 0xbc, + 0x6f, 0x5a, 0xbe, 0xb7, 0xed, 0x84, 0x6d, 0x15, 0xa1, 0xca, 0xee, 0xcb, 0xa2, 0x57, 0xbf, 0x0b, + 0xf3, 0x59, 0x9d, 0xe4, 0xbc, 0x13, 0x9e, 0x58, 0x3b, 0x90, 0x27, 0xd6, 0x3f, 0x82, 0x53, 0x1c, + 0x72, 0x6d, 0x5f, 0x0d, 0xc9, 0xf9, 0x3e, 0x3a, 0xf4, 0x27, 0x30, 0x9f, 0x85, 0x96, 0x6a, 0x1f, + 0xba, 0x2d, 0xf5, 0x5f, 0x6a, 0xb0, 0xf0, 0x6e, 0xd0, 0x22, 0x6d, 0x12, 0x62, 0x37, 0x33, 0x93, + 0xff, 0xe2, 0xca, 0xdd, 0x83, 0x5a, 0xbf, 0x56, 0x87, 0xb6, 0x76, 0x5f, 0x68, 0x50, 0x5d, 0xc3, + 0x2e, 0xf6, 0x2c, 0x12, 0x4f, 0xd6, 0x00, 0x15, 0x42, 0x9b, 0xdb, 0x8e, 0x4b, 0x49, 0x78, 0x90, + 0xd9, 0x96, 0x25, 0xc4, 0x3a, 0x47, 0x40, 0x37, 0xa0, 0xca, 0x6f, 0x58, 0xd3, 0xb1, 0x15, 0xe8, + 0x78, 0x77, 0x6d, 0x19, 0x8b, 0x1f, 0x02, 0x8f, 0x65, 0x83, 0x73, 0x3d, 0xbd, 0xa5, 0x39, 0xde, + 0x85, 0x69, 0x29, 0xf5, 0x20, 0x1a, 0x2b, 0x5e, 0xf4, 0x16, 0x4c, 0x6f, 0x09, 0xe8, 0x1c, 0xa7, + 0x35, 0xf8, 0x0a, 0x51, 0x4c, 0xfa, 0x19, 0x28, 0xdf, 0x76, 0x48, 0x97, 0x65, 0xc7, 0xb7, 0xfc, + 0xfb, 0xc4, 0x43, 0x27, 0x61, 0xd2, 0x61, 0xbe, 0x86, 0x6b, 0x35, 0x6b, 0x88, 0x86, 0x6e, 0x40, + 0x55, 0x91, 0x29, 0xcb, 0xbf, 0x0d, 0xc5, 0xed, 0xdd, 0xfb, 0x52, 0xf9, 0x61, 0x69, 0xcf, 0x7a, + 0xc7, 0x75, 0x19, 0x80, 0xe3, 0xed, 0x5c, 0x23, 0xfb, 0x06, 0xe3, 0xd4, 0x6f, 0xc2, 0x5c, 0x0f, + 0x53, 0x5a, 0xe5, 0x75, 0x98, 0xa4, 0x4c, 0x8d, 0xfe, 0x1b, 0x3a, 0x1d, 0x17, 0xa6, 0x74, 0x36, + 0x04, 0x8f, 0xde, 0x82, 0x32, 0x8b, 0x07, 0x3a, 0xf1, 0xe6, 0x38, 0xaa, 0x34, 0x4d, 0x37, 0xa0, + 0xa2, 0x24, 0x49, 0xc5, 0x9f, 0x84, 0x52, 0xb4, 0xef, 0x59, 0xe9, 0x8c, 0x15, 0x58, 0x97, 0xcc, + 0x57, 0x9f, 0x84, 0x92, 0x85, 0xa9, 0xd5, 0x62, 0xb7, 0x43, 0x27, 0x90, 0xe7, 0x07, 0x54, 0xd7, + 0x07, 0x81, 0xee, 0xc1, 0x09, 0x81, 0xb9, 0x49, 0x43, 0x82, 0xdb, 0x47, 0x3e, 0x87, 0x10, 0x4e, + 0xa6, 0xe5, 0xc9, 0x99, 0x7c, 0x07, 0x4e, 0xbb, 0x98, 0x92, 0x88, 0x9a, 0xf7, 0x3d, 0xbf, 0xeb, + 0x99, 0x5b, 0xae, 0x6f, 0xdd, 0x4f, 0xcf, 0x6b, 0x5e, 0x10, 0x5c, 0x63, 0xe3, 0x6b, 0x6c, 0xb8, + 0x37, 0xc7, 0xa4, 0x11, 0x0a, 0x59, 0x23, 0xe8, 0xff, 0x2a, 0xc0, 0xec, 0x0d, 0x9f, 0xf6, 0x8e, + 0xef, 0x33, 0x50, 0x76, 0x3c, 0xcb, 0xed, 0xd8, 0xc4, 0x8c, 0x02, 0x16, 0xf6, 0x09, 0xbb, 0xcc, + 0xca, 0xce, 0x4d, 0xd6, 0x87, 0x56, 0x61, 0x46, 0x9d, 0xc7, 0x9c, 0xb8, 0x2b, 0xef, 0x20, 0x4e, + 0xcb, 0x83, 0xd8, 0xef, 0x13, 0x27, 0x1e, 0xd5, 0x27, 0x5e, 0x87, 0xaa, 0x88, 0x0b, 0x4d, 0xea, + 0x73, 0xdd, 0xed, 0xda, 0xd4, 0x38, 0x51, 0x65, 0x59, 0x70, 0xdf, 0xf2, 0xd9, 0x1c, 0xed, 0xa3, + 0x5b, 0xe6, 0x7f, 0x6a, 0x70, 0x8a, 0x9b, 0x7c, 0xdd, 0x0f, 0x6f, 0xfb, 0xd4, 0xf1, 0x76, 0x94, + 0xed, 0x9f, 0x87, 0xe3, 0xbb, 0x3e, 0xc5, 0x5b, 0x2e, 0x31, 0x31, 0x4d, 0x2f, 0x70, 0x55, 0x0e, + 0xac, 0x52, 0xb9, 0xb2, 0x7d, 0xf6, 0x2b, 0x3e, 0xaa, 0xfd, 0x8e, 0x6c, 0xc2, 0xbf, 0x2d, 0x40, + 0xe5, 0x8e, 0x43, 0xbd, 0xc4, 0x8d, 0xf8, 0x11, 0xcc, 0x79, 0x3e, 0x25, 0x89, 0xf4, 0x82, 0x85, + 0x78, 0xc5, 0x03, 0xe4, 0x17, 0x55, 0x86, 0xd3, 0x6b, 0x47, 0x03, 0xeb, 0xa3, 0xc5, 0x43, 0xac, + 0x8f, 0x1e, 0x99, 0x99, 0x08, 0x54, 0x63, 0x2b, 0xc9, 0x93, 0x6f, 0xc0, 0x6c, 0x57, 0x74, 0x89, + 0x9c, 0x62, 0x8c, 0xb2, 0xa4, 0x84, 0xe2, 0xc9, 0x45, 0xa9, 0xdb, 0x6b, 0xe8, 0x7f, 0xd7, 0x60, + 0x5e, 0x0e, 0xfe, 0x6f, 0x96, 0x96, 0x5d, 0x58, 0xe8, 0x9b, 0xdf, 0xd1, 0x15, 0x96, 0x7f, 0x5f, + 0x84, 0x32, 0x77, 0x6e, 0xf1, 0xde, 0xae, 0xc3, 0x8c, 0x88, 0x51, 0x88, 0x48, 0x7e, 0x66, 0x8c, + 0xb8, 0x8d, 0x3e, 0x81, 0xc5, 0x84, 0x77, 0xb5, 0x9c, 0x6d, 0xc7, 0x32, 0x6d, 0xe2, 0xf9, 0x6d, + 0xc7, 0x93, 0x05, 0x30, 0x71, 0x0a, 0x86, 0xc5, 0x0c, 0x57, 0x18, 0x8f, 0xf1, 0x78, 0xcf, 0x29, + 0x73, 0xa8, 0x2b, 0x49, 0x24, 0xb4, 0x02, 0xa7, 0x95, 0xac, 0x5e, 0x39, 0xcc, 0xe4, 0x17, 0x73, + 0xc4, 0x4f, 0xc4, 0x8c, 0xb1, 0x20, 0x09, 0xae, 0xc4, 0xe3, 0xfc, 0xfa, 0x8e, 0xd0, 0x6b, 0x50, + 0x53, 0xbc, 0x1d, 0x6f, 0xcb, 0xf7, 0x78, 0x0a, 0x25, 0x59, 0x27, 0x38, 0xeb, 0xbc, 0x1c, 0xff, + 0x40, 0x0d, 0x4b, 0xce, 0xb3, 0x50, 0x55, 0x9c, 0x6e, 0x60, 0x7a, 0xdb, 0x34, 0xaa, 0x4d, 0x72, + 0x06, 0x75, 0xad, 0xbc, 0x1f, 0xdc, 0xd8, 0xa6, 0x11, 0x5a, 0x86, 0x53, 0x8a, 0x2e, 0x08, 0xfd, + 0xc0, 0x8f, 0xb0, 0x2b, 0xa8, 0xa7, 0x38, 0xf5, 0x09, 0x39, 0xd8, 0x94, 0x63, 0x9c, 0x67, 0x15, + 0x9e, 0x50, 0x3c, 0xbb, 0xdc, 0x71, 0x9a, 0x21, 0xb1, 0x88, 0x13, 0x50, 0xa5, 0xda, 0x34, 0xe7, + 0xad, 0x4b, 0x22, 0xe5, 0x5c, 0x39, 0x89, 0x50, 0x4f, 0x27, 0x50, 0x51, 0xab, 0x25, 0xf7, 0xc4, + 0x26, 0x54, 0xf8, 0x0a, 0x98, 0x6d, 0x42, 0x71, 0x62, 0x43, 0xbe, 0x38, 0xca, 0x12, 0x5c, 0x97, + 0x3c, 0x46, 0xd9, 0x4e, 0x36, 0xf5, 0x1a, 0xcc, 0x5f, 0x6e, 0x61, 0xc7, 0x6b, 0xe2, 0x10, 0xb7, + 0x09, 0x25, 0xa1, 0xda, 0x1d, 0x7a, 0x0b, 0x16, 0xfa, 0x46, 0xa4, 0x26, 0xd7, 0x01, 0x82, 0xb8, + 0x37, 0x2f, 0x8c, 0xe3, 0xcf, 0x5f, 0xb1, 0x12, 0x59, 0xa8, 0x04, 0x80, 0x3e, 0x0f, 0x27, 0xd7, + 0xaf, 0x5f, 0xe9, 0xd7, 0xc0, 0x86, 0x53, 0x99, 0x7e, 0x29, 0xff, 0xda, 0x00, 0xf9, 0x2f, 0x3c, + 0x5c, 0xfe, 0x7a, 0xdb, 0xce, 0x91, 0xfe, 0x6f, 0x0d, 0x16, 0xd8, 0x2d, 0xb7, 0xb6, 0x9f, 0x70, + 0xd6, 0x71, 0x04, 0x55, 0xcd, 0x78, 0x7f, 0x69, 0xf3, 0xb1, 0x8b, 0x4b, 0x69, 0xe7, 0x3f, 0xe8, + 0xc9, 0xa5, 0x38, 0xe8, 0xc9, 0xe5, 0xe8, 0x9c, 0xb8, 0x07, 0xb5, 0xfe, 0x59, 0xc7, 0xde, 0xbc, + 0xc2, 0xc3, 0x12, 0x7e, 0xc1, 0x33, 0xcd, 0xfb, 0x6d, 0x9c, 0x8e, 0xa9, 0x37, 0x15, 0x35, 0x83, + 0x34, 0x88, 0xe5, 0x87, 0xb6, 0x51, 0x8e, 0x92, 0x9d, 0xdc, 0xcc, 0x9b, 0x5d, 0x1c, 0xe4, 0x98, + 0x39, 0x5b, 0xc3, 0x2b, 0x1c, 0x46, 0x0d, 0xef, 0x5b, 0x60, 0x66, 0x03, 0x6a, 0xfd, 0xb3, 0x8e, + 0x5f, 0xcb, 0x26, 0x98, 0xbe, 0xd2, 0xb8, 0x7a, 0xae, 0x71, 0xbb, 0x38, 0x90, 0x36, 0xe5, 0xf4, + 0xfa, 0x03, 0x0d, 0xe6, 0x6f, 0x74, 0x5c, 0xd7, 0xd9, 0x76, 0x48, 0x98, 0x4e, 0x5b, 0xd6, 0xe1, + 0x98, 0xa7, 0x46, 0xa4, 0x0d, 0xcf, 0x0f, 0x99, 0x40, 0x8c, 0x64, 0xf4, 0x58, 0xbf, 0x05, 0x86, + 0x5b, 0x82, 0x85, 0xbe, 0x39, 0x4a, 0xbb, 0x9d, 0x84, 0x49, 0x11, 0xf1, 0x8b, 0x4b, 0x4b, 0x34, + 0xf4, 0xdb, 0xf0, 0x78, 0xe2, 0xee, 0xdb, 0xf0, 0xb6, 0xfd, 0xb5, 0xfd, 0xf7, 0x70, 0x14, 0x27, + 0x9d, 0xe2, 0x6d, 0xb2, 0x30, 0xee, 0xdb, 0xa4, 0x7e, 0x17, 0xe6, 0x33, 0xb8, 0x0a, 0xf1, 0x69, + 0x98, 0x8d, 0x28, 0x0e, 0x33, 0x01, 0x70, 0x89, 0xf7, 0xc9, 0xe0, 0xf7, 0x09, 0x00, 0xe2, 0xd9, + 0xe9, 0xac, 0xe6, 0x18, 0xf1, 0x6c, 0x99, 0xd4, 0xfc, 0xad, 0x00, 0xd5, 0x0c, 0x38, 0x9a, 0x87, + 0xa9, 0x14, 0x9e, 0x6c, 0x1d, 0x54, 0xff, 0x6c, 0x28, 0x51, 0x3c, 0x84, 0x07, 0xe3, 0x7b, 0x50, + 0x0a, 0x48, 0xc8, 0xe2, 0x02, 0xea, 0xec, 0x12, 0x99, 0x10, 0xad, 0x8c, 0x1b, 0x79, 0xf5, 0x10, + 0x8c, 0x24, 0x1c, 0xba, 0x0a, 0x13, 0xec, 0x00, 0xf0, 0xdb, 0x78, 0xfc, 0x80, 0x8e, 0xa5, 0xf7, + 0x06, 0x07, 0xd0, 0xbf, 0x0f, 0x0b, 0x7d, 0x2b, 0xd7, 0xab, 0x28, 0xd1, 0x3d, 0xd3, 0xf1, 0xb6, + 0x7d, 0x79, 0xfa, 0xce, 0x8d, 0xf0, 0x8c, 0xc4, 0x11, 0xa6, 0xe8, 0x1e, 0xfb, 0xab, 0x63, 0x78, + 0x22, 0x67, 0xbb, 0x1d, 0x9a, 0x88, 0x8f, 0xa1, 0x2c, 0x33, 0x5e, 0x09, 0xf9, 0x3e, 0x94, 0xf8, + 0x75, 0x14, 0x72, 0x6f, 0x70, 0x10, 0xa7, 0x0c, 0x5e, 0xfc, 0x5b, 0xff, 0x82, 0xb9, 0x91, 0x4c, + 0x7a, 0x77, 0x14, 0x82, 0xd0, 0x75, 0x98, 0x75, 0x6c, 0xe2, 0x51, 0x87, 0xee, 0x9b, 0xf7, 0xc9, + 0xbe, 0xdc, 0xc3, 0xcf, 0x0f, 0xf1, 0x0f, 0x1b, 0x92, 0xe5, 0x1a, 0xd9, 0x37, 0x4a, 0x4e, 0xaf, + 0xa1, 0x7f, 0x53, 0x84, 0x13, 0x03, 0x44, 0x0e, 0xba, 0xac, 0xb5, 0x43, 0xb9, 0xac, 0xff, 0x1f, + 0x26, 0xf8, 0x25, 0x28, 0xf4, 0x7e, 0x66, 0x98, 0x3f, 0x65, 0x1a, 0x71, 0x86, 0x23, 0x48, 0x7d, + 0x53, 0xfe, 0x7d, 0xe2, 0xe0, 0xfe, 0xfd, 0x0c, 0x54, 0x84, 0x5b, 0x31, 0xad, 0x90, 0x60, 0x4a, + 0x6c, 0x7e, 0xda, 0x26, 0x8c, 0xb2, 0xe8, 0xbd, 0x2c, 0x3a, 0x99, 0x87, 0x93, 0x64, 0xc2, 0xe1, + 0x4e, 0x09, 0x0f, 0x27, 0xfa, 0x44, 0x85, 0xa5, 0x9e, 0x78, 0xf5, 0x99, 0xe6, 0xc3, 0x71, 0x1b, + 0xbd, 0x03, 0x53, 0x91, 0xdf, 0x09, 0x2d, 0x52, 0x9b, 0x19, 0xac, 0x6a, 0x3a, 0x46, 0x63, 0x96, + 0xdb, 0xe4, 0xf4, 0x86, 0xe4, 0xd3, 0xff, 0x54, 0x04, 0xe8, 0xdd, 0x7f, 0x47, 0xf6, 0xd8, 0x87, + 0xde, 0x94, 0x57, 0xb1, 0x58, 0xe2, 0xe7, 0x1e, 0xf6, 0xee, 0xc2, 0xd4, 0x49, 0x7c, 0xd4, 0xc1, + 0xd8, 0x52, 0x46, 0x28, 0x66, 0x8c, 0x70, 0x58, 0x4b, 0xd6, 0x84, 0x92, 0xf8, 0x2c, 0x43, 0x24, + 0xa3, 0x93, 0x03, 0xfd, 0x78, 0x4a, 0xd3, 0x35, 0x4c, 0xad, 0x16, 0x53, 0x57, 0x3c, 0x64, 0xf3, + 0x34, 0x14, 0xfc, 0xf8, 0x77, 0x72, 0x13, 0xb8, 0xd8, 0x69, 0x13, 0x5b, 0xae, 0xaf, 0xda, 0x04, + 0xa2, 0x33, 0xb1, 0x8a, 0xd3, 0x07, 0x5c, 0xc5, 0x3f, 0x68, 0xb0, 0x70, 0xb3, 0xeb, 0x11, 0xbb, + 0xf7, 0x7e, 0x96, 0x78, 0x72, 0xe8, 0x7d, 0xac, 0x10, 0xb1, 0x55, 0x92, 0x2b, 0xfa, 0xdc, 0x28, + 0xef, 0x70, 0x7c, 0x59, 0x7b, 0xdf, 0x25, 0xf0, 0x66, 0xdf, 0x5b, 0x5a, 0xe1, 0x11, 0xde, 0xd2, + 0x2c, 0xa8, 0xf5, 0x2b, 0x1e, 0xbf, 0xa4, 0x1d, 0xce, 0xf3, 0xe1, 0xf2, 0x1f, 0x4f, 0xc0, 0x09, + 0x76, 0x6d, 0x35, 0x43, 0x9f, 0xfa, 0x96, 0xef, 0x6e, 0x92, 0x70, 0xd7, 0xb1, 0x08, 0xba, 0x03, + 0x53, 0x22, 0xf2, 0x41, 0xb9, 0xc5, 0xec, 0x54, 0xf4, 0x57, 0x3f, 0x3b, 0x8c, 0x4c, 0x6a, 0x7e, + 0x1f, 0x66, 0x93, 0xf5, 0x5b, 0xf4, 0xc2, 0xc3, 0xf9, 0x52, 0x55, 0xe5, 0xfa, 0x8b, 0xa3, 0x11, + 0x0b, 0x51, 0x17, 0x34, 0x74, 0x1b, 0x26, 0xf9, 0x2d, 0x83, 0x9e, 0xcd, 0x63, 0x4c, 0x96, 0x75, + 0xeb, 0x67, 0x86, 0x50, 0xc5, 0xb8, 0x9f, 0x42, 0x25, 0x7d, 0x7b, 0xa1, 0x97, 0x1e, 0xca, 0x9a, + 0x2d, 0x62, 0xd6, 0x1b, 0xa3, 0x92, 0xc7, 0x22, 0xef, 0xc2, 0xb4, 0x2c, 0xd8, 0xa0, 0x5c, 0x53, + 0xa7, 0xeb, 0x87, 0xf5, 0x73, 0x43, 0xe9, 0xe4, 0x9a, 0x84, 0x71, 0x51, 0x4d, 0x15, 0x83, 0x50, + 0x63, 0x08, 0x6f, 0xa6, 0x2a, 0x56, 0x5f, 0x1a, 0x99, 0x5e, 0xca, 0xfc, 0x08, 0xa6, 0x44, 0x8d, + 0x21, 0x7f, 0x83, 0xa5, 0x2a, 0x46, 0xf9, 0x1b, 0x2c, 0x5d, 0xaa, 0xb8, 0xa0, 0xb1, 0xe9, 0x64, + 0x52, 0xfe, 0xfc, 0xe9, 0x0c, 0x2e, 0x40, 0xe4, 0x4f, 0x27, 0xaf, 0x2c, 0xe1, 0x42, 0x39, 0x55, + 0x2f, 0x40, 0xb9, 0x5b, 0x75, 0x50, 0xb9, 0xa1, 0xfe, 0xd2, 0x88, 0xd4, 0x52, 0x9a, 0x0f, 0x95, + 0xf4, 0x53, 0x73, 0xfe, 0xfe, 0x1b, 0xf8, 0x4c, 0x9e, 0xbf, 0xff, 0x72, 0x5e, 0xb0, 0x7d, 0xa8, + 0xa4, 0x1f, 0x89, 0xf3, 0x05, 0x0e, 0x7c, 0xa7, 0xce, 0x17, 0x98, 0xf3, 0xf6, 0xdc, 0x81, 0xb9, + 0xec, 0x93, 0x2c, 0xca, 0x5d, 0x94, 0x9c, 0x27, 0xe5, 0xfa, 0x85, 0xd1, 0x19, 0xa4, 0x58, 0x13, + 0x66, 0xd4, 0x93, 0x27, 0xca, 0x3d, 0x3e, 0x99, 0xc7, 0xdc, 0xfa, 0xf9, 0xe1, 0x84, 0xf1, 0xde, + 0xec, 0xc0, 0x5c, 0xb6, 0xf4, 0x91, 0x3f, 0xaf, 0x9c, 0xd2, 0x50, 0xfe, 0xbc, 0x72, 0xab, 0x2a, + 0x1d, 0x98, 0xcb, 0x96, 0x02, 0xf2, 0xc5, 0xe6, 0x94, 0x4a, 0xf2, 0xc5, 0xe6, 0x56, 0x19, 0x42, + 0xa8, 0x66, 0x12, 0xe9, 0xfc, 0x93, 0x38, 0xb8, 0xaa, 0x90, 0x7f, 0x12, 0xf3, 0x32, 0xf4, 0x1f, + 0x6b, 0x70, 0x6a, 0x60, 0x76, 0x84, 0x2e, 0x8d, 0x98, 0x04, 0xa5, 0x72, 0xf7, 0xfa, 0x2b, 0x63, + 0x72, 0x49, 0x35, 0x68, 0x7f, 0x76, 0xdd, 0x18, 0x35, 0x09, 0x1b, 0x36, 0xf5, 0x9c, 0xcc, 0xf2, + 0x82, 0x86, 0x7e, 0x04, 0xa8, 0xff, 0xfb, 0x1b, 0x74, 0x71, 0xec, 0xef, 0x14, 0xeb, 0xcb, 0xe3, + 0xb0, 0xc8, 0x29, 0x7f, 0xa6, 0xc1, 0xc9, 0x41, 0x9f, 0x68, 0xa3, 0x97, 0x73, 0x0f, 0x48, 0xfe, + 0xc7, 0xe6, 0xf5, 0x4b, 0xe3, 0x31, 0x49, 0x1d, 0xba, 0x30, 0x97, 0x0d, 0x9a, 0xf2, 0x37, 0x7a, + 0x4e, 0x5c, 0x98, 0xbf, 0xd1, 0xf3, 0xe2, 0xb1, 0x0b, 0x1a, 0xda, 0x83, 0xe3, 0x7d, 0xdf, 0xea, + 0xa3, 0x5c, 0xa0, 0xbc, 0x7f, 0x5c, 0xa8, 0x5f, 0x1c, 0x83, 0x43, 0xc8, 0x5e, 0x0e, 0x7a, 0x1f, + 0x39, 0xa8, 0xe8, 0xed, 0x63, 0x98, 0x51, 0x5d, 0xf9, 0x6e, 0x2c, 0xf3, 0x65, 0x44, 0xbe, 0x1b, + 0xcb, 0x7e, 0xee, 0xb0, 0xf6, 0xd3, 0xc2, 0x9f, 0x1f, 0x2c, 0x6a, 0x5f, 0x3e, 0x58, 0xd4, 0xbe, + 0x7a, 0xb0, 0xa8, 0x7d, 0xfe, 0xf5, 0xe2, 0x63, 0x5f, 0x7e, 0xbd, 0xf8, 0xd8, 0x5f, 0xbf, 0x5e, + 0x7c, 0x0c, 0xea, 0x96, 0xdf, 0xce, 0xc1, 0x59, 0x3b, 0x16, 0x07, 0x9a, 0x4d, 0xed, 0xee, 0xcd, + 0x1d, 0x87, 0xb6, 0x3a, 0x5b, 0x0d, 0xcb, 0x6f, 0x2f, 0x59, 0x7e, 0xd4, 0xf6, 0xa3, 0xa5, 0x90, + 0xb8, 0x78, 0x9f, 0x84, 0x4b, 0xbb, 0xcb, 0xf1, 0x4f, 0x1e, 0xdf, 0x47, 0x4b, 0x83, 0xff, 0x4f, + 0xe6, 0x75, 0xd6, 0x52, 0x8d, 0xdf, 0x14, 0x8a, 0xcd, 0xdb, 0x1f, 0xfe, 0xae, 0x30, 0xdf, 0x54, + 0xc2, 0x99, 0xb4, 0xc6, 0x6d, 0x39, 0xfc, 0x97, 0xde, 0xc0, 0x3d, 0x36, 0x70, 0x4f, 0x0d, 0x3c, + 0x28, 0xe8, 0x83, 0x07, 0xee, 0x5d, 0x6d, 0xae, 0xa9, 0xa7, 0x8a, 0x7f, 0x14, 0x6a, 0x8a, 0x68, + 0x65, 0x85, 0x51, 0xad, 0xac, 0x28, 0xb2, 0xad, 0x29, 0xfe, 0xef, 0x28, 0x2f, 0xff, 0x27, 0x00, + 0x00, 0xff, 0xff, 0xe9, 0x8c, 0xd8, 0x02, 0xcd, 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5076,6 +4841,54 @@ func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro _ = i var l int _ = l + if len(m.PositionWithdraws) > 0 { + for iNdEx := len(m.PositionWithdraws) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PositionWithdraws[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0xc2 + } + } + if len(m.PositionCloses) > 0 { + for iNdEx := len(m.PositionCloses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PositionCloses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0xba + } + } + if len(m.PositionOpens) > 0 { + for iNdEx := len(m.PositionOpens) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PositionOpens[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0xb2 + } + } if len(m.IbcActions) > 0 { for iNdEx := len(m.IbcActions) - 1; iNdEx >= 0; iNdEx-- { { @@ -5172,14 +4985,17 @@ func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro dAtA[i] = 0xa2 } } - if m.XAccountGroupId != nil { + if m.AccountGroupId != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x72 } if m.Memo != nil { { @@ -5213,27 +5029,6 @@ func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *TransactionPlannerRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionPlannerRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AccountGroupId != nil { - { - size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - return len(dAtA) - i, nil -} func (m *TransactionPlannerRequest_Output) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5301,6 +5096,18 @@ func (m *TransactionPlannerRequest_Swap) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.ClaimAddress != nil { + { + size, err := m.ClaimAddress.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } if m.Fee != nil { { size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) @@ -5469,7 +5276,7 @@ func (m *TransactionPlannerRequest_Undelegate) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *TransactionPlannerResponse) Marshal() (dAtA []byte, err error) { +func (m *TransactionPlannerRequest_PositionOpen) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5479,19 +5286,19 @@ func (m *TransactionPlannerResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TransactionPlannerResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionPlannerRequest_PositionOpen) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionPlannerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionPlannerRequest_PositionOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Plan != nil { + if m.Position != nil { { - size, err := m.Plan.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Position.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5504,7 +5311,7 @@ func (m *TransactionPlannerResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *AddressByIndexRequest) Marshal() (dAtA []byte, err error) { +func (m *TransactionPlannerRequest_PositionClose) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5514,29 +5321,19 @@ func (m *AddressByIndexRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *AddressByIndexRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionPlannerRequest_PositionClose) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *AddressByIndexRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionPlannerRequest_PositionClose) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.DisplayConfirm { - i-- - if m.DisplayConfirm { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if m.AddressIndex != nil { + if m.PositionId != nil { { - size, err := m.AddressIndex.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.PositionId.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5549,7 +5346,7 @@ func (m *AddressByIndexRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *AddressByIndexResponse) Marshal() (dAtA []byte, err error) { +func (m *TransactionPlannerRequest_PositionWithdraw) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5559,19 +5356,19 @@ func (m *AddressByIndexResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *AddressByIndexResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionPlannerRequest_PositionWithdraw) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *AddressByIndexResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionPlannerRequest_PositionWithdraw) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Address != nil { + if m.TradingPair != nil { { - size, err := m.Address.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.TradingPair.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5579,34 +5376,23 @@ func (m *AddressByIndexResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) i = encodeVarintView(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x1a } - return len(dAtA) - i, nil -} - -func (m *IndexByAddressRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if m.Reserves != nil { + { + size, err := m.Reserves.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } - return dAtA[:n], nil -} - -func (m *IndexByAddressRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *IndexByAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Address != nil { + if m.PositionId != nil { { - size, err := m.Address.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.PositionId.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5619,7 +5405,7 @@ func (m *IndexByAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *IndexByAddressResponse) Marshal() (dAtA []byte, err error) { +func (m *TransactionPlannerResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5629,38 +5415,19 @@ func (m *IndexByAddressResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *IndexByAddressResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionPlannerResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *IndexByAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionPlannerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.XAddressIndex != nil { - { - size := m.XAddressIndex.Size() - i -= size - if _, err := m.XAddressIndex.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } - return len(dAtA) - i, nil -} - -func (m *IndexByAddressResponse_AddressIndex) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *IndexByAddressResponse_AddressIndex) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AddressIndex != nil { + if m.Plan != nil { { - size, err := m.AddressIndex.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Plan.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5672,7 +5439,8 @@ func (m *IndexByAddressResponse_AddressIndex) MarshalToSizedBuffer(dAtA []byte) } return len(dAtA) - i, nil } -func (m *EphemeralAddressRequest) Marshal() (dAtA []byte, err error) { + +func (m *AddressByIndexRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5682,12 +5450,12 @@ func (m *EphemeralAddressRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *EphemeralAddressRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *AddressByIndexRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *EphemeralAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *AddressByIndexRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5717,7 +5485,7 @@ func (m *EphemeralAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *EphemeralAddressResponse) Marshal() (dAtA []byte, err error) { +func (m *AddressByIndexResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5727,12 +5495,162 @@ func (m *EphemeralAddressResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *EphemeralAddressResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *AddressByIndexResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *EphemeralAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *AddressByIndexResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Address != nil { + { + size, err := m.Address.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *IndexByAddressRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *IndexByAddressRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *IndexByAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Address != nil { + { + size, err := m.Address.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *IndexByAddressResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *IndexByAddressResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *IndexByAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AddressIndex != nil { + { + size, err := m.AddressIndex.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EphemeralAddressRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EphemeralAddressRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EphemeralAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.DisplayConfirm { + i-- + if m.DisplayConfirm { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.AddressIndex != nil { + { + size, err := m.AddressIndex.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EphemeralAddressResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EphemeralAddressResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EphemeralAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5966,25 +5884,6 @@ func (m *StatusRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XAccountGroupId != nil { - { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } - return len(dAtA) - i, nil -} - -func (m *StatusRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *StatusRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) if m.AccountGroupId != nil { { size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) @@ -5999,6 +5898,7 @@ func (m *StatusRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, e } return len(dAtA) - i, nil } + func (m *StatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6057,25 +5957,6 @@ func (m *StatusStreamRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XAccountGroupId != nil { - { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } - return len(dAtA) - i, nil -} - -func (m *StatusStreamRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *StatusStreamRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) if m.AccountGroupId != nil { { size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) @@ -6090,6 +5971,7 @@ func (m *StatusStreamRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) ( } return len(dAtA) - i, nil } + func (m *StatusStreamResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6143,14 +6025,17 @@ func (m *NotesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XAccountGroupId != nil { + if m.AccountGroupId != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x72 } if m.AmountToSpend != nil { { @@ -6201,27 +6086,6 @@ func (m *NotesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *NotesRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NotesRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AccountGroupId != nil { - { - size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - return len(dAtA) - i, nil -} func (m *NotesForVotingRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6242,14 +6106,17 @@ func (m *NotesForVotingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XAccountGroupId != nil { + if m.AccountGroupId != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x72 } if m.AddressIndex != nil { { @@ -6271,27 +6138,6 @@ func (m *NotesForVotingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *NotesForVotingRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NotesForVotingRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AccountGroupId != nil { - { - size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - return len(dAtA) - i, nil -} func (m *WitnessRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6312,14 +6158,17 @@ func (m *WitnessRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XAccountGroupId != nil { + if m.AccountGroupId != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x72 } if m.TransactionPlan != nil { { @@ -6350,43 +6199,22 @@ func (m *WitnessRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *WitnessRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { +func (m *WitnessResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *WitnessResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *WitnessRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AccountGroupId != nil { - { - size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - return len(dAtA) - i, nil -} -func (m *WitnessResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *WitnessResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WitnessResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *WitnessResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6756,14 +6584,17 @@ func (m *NoteByCommitmentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XAccountGroupId != nil { + if m.AccountGroupId != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x72 } if m.AwaitDetection { i-- @@ -6790,27 +6621,6 @@ func (m *NoteByCommitmentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *NoteByCommitmentRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NoteByCommitmentRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AccountGroupId != nil { - { - size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - return len(dAtA) - i, nil -} func (m *NoteByCommitmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6866,14 +6676,17 @@ func (m *SwapByCommitmentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XAccountGroupId != nil { + if m.AccountGroupId != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x72 } if m.AwaitDetection { i-- @@ -6900,27 +6713,6 @@ func (m *SwapByCommitmentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *SwapByCommitmentRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SwapByCommitmentRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AccountGroupId != nil { - { - size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - return len(dAtA) - i, nil -} func (m *SwapByCommitmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6976,14 +6768,17 @@ func (m *NullifierStatusRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XAccountGroupId != nil { + if m.AccountGroupId != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x72 } if m.AwaitDetection { i-- @@ -7010,27 +6805,6 @@ func (m *NullifierStatusRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *NullifierStatusRequest_AccountGroupId) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NullifierStatusRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AccountGroupId != nil { - { - size, err := m.AccountGroupId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - return len(dAtA) - i, nil -} func (m *NullifierStatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7119,51 +6893,19 @@ func (m *TransactionInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XEndHeight != nil { - { - size := m.XEndHeight.Size() - i -= size - if _, err := m.XEndHeight.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } + if m.EndHeight != 0 { + i = encodeVarintView(dAtA, i, uint64(m.EndHeight)) + i-- + dAtA[i] = 0x10 } - if m.XStartHeight != nil { - { - size := m.XStartHeight.Size() - i -= size - if _, err := m.XStartHeight.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } + if m.StartHeight != 0 { + i = encodeVarintView(dAtA, i, uint64(m.StartHeight)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *TransactionInfoRequest_StartHeight) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionInfoRequest_StartHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i = encodeVarintView(dAtA, i, uint64(m.StartHeight)) - i-- - dAtA[i] = 0x8 - return len(dAtA) - i, nil -} -func (m *TransactionInfoRequest_EndHeight) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionInfoRequest_EndHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i = encodeVarintView(dAtA, i, uint64(m.EndHeight)) - i-- - dAtA[i] = 0x10 - return len(dAtA) - i, nil -} func (m *TransactionInfo) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7232,30 +6974,14 @@ func (m *TransactionInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if m.XHeight != nil { - { - size := m.XHeight.Size() - i -= size - if _, err := m.XHeight.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } + if m.Height != 0 { + i = encodeVarintView(dAtA, i, uint64(m.Height)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *TransactionInfo_Height) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionInfo_Height) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i = encodeVarintView(dAtA, i, uint64(m.Height)) - i-- - dAtA[i] = 0x8 - return len(dAtA) - i, nil -} func (m *TransactionInfoResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7445,14 +7171,10 @@ func (m *SpendableNoteRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x38 } - if m.XHeightSpent != nil { - { - size := m.XHeightSpent.Size() - i -= size - if _, err := m.XHeightSpent.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } + if m.HeightSpent != 0 { + i = encodeVarintView(dAtA, i, uint64(m.HeightSpent)) + i-- + dAtA[i] = 0x30 } if m.HeightCreated != 0 { i = encodeVarintView(dAtA, i, uint64(m.HeightCreated)) @@ -7510,18 +7232,6 @@ func (m *SpendableNoteRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *SpendableNoteRecord_HeightSpent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SpendableNoteRecord_HeightSpent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i = encodeVarintView(dAtA, i, uint64(m.HeightSpent)) - i-- - dAtA[i] = 0x30 - return len(dAtA) - i, nil -} func (m *SwapRecord) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7554,14 +7264,10 @@ func (m *SwapRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x3a } - if m.XHeightClaimed != nil { - { - size := m.XHeightClaimed.Size() - i -= size - if _, err := m.XHeightClaimed.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } + if m.HeightClaimed != 0 { + i = encodeVarintView(dAtA, i, uint64(m.HeightClaimed)) + i-- + dAtA[i] = 0x30 } if m.OutputData != nil { { @@ -7619,18 +7325,6 @@ func (m *SwapRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *SwapRecord_HeightClaimed) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SwapRecord_HeightClaimed) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i = encodeVarintView(dAtA, i, uint64(m.HeightClaimed)) - i-- - dAtA[i] = 0x30 - return len(dAtA) - i, nil -} func (m *OwnedPositionIdsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7651,34 +7345,18 @@ func (m *OwnedPositionIdsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XTradingPair != nil { + if m.TradingPair != nil { { - size := m.XTradingPair.Size() - i -= size - if _, err := m.XTradingPair.MarshalTo(dAtA[i:]); err != nil { + size, err := m.TradingPair.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } - } - } - if m.XPositionState != nil { - { - size := m.XPositionState.Size() i -= size - if _, err := m.XPositionState.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } - return len(dAtA) - i, nil -} - -func (m *OwnedPositionIdsRequest_PositionState) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OwnedPositionIdsRequest_PositionState) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) if m.PositionState != nil { { size, err := m.PositionState.MarshalToSizedBuffer(dAtA[:i]) @@ -7693,27 +7371,7 @@ func (m *OwnedPositionIdsRequest_PositionState) MarshalToSizedBuffer(dAtA []byte } return len(dAtA) - i, nil } -func (m *OwnedPositionIdsRequest_TradingPair) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} -func (m *OwnedPositionIdsRequest_TradingPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.TradingPair != nil { - { - size, err := m.TradingPair.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - return len(dAtA) - i, nil -} func (m *OwnedPositionIdsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7839,8 +7497,9 @@ func (m *TransactionPlannerRequest) Size() (n int) { l = m.Memo.Size() n += 1 + l + sovView(uint64(l)) } - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() + if m.AccountGroupId != nil { + l = m.AccountGroupId.Size() + n += 1 + l + sovView(uint64(l)) } if len(m.Outputs) > 0 { for _, e := range m.Outputs { @@ -7878,21 +7537,27 @@ func (m *TransactionPlannerRequest) Size() (n int) { n += 2 + l + sovView(uint64(l)) } } - return n -} - -func (m *TransactionPlannerRequest_AccountGroupId) Size() (n int) { - if m == nil { - return 0 + if len(m.PositionOpens) > 0 { + for _, e := range m.PositionOpens { + l = e.Size() + n += 2 + l + sovView(uint64(l)) + } } - var l int - _ = l - if m.AccountGroupId != nil { - l = m.AccountGroupId.Size() - n += 1 + l + sovView(uint64(l)) + if len(m.PositionCloses) > 0 { + for _, e := range m.PositionCloses { + l = e.Size() + n += 2 + l + sovView(uint64(l)) + } + } + if len(m.PositionWithdraws) > 0 { + for _, e := range m.PositionWithdraws { + l = e.Size() + n += 2 + l + sovView(uint64(l)) + } } return n } + func (m *TransactionPlannerRequest_Output) Size() (n int) { if m == nil { return 0 @@ -7928,6 +7593,10 @@ func (m *TransactionPlannerRequest_Swap) Size() (n int) { l = m.Fee.Size() n += 1 + l + sovView(uint64(l)) } + if m.ClaimAddress != nil { + l = m.ClaimAddress.Size() + n += 1 + l + sovView(uint64(l)) + } return n } @@ -7978,49 +7647,83 @@ func (m *TransactionPlannerRequest_Undelegate) Size() (n int) { return n } -func (m *TransactionPlannerResponse) Size() (n int) { +func (m *TransactionPlannerRequest_PositionOpen) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Plan != nil { - l = m.Plan.Size() + if m.Position != nil { + l = m.Position.Size() n += 1 + l + sovView(uint64(l)) } return n } -func (m *AddressByIndexRequest) Size() (n int) { +func (m *TransactionPlannerRequest_PositionClose) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.AddressIndex != nil { - l = m.AddressIndex.Size() + if m.PositionId != nil { + l = m.PositionId.Size() n += 1 + l + sovView(uint64(l)) } - if m.DisplayConfirm { - n += 2 - } return n } -func (m *AddressByIndexResponse) Size() (n int) { +func (m *TransactionPlannerRequest_PositionWithdraw) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Address != nil { - l = m.Address.Size() + if m.PositionId != nil { + l = m.PositionId.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.Reserves != nil { + l = m.Reserves.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.TradingPair != nil { + l = m.TradingPair.Size() n += 1 + l + sovView(uint64(l)) } return n } -func (m *IndexByAddressRequest) Size() (n int) { +func (m *TransactionPlannerResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Plan != nil { + l = m.Plan.Size() + n += 1 + l + sovView(uint64(l)) + } + return n +} + +func (m *AddressByIndexRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AddressIndex != nil { + l = m.AddressIndex.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.DisplayConfirm { + n += 2 + } + return n +} + +func (m *AddressByIndexResponse) Size() (n int) { if m == nil { return 0 } @@ -8033,19 +7736,20 @@ func (m *IndexByAddressRequest) Size() (n int) { return n } -func (m *IndexByAddressResponse) Size() (n int) { +func (m *IndexByAddressRequest) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.XAddressIndex != nil { - n += m.XAddressIndex.Size() + if m.Address != nil { + l = m.Address.Size() + n += 1 + l + sovView(uint64(l)) } return n } -func (m *IndexByAddressResponse_AddressIndex) Size() (n int) { +func (m *IndexByAddressResponse) Size() (n int) { if m == nil { return 0 } @@ -8057,6 +7761,7 @@ func (m *IndexByAddressResponse_AddressIndex) Size() (n int) { } return n } + func (m *EphemeralAddressRequest) Size() (n int) { if m == nil { return 0 @@ -8160,18 +7865,6 @@ func (m *ViewAuthResponse) Size() (n int) { } func (m *StatusRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *StatusRequest_AccountGroupId) Size() (n int) { if m == nil { return 0 } @@ -8183,6 +7876,7 @@ func (m *StatusRequest_AccountGroupId) Size() (n int) { } return n } + func (m *StatusResponse) Size() (n int) { if m == nil { return 0 @@ -8199,18 +7893,6 @@ func (m *StatusResponse) Size() (n int) { } func (m *StatusStreamRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *StatusStreamRequest_AccountGroupId) Size() (n int) { if m == nil { return 0 } @@ -8222,6 +7904,7 @@ func (m *StatusStreamRequest_AccountGroupId) Size() (n int) { } return n } + func (m *StatusStreamResponse) Size() (n int) { if m == nil { return 0 @@ -8258,24 +7941,13 @@ func (m *NotesRequest) Size() (n int) { l = m.AmountToSpend.Size() n += 1 + l + sovView(uint64(l)) } - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *NotesRequest_AccountGroupId) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.AccountGroupId != nil { l = m.AccountGroupId.Size() n += 1 + l + sovView(uint64(l)) } return n } + func (m *NotesForVotingRequest) Size() (n int) { if m == nil { return 0 @@ -8289,24 +7961,13 @@ func (m *NotesForVotingRequest) Size() (n int) { l = m.AddressIndex.Size() n += 1 + l + sovView(uint64(l)) } - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *NotesForVotingRequest_AccountGroupId) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.AccountGroupId != nil { l = m.AccountGroupId.Size() n += 1 + l + sovView(uint64(l)) } return n } + func (m *WitnessRequest) Size() (n int) { if m == nil { return 0 @@ -8323,24 +7984,13 @@ func (m *WitnessRequest) Size() (n int) { l = m.TransactionPlan.Size() n += 1 + l + sovView(uint64(l)) } - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *WitnessRequest_AccountGroupId) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.AccountGroupId != nil { l = m.AccountGroupId.Size() n += 1 + l + sovView(uint64(l)) } return n } + func (m *WitnessResponse) Size() (n int) { if m == nil { return 0 @@ -8487,24 +8137,13 @@ func (m *NoteByCommitmentRequest) Size() (n int) { if m.AwaitDetection { n += 2 } - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *NoteByCommitmentRequest_AccountGroupId) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.AccountGroupId != nil { l = m.AccountGroupId.Size() n += 1 + l + sovView(uint64(l)) } return n } + func (m *NoteByCommitmentResponse) Size() (n int) { if m == nil { return 0 @@ -8531,24 +8170,13 @@ func (m *SwapByCommitmentRequest) Size() (n int) { if m.AwaitDetection { n += 2 } - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *SwapByCommitmentRequest_AccountGroupId) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.AccountGroupId != nil { l = m.AccountGroupId.Size() n += 1 + l + sovView(uint64(l)) } return n } + func (m *SwapByCommitmentResponse) Size() (n int) { if m == nil { return 0 @@ -8575,24 +8203,13 @@ func (m *NullifierStatusRequest) Size() (n int) { if m.AwaitDetection { n += 2 } - if m.XAccountGroupId != nil { - n += m.XAccountGroupId.Size() - } - return n -} - -func (m *NullifierStatusRequest_AccountGroupId) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.AccountGroupId != nil { l = m.AccountGroupId.Size() n += 1 + l + sovView(uint64(l)) } return n } + func (m *NullifierStatusResponse) Size() (n int) { if m == nil { return 0 @@ -8624,41 +8241,23 @@ func (m *TransactionInfoRequest) Size() (n int) { } var l int _ = l - if m.XStartHeight != nil { - n += m.XStartHeight.Size() + if m.StartHeight != 0 { + n += 1 + sovView(uint64(m.StartHeight)) } - if m.XEndHeight != nil { - n += m.XEndHeight.Size() + if m.EndHeight != 0 { + n += 1 + sovView(uint64(m.EndHeight)) } return n } -func (m *TransactionInfoRequest_StartHeight) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovView(uint64(m.StartHeight)) - return n -} -func (m *TransactionInfoRequest_EndHeight) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovView(uint64(m.EndHeight)) - return n -} func (m *TransactionInfo) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.XHeight != nil { - n += m.XHeight.Size() + if m.Height != 0 { + n += 1 + sovView(uint64(m.Height)) } if m.Id != nil { l = m.Id.Size() @@ -8679,15 +8278,6 @@ func (m *TransactionInfo) Size() (n int) { return n } -func (m *TransactionInfo_Height) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovView(uint64(m.Height)) - return n -} func (m *TransactionInfoResponse) Size() (n int) { if m == nil { return 0 @@ -8769,8 +8359,8 @@ func (m *SpendableNoteRecord) Size() (n int) { if m.HeightCreated != 0 { n += 1 + sovView(uint64(m.HeightCreated)) } - if m.XHeightSpent != nil { - n += m.XHeightSpent.Size() + if m.HeightSpent != 0 { + n += 1 + sovView(uint64(m.HeightSpent)) } if m.Position != 0 { n += 1 + sovView(uint64(m.Position)) @@ -8782,15 +8372,6 @@ func (m *SpendableNoteRecord) Size() (n int) { return n } -func (m *SpendableNoteRecord_HeightSpent) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovView(uint64(m.HeightSpent)) - return n -} func (m *SwapRecord) Size() (n int) { if m == nil { return 0 @@ -8816,8 +8397,8 @@ func (m *SwapRecord) Size() (n int) { l = m.OutputData.Size() n += 1 + l + sovView(uint64(l)) } - if m.XHeightClaimed != nil { - n += m.XHeightClaimed.Size() + if m.HeightClaimed != 0 { + n += 1 + sovView(uint64(m.HeightClaimed)) } if m.Source != nil { l = m.Source.Size() @@ -8826,31 +8407,7 @@ func (m *SwapRecord) Size() (n int) { return n } -func (m *SwapRecord_HeightClaimed) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovView(uint64(m.HeightClaimed)) - return n -} func (m *OwnedPositionIdsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XPositionState != nil { - n += m.XPositionState.Size() - } - if m.XTradingPair != nil { - n += m.XTradingPair.Size() - } - return n -} - -func (m *OwnedPositionIdsRequest_PositionState) Size() (n int) { if m == nil { return 0 } @@ -8860,20 +8417,13 @@ func (m *OwnedPositionIdsRequest_PositionState) Size() (n int) { l = m.PositionState.Size() n += 1 + l + sovView(uint64(l)) } - return n -} -func (m *OwnedPositionIdsRequest_TradingPair) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.TradingPair != nil { l = m.TradingPair.Size() n += 1 + l + sovView(uint64(l)) } return n } + func (m *OwnedPositionIdsResponse) Size() (n int) { if m == nil { return 0 @@ -9461,11 +9011,12 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &TransactionPlannerRequest_AccountGroupId{v} iNdEx = postIndex case 20: if wireType != 2 { @@ -9603,9 +9154,459 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 50: + case 50: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Undelegations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Undelegations = append(m.Undelegations, &TransactionPlannerRequest_Undelegate{}) + if err := m.Undelegations[len(m.Undelegations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 60: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IbcActions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IbcActions = append(m.IbcActions, &v1alpha12.IbcAction{}) + if err := m.IbcActions[len(m.IbcActions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 70: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionOpens", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PositionOpens = append(m.PositionOpens, &TransactionPlannerRequest_PositionOpen{}) + if err := m.PositionOpens[len(m.PositionOpens)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 71: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionCloses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PositionCloses = append(m.PositionCloses, &TransactionPlannerRequest_PositionClose{}) + if err := m.PositionCloses[len(m.PositionCloses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 72: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionWithdraws", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PositionWithdraws = append(m.PositionWithdraws, &TransactionPlannerRequest_PositionWithdraw{}) + if err := m.PositionWithdraws[len(m.PositionWithdraws)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TransactionPlannerRequest_Output) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Output: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Output: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Value == nil { + m.Value = &v1alpha11.Value{} + } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Address == nil { + m.Address = &v1alpha11.Address{} + } + if err := m.Address.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TransactionPlannerRequest_Swap) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Swap: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Swap: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Value == nil { + m.Value = &v1alpha11.Value{} + } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetAsset", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TargetAsset == nil { + m.TargetAsset = &v1alpha11.AssetId{} + } + if err := m.TargetAsset.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Fee == nil { + m.Fee = &v1alpha11.Fee{} + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Undelegations", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClaimAddress", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9632,14 +9633,66 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Undelegations = append(m.Undelegations, &TransactionPlannerRequest_Undelegate{}) - if err := m.Undelegations[len(m.Undelegations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.ClaimAddress == nil { + m.ClaimAddress = &v1alpha11.Address{} + } + if err := m.ClaimAddress.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 60: + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TransactionPlannerRequest_SwapClaim) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SwapClaim: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SwapClaim: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field IbcActions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SwapCommitment", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9666,8 +9719,10 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.IbcActions = append(m.IbcActions, &v1alpha12.IbcAction{}) - if err := m.IbcActions[len(m.IbcActions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.SwapCommitment == nil { + m.SwapCommitment = &v1alpha11.StateCommitment{} + } + if err := m.SwapCommitment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9692,7 +9747,7 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionPlannerRequest_Output) Unmarshal(dAtA []byte) error { +func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9715,15 +9770,15 @@ func (m *TransactionPlannerRequest_Output) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Output: wiretype end group for non-group") + return fmt.Errorf("proto: Delegate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Output: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Delegate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9750,16 +9805,16 @@ func (m *TransactionPlannerRequest_Output) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Value == nil { - m.Value = &v1alpha11.Value{} + if m.Amount == nil { + m.Amount = &v1alpha11.Amount{} } - if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RateData", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9786,10 +9841,10 @@ func (m *TransactionPlannerRequest_Output) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Address == nil { - m.Address = &v1alpha11.Address{} + if m.RateData == nil { + m.RateData = &v1alpha13.RateData{} } - if err := m.Address.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RateData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9814,7 +9869,7 @@ func (m *TransactionPlannerRequest_Output) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionPlannerRequest_Swap) Unmarshal(dAtA []byte) error { +func (m *TransactionPlannerRequest_Undelegate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9837,10 +9892,10 @@ func (m *TransactionPlannerRequest_Swap) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Swap: wiretype end group for non-group") + return fmt.Errorf("proto: Undelegate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Swap: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Undelegate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9881,43 +9936,7 @@ func (m *TransactionPlannerRequest_Swap) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TargetAsset", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.TargetAsset == nil { - m.TargetAsset = &v1alpha11.AssetId{} - } - if err := m.TargetAsset.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RateData", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9944,10 +9963,10 @@ func (m *TransactionPlannerRequest_Swap) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Fee == nil { - m.Fee = &v1alpha11.Fee{} + if m.RateData == nil { + m.RateData = &v1alpha13.RateData{} } - if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RateData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9972,7 +9991,7 @@ func (m *TransactionPlannerRequest_Swap) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionPlannerRequest_SwapClaim) Unmarshal(dAtA []byte) error { +func (m *TransactionPlannerRequest_PositionOpen) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9995,15 +10014,15 @@ func (m *TransactionPlannerRequest_SwapClaim) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SwapClaim: wiretype end group for non-group") + return fmt.Errorf("proto: PositionOpen: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SwapClaim: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PositionOpen: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SwapCommitment", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10030,10 +10049,10 @@ func (m *TransactionPlannerRequest_SwapClaim) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.SwapCommitment == nil { - m.SwapCommitment = &v1alpha11.StateCommitment{} + if m.Position == nil { + m.Position = &v1alpha14.Position{} } - if err := m.SwapCommitment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Position.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10058,7 +10077,7 @@ func (m *TransactionPlannerRequest_SwapClaim) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { +func (m *TransactionPlannerRequest_PositionClose) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10081,51 +10100,15 @@ func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Delegate: wiretype end group for non-group") + return fmt.Errorf("proto: PositionClose: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Delegate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PositionClose: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Amount == nil { - m.Amount = &v1alpha11.Amount{} - } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RateData", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PositionId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10152,10 +10135,10 @@ func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RateData == nil { - m.RateData = &v1alpha13.RateData{} + if m.PositionId == nil { + m.PositionId = &v1alpha14.PositionId{} } - if err := m.RateData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.PositionId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10180,7 +10163,7 @@ func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionPlannerRequest_Undelegate) Unmarshal(dAtA []byte) error { +func (m *TransactionPlannerRequest_PositionWithdraw) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10203,15 +10186,15 @@ func (m *TransactionPlannerRequest_Undelegate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Undelegate: wiretype end group for non-group") + return fmt.Errorf("proto: PositionWithdraw: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Undelegate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PositionWithdraw: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PositionId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10238,16 +10221,16 @@ func (m *TransactionPlannerRequest_Undelegate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Value == nil { - m.Value = &v1alpha11.Value{} + if m.PositionId == nil { + m.PositionId = &v1alpha14.PositionId{} } - if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.PositionId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RateData", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Reserves", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10274,10 +10257,46 @@ func (m *TransactionPlannerRequest_Undelegate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RateData == nil { - m.RateData = &v1alpha13.RateData{} + if m.Reserves == nil { + m.Reserves = &v1alpha14.Reserves{} } - if err := m.RateData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Reserves.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TradingPair", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TradingPair == nil { + m.TradingPair = &v1alpha14.TradingPair{} + } + if err := m.TradingPair.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10724,11 +10743,12 @@ func (m *IndexByAddressResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AddressIndex{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AddressIndex == nil { + m.AddressIndex = &v1alpha11.AddressIndex{} + } + if err := m.AddressIndex.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAddressIndex = &IndexByAddressResponse_AddressIndex{v} iNdEx = postIndex default: iNdEx = preIndex @@ -11501,11 +11521,12 @@ func (m *StatusRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &StatusRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -11675,11 +11696,12 @@ func (m *StatusStreamRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &StatusStreamRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -11976,11 +11998,12 @@ func (m *NotesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &NotesRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -12116,11 +12139,12 @@ func (m *NotesForVotingRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &NotesForVotingRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -12271,11 +12295,12 @@ func (m *WitnessRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &WitnessRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -12991,7 +13016,7 @@ func (m *ChainParametersResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Parameters == nil { - m.Parameters = &v1alpha14.ChainParameters{} + m.Parameters = &v1alpha15.ChainParameters{} } if err := m.Parameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13127,7 +13152,7 @@ func (m *FMDParametersResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Parameters == nil { - m.Parameters = &v1alpha14.FmdParameters{} + m.Parameters = &v1alpha15.FmdParameters{} } if err := m.Parameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13268,11 +13293,12 @@ func (m *NoteByCommitmentRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &NoteByCommitmentRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -13495,11 +13521,12 @@ func (m *SwapByCommitmentRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &SwapByCommitmentRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -13722,11 +13749,12 @@ func (m *NullifierStatusRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AccountGroupId == nil { + m.AccountGroupId = &v1alpha11.AccountGroupId{} + } + if err := m.AccountGroupId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &NullifierStatusRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -13938,7 +13966,7 @@ func (m *TransactionInfoRequest) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field StartHeight", wireType) } - var v uint64 + m.StartHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -13948,17 +13976,16 @@ func (m *TransactionInfoRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + m.StartHeight |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.XStartHeight = &TransactionInfoRequest_StartHeight{v} case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field EndHeight", wireType) } - var v uint64 + m.EndHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -13968,12 +13995,11 @@ func (m *TransactionInfoRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + m.EndHeight |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.XEndHeight = &TransactionInfoRequest_EndHeight{v} default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -14028,7 +14054,7 @@ func (m *TransactionInfo) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - var v uint64 + m.Height = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -14038,12 +14064,11 @@ func (m *TransactionInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + m.Height |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.XHeight = &TransactionInfo_Height{v} case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) @@ -14785,7 +14810,7 @@ func (m *SpendableNoteRecord) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field HeightSpent", wireType) } - var v uint64 + m.HeightSpent = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -14795,12 +14820,11 @@ func (m *SpendableNoteRecord) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + m.HeightSpent |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.XHeightSpent = &SpendableNoteRecord_HeightSpent{v} case 7: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) @@ -14850,7 +14874,7 @@ func (m *SpendableNoteRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Source == nil { - m.Source = &v1alpha14.NoteSource{} + m.Source = &v1alpha15.NoteSource{} } if err := m.Source.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -14972,7 +14996,7 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Swap == nil { - m.Swap = &v1alpha15.SwapPlaintext{} + m.Swap = &v1alpha14.SwapPlaintext{} } if err := m.Swap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15063,7 +15087,7 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.OutputData == nil { - m.OutputData = &v1alpha15.BatchSwapOutputData{} + m.OutputData = &v1alpha14.BatchSwapOutputData{} } if err := m.OutputData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15073,7 +15097,7 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field HeightClaimed", wireType) } - var v uint64 + m.HeightClaimed = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -15083,12 +15107,11 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + m.HeightClaimed |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.XHeightClaimed = &SwapRecord_HeightClaimed{v} case 7: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) @@ -15119,7 +15142,7 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Source == nil { - m.Source = &v1alpha14.NoteSource{} + m.Source = &v1alpha15.NoteSource{} } if err := m.Source.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15204,11 +15227,12 @@ func (m *OwnedPositionIdsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha15.PositionState{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.PositionState == nil { + m.PositionState = &v1alpha14.PositionState{} + } + if err := m.PositionState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XPositionState = &OwnedPositionIdsRequest_PositionState{v} iNdEx = postIndex case 2: if wireType != 2 { @@ -15239,11 +15263,12 @@ func (m *OwnedPositionIdsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha15.TradingPair{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.TradingPair == nil { + m.TradingPair = &v1alpha14.TradingPair{} + } + if err := m.TradingPair.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XTradingPair = &OwnedPositionIdsRequest_TradingPair{v} iNdEx = postIndex default: iNdEx = preIndex @@ -15325,7 +15350,7 @@ func (m *OwnedPositionIdsResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PositionId == nil { - m.PositionId = &v1alpha15.PositionId{} + m.PositionId = &v1alpha14.PositionId{} } if err := m.PositionId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/relayer/channel.go b/relayer/channel.go index 2f3f32b64..97402ed4c 100644 --- a/relayer/channel.go +++ b/relayer/channel.go @@ -7,9 +7,10 @@ import ( chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v7/modules/core/24-host" + "go.uber.org/zap" + "github.com/cosmos/relayer/v2/relayer/processor" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" ) // CreateOpenChannels runs the channel creation messages on timeout until they pass. diff --git a/relayer/client.go b/relayer/client.go index 2330b262b..5a41a9c33 100644 --- a/relayer/client.go +++ b/relayer/client.go @@ -6,13 +6,15 @@ import ( "time" "github.com/avast/retry-go/v4" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "golang.org/x/sync/errgroup" + + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // CreateClients creates clients for src on dst and dst on src if the client ids are unspecified. @@ -102,7 +104,8 @@ func CreateClient( allowUpdateAfterMisbehaviour bool, override bool, customClientTrustingPeriod time.Duration, - memo string) (string, error) { + memo string, +) (string, error) { // If a client ID was specified in the path and override is not set, ensure the client exists. if !override && src.PathEnd.ClientID != "" { // TODO: check client is not expired @@ -491,7 +494,6 @@ func findMatchingClient(ctx context.Context, src, dst *Chain, newClientState ibc for _, existingClientState := range clientsResp { clientID, err := provider.ClientsMatch(ctx, src.ChainProvider, dst.ChainProvider, existingClientState, newClientState) - // If there is an error parsing/type asserting the client state in ClientsMatch this is going // to make the entire find matching client logic fail. // We should really never be encountering an error here and if we do it is probably a sign of a diff --git a/relayer/codecs/ethermint/algorithm.go b/relayer/codecs/ethermint/algorithm.go index 510b18542..e6f2c07ac 100644 --- a/relayer/codecs/ethermint/algorithm.go +++ b/relayer/codecs/ethermint/algorithm.go @@ -3,10 +3,9 @@ package ethermint import ( "github.com/btcsuite/btcd/btcutil/hdkeychain" "github.com/btcsuite/btcd/chaincfg" - "github.com/tyler-smith/go-bip39" - "github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/crypto" + "github.com/tyler-smith/go-bip39" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" @@ -48,12 +47,12 @@ var ( type ethSecp256k1Algo struct{} // Name returns eth_secp256k1 -func (s ethSecp256k1Algo) Name() hd.PubKeyType { +func (ethSecp256k1Algo) Name() hd.PubKeyType { return EthSecp256k1Type } // Derive derives and returns the eth_secp256k1 private key for the given mnemonic and HD path. -func (s ethSecp256k1Algo) Derive() hd.DeriveFn { +func (ethSecp256k1Algo) Derive() hd.DeriveFn { return func(mnemonic, bip39Passphrase, path string) ([]byte, error) { hdpath, err := accounts.ParseDerivationPath(path) if err != nil { @@ -96,7 +95,7 @@ func (s ethSecp256k1Algo) Derive() hd.DeriveFn { } // Generate generates a eth_secp256k1 private key from the given bytes. -func (s ethSecp256k1Algo) Generate() hd.GenerateFn { +func (ethSecp256k1Algo) Generate() hd.GenerateFn { return func(bz []byte) cryptotypes.PrivKey { bzArr := make([]byte, PrivKeySize) copy(bzArr, bz) diff --git a/relayer/codecs/ethermint/chain_id.go b/relayer/codecs/ethermint/chain_id.go index 4d85416d0..20e4eadaf 100644 --- a/relayer/codecs/ethermint/chain_id.go +++ b/relayer/codecs/ethermint/chain_id.go @@ -7,6 +7,7 @@ import ( "strings" errorsmod "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) diff --git a/relayer/codecs/ethermint/codec.go b/relayer/codecs/ethermint/codec.go index 65f4df8b9..352d8b95f 100644 --- a/relayer/codecs/ethermint/codec.go +++ b/relayer/codecs/ethermint/codec.go @@ -5,6 +5,7 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/types/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/cosmos/relayer/v2/relayer/ethermint" ) diff --git a/relayer/codecs/ethermint/eip712.go b/relayer/codecs/ethermint/eip712.go index f2a862f99..de337f664 100644 --- a/relayer/codecs/ethermint/eip712.go +++ b/relayer/codecs/ethermint/eip712.go @@ -5,14 +5,12 @@ import ( "errors" "fmt" - "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" - - sdk "github.com/cosmos/cosmos-sdk/types" - txTypes "github.com/cosmos/cosmos-sdk/types/tx" - "github.com/ethereum/go-ethereum/signer/core/apitypes" "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + txTypes "github.com/cosmos/cosmos-sdk/types/tx" + "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" ) type aminoMessage struct { diff --git a/relayer/codecs/ethermint/encoding.go b/relayer/codecs/ethermint/encoding.go index 648548c06..1db30394f 100644 --- a/relayer/codecs/ethermint/encoding.go +++ b/relayer/codecs/ethermint/encoding.go @@ -9,19 +9,19 @@ import ( "strings" "time" - sdkmath "cosmossdk.io/math" - "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/signer/core/apitypes" "golang.org/x/text/cases" "golang.org/x/text/language" errorsmod "cosmossdk.io/errors" + sdkmath "cosmossdk.io/math" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" sdk "github.com/cosmos/cosmos-sdk/types" errortypes "github.com/cosmos/cosmos-sdk/types/errors" - - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/common/math" - "github.com/ethereum/go-ethereum/signer/core/apitypes" ) // WrapTxToTypedData is an ultimate method that wraps Amino-encoded Cosmos Tx JSON data @@ -344,16 +344,16 @@ func jsonNameFromTag(tag reflect.StructTag) string { // Unpack the given Any value with Type/Value deconstruction func unpackAny(cdc codectypes.AnyUnpacker, field reflect.Value) (reflect.Type, reflect.Value, error) { - any, ok := field.Interface().(*codectypes.Any) + anyValue, ok := field.Interface().(*codectypes.Any) if !ok { return nil, reflect.Value{}, errorsmod.Wrapf(errortypes.ErrPackAny, "%T", field.Interface()) } anyWrapper := &cosmosAnyWrapper{ - Type: any.TypeUrl, + Type: anyValue.TypeUrl, } - if err := cdc.UnpackAny(any, &anyWrapper.Value); err != nil { + if err := cdc.UnpackAny(anyValue, &anyWrapper.Value); err != nil { return nil, reflect.Value{}, errorsmod.Wrap(err, "failed to unpack Any in msg struct") } diff --git a/relayer/codecs/ethermint/ethsecp256k1.go b/relayer/codecs/ethermint/ethsecp256k1.go index 22dbbb68f..b2851c9a0 100644 --- a/relayer/codecs/ethermint/ethsecp256k1.go +++ b/relayer/codecs/ethermint/ethsecp256k1.go @@ -6,12 +6,15 @@ import ( "crypto/subtle" "fmt" + "github.com/ethereum/go-ethereum/crypto" + errorsmod "cosmossdk.io/errors" - tmcrypto "github.com/cometbft/cometbft/crypto" + "github.com/cosmos/cosmos-sdk/codec" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" errortypes "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ethereum/go-ethereum/crypto" + + tmcrypto "github.com/cometbft/cometbft/crypto" ) const ( @@ -79,7 +82,7 @@ func (privKey PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool { } // Type returns eth_secp256k1 -func (privKey PrivKey) Type() string { +func (PrivKey) Type() string { return KeyType } @@ -165,7 +168,7 @@ func (pubKey PubKey) String() string { } // Type returns eth_secp256k1 -func (pubKey PubKey) Type() string { +func (PubKey) Type() string { return KeyType } diff --git a/relayer/codecs/injective/algorithm.go b/relayer/codecs/injective/algorithm.go index 187a387f6..ba3124a3e 100644 --- a/relayer/codecs/injective/algorithm.go +++ b/relayer/codecs/injective/algorithm.go @@ -3,13 +3,13 @@ package injective import ( "github.com/btcsuite/btcd/btcutil/hdkeychain" "github.com/btcsuite/btcd/chaincfg" - "github.com/cosmos/cosmos-sdk/crypto/hd" - cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" ethaccounts "github.com/ethereum/go-ethereum/accounts" ethcrypto "github.com/ethereum/go-ethereum/crypto" "github.com/tyler-smith/go-bip39" + "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" ) const ( @@ -43,16 +43,15 @@ var ( EthSecp256k1 = ethSecp256k1Algo{} ) -type ethSecp256k1Algo struct { -} +type ethSecp256k1Algo struct{} // Name returns eth_secp256k1 -func (s ethSecp256k1Algo) Name() hd.PubKeyType { +func (ethSecp256k1Algo) Name() hd.PubKeyType { return EthSecp256k1Type } // Derive derives and returns the eth_secp256k1 private key for the given mnemonic and HD path. -func (s ethSecp256k1Algo) Derive() hd.DeriveFn { +func (ethSecp256k1Algo) Derive() hd.DeriveFn { return func(mnemonic string, bip39Passphrase, path string) ([]byte, error) { hdpath, err := ethaccounts.ParseDerivationPath(path) if err != nil { @@ -90,9 +89,9 @@ func (s ethSecp256k1Algo) Derive() hd.DeriveFn { } // Generate generates a secp256k1 private key from the given bytes. -func (s ethSecp256k1Algo) Generate() hd.GenerateFn { +func (ethSecp256k1Algo) Generate() hd.GenerateFn { return func(bz []byte) cryptotypes.PrivKey { - var bzArr = make([]byte, PrivKeySize) + bzArr := make([]byte, PrivKeySize) copy(bzArr, bz) return &PrivKey{Key: bzArr} diff --git a/relayer/codecs/injective/ethsecp256k1.go b/relayer/codecs/injective/ethsecp256k1.go index 7face8727..0994038ca 100644 --- a/relayer/codecs/injective/ethsecp256k1.go +++ b/relayer/codecs/injective/ethsecp256k1.go @@ -9,6 +9,8 @@ import ( ethcrypto "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto/secp256k1" + errorsmod "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/codec" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -74,7 +76,7 @@ func (privKey *PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool { } // Type returns eth_secp256k1 -func (privKey *PrivKey) Type() string { +func (*PrivKey) Type() string { return KeyType } @@ -152,7 +154,7 @@ func (pubKey *PubKey) String() string { } // Type returns eth_secp256k1 -func (pubKey *PubKey) Type() string { +func (*PubKey) Type() string { return KeyType } @@ -169,7 +171,7 @@ func (pubKey PubKey) MarshalAmino() ([]byte, error) { // UnmarshalAmino overrides Amino binary marshalling. func (pubKey *PubKey) UnmarshalAmino(bz []byte) error { if len(bz) != PubKeySize { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidPubKey, "invalid pubkey size, expected %d, got %d", PubKeySize, len(bz)) + return errorsmod.Wrapf(sdkerrors.ErrInvalidPubKey, "invalid pubkey size, expected %d, got %d", PubKeySize, len(bz)) } pubKey.Key = bz diff --git a/relayer/codecs/injective/params.go b/relayer/codecs/injective/params.go index e215eb787..91f3a9e27 100644 --- a/relayer/codecs/injective/params.go +++ b/relayer/codecs/injective/params.go @@ -3,11 +3,11 @@ package injective import ( "fmt" + "github.com/ethereum/go-ethereum/core/vm" "gopkg.in/yaml.v2" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/ethereum/go-ethereum/core/vm" ) var _ paramtypes.ParamSet = &Params{} diff --git a/relayer/connection.go b/relayer/connection.go index df784d504..16c744f61 100644 --- a/relayer/connection.go +++ b/relayer/connection.go @@ -5,9 +5,10 @@ import ( "time" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" + "go.uber.org/zap" + "github.com/cosmos/relayer/v2/relayer/processor" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" ) // CreateOpenConnections runs the connection creation messages on timeout until they pass. diff --git a/relayer/events.go b/relayer/events.go index 799844e89..e90408cb4 100644 --- a/relayer/events.go +++ b/relayer/events.go @@ -6,6 +6,7 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer/provider" ) diff --git a/relayer/log-chain.go b/relayer/log-chain.go index 752d945b4..7cbd76c1c 100644 --- a/relayer/log-chain.go +++ b/relayer/log-chain.go @@ -3,11 +3,11 @@ package relayer import ( "fmt" - "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - "github.com/cosmos/relayer/v2/relayer/provider" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "go.uber.org/zap" - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" + "github.com/cosmos/relayer/v2/relayer/provider" ) func logFailedTx(log *zap.Logger, chainID string, res *provider.RelayerTxResponse, err error, msgs []provider.RelayerMessage) { diff --git a/relayer/naive-strategy.go b/relayer/naive-strategy.go index c23415df8..201a988c3 100644 --- a/relayer/naive-strategy.go +++ b/relayer/naive-strategy.go @@ -7,9 +7,10 @@ import ( "github.com/avast/retry-go/v4" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "golang.org/x/sync/errgroup" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // UnrelayedSequences returns the unrelayed sequence numbers between two chains @@ -113,9 +114,7 @@ func UnrelayedSequences(ctx context.Context, src, dst *Chain, srcChannel *chanty wg.Wait() - var ( - srcUnreceivedPackets, dstUnreceivedPackets []uint64 - ) + var srcUnreceivedPackets, dstUnreceivedPackets []uint64 if len(srcPacketSeq) > 0 { wg.Add(1) @@ -542,7 +541,6 @@ func RelayPackets(ctx context.Context, log *zap.Logger, src, dst *Chain, sp Rela } return nil - } // AddMessagesForSequences constructs RecvMsgs and TimeoutMsgs from sequence numbers on a src chain diff --git a/relayer/packet-tx.go b/relayer/packet-tx.go index 1cb38c7b3..e868c4a67 100644 --- a/relayer/packet-tx.go +++ b/relayer/packet-tx.go @@ -5,12 +5,14 @@ import ( "fmt" "time" - sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" + + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) const defaultTimeoutOffset = 1000 @@ -113,15 +115,14 @@ func (c *Chain) SendTransferMsg(ctx context.Context, log *zap.Logger, dst *Chain ) } return err - } else { - if result.SuccessfullySent() { - c.log.Info( - "Successfully sent a transfer", - zap.String("src_chain_id", c.ChainID()), - zap.String("dst_chain_id", dst.ChainID()), - zap.Object("send_result", result), - ) - } + } else if result.SuccessfullySent() { + c.log.Info( + "Successfully sent a transfer", + zap.String("src_chain_id", c.ChainID()), + zap.String("dst_chain_id", dst.ChainID()), + zap.Object("send_result", result), + ) } + return nil } diff --git a/relayer/path.go b/relayer/path.go index 228544c4b..4ab478c91 100644 --- a/relayer/path.go +++ b/relayer/path.go @@ -6,9 +6,10 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" - "github.com/cosmos/relayer/v2/relayer/processor" "golang.org/x/sync/errgroup" "gopkg.in/yaml.v3" + + "github.com/cosmos/relayer/v2/relayer/processor" ) const ( @@ -35,7 +36,7 @@ func (p Paths) Get(name string) (path *Path, err error) { } else { err = fmt.Errorf("path with name %s does not exist", name) } - return + return path, err } // MustGet panics if path is not found diff --git a/relayer/processor/chain_processor.go b/relayer/processor/chain_processor.go index cb13b589e..31c529bcd 100644 --- a/relayer/processor/chain_processor.go +++ b/relayer/processor/chain_processor.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/relayer/v2/relayer/provider" ) -// The ChainProcessor interface is reponsible for polling blocks and emitting IBC message events to the PathProcessors. +// The ChainProcessor interface is responsible for polling blocks and emitting IBC message events to the PathProcessors. // It is also responsible for tracking open channels and not sending messages to the PathProcessors for closed channels. type ChainProcessor interface { // Run starts the query loop for the chain which will gather applicable ibc messages and push events out to the relevant PathProcessors. diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index c73bab303..e77598d0d 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -8,12 +8,14 @@ import ( "sync" "time" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // messageProcessor is used for concurrent IBC message assembly and sending @@ -34,7 +36,7 @@ type messageProcessor struct { isLocalhost bool } -// catagories of tx errors for a Prometheus counter. If the error doesnt fall into one of the below categories, it is labeled as "Tx Failure" +// categories of tx errors for a Prometheus counter. If the error doesnt fall into one of the below categories, it is labeled as "Tx Failure" var promErrorCatagories = []error{chantypes.ErrRedundantTx, sdkerrors.ErrInsufficientFunds, sdkerrors.ErrInvalidCoins, sdkerrors.ErrOutOfGas, sdkerrors.ErrWrongSequence} // trackMessage stores the message tracker in the correct slice and index based on the type. @@ -148,7 +150,7 @@ func (mp *messageProcessor) shouldUpdateClientNow(ctx context.Context, src, dst if mp.metrics != nil { timeToExpiration := dst.clientState.TrustingPeriod - time.Since(consensusHeightTime) mp.metrics.SetClientExpiration(src.info.PathName, dst.info.ChainID, dst.clientState.ClientID, fmt.Sprint(dst.clientState.TrustingPeriod.String()), timeToExpiration) - mp.metrics.SetClientTrustingPeriod(src.info.PathName, dst.info.ChainID, dst.info.ClientID, time.Duration(dst.clientState.TrustingPeriod)) + mp.metrics.SetClientTrustingPeriod(src.info.PathName, dst.info.ChainID, dst.info.ClientID, dst.clientState.TrustingPeriod) } if shouldUpdateClientNow { @@ -453,7 +455,6 @@ func (mp *messageProcessor) sendBatchMessages( } callbacks := []func(rtr *provider.RelayerTxResponse, err error){callback} - //During testing, this adds a callback so our test case can inspect the TX results if PathProcMessageCollector != nil { testCallback := func(rtr *provider.RelayerTxResponse, err error) { msgResult := &PathProcessorMessageResp{ @@ -540,7 +541,6 @@ func (mp *messageProcessor) sendSingleMessage( callbacks = append(callbacks, callback) } - //During testing, this adds a callback so our test case can inspect the TX results if PathProcMessageCollector != nil { testCallback := func(rtr *provider.RelayerTxResponse, err error) { msgResult := &PathProcessorMessageResp{ diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index 1048eed1e..1cd7e3fe7 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -90,7 +90,7 @@ func NewPrometheusMetrics() *PrometheusMetrics { }, walletLabels), TxFailureError: registerer.NewCounterVec(prometheus.CounterOpts{ Name: "cosmos_relayer_tx_errors_total", - Help: "The total number of tx failures broken up into categories. See https://github.com/cosmos/relayer/blob/main/docs/advanced_usage.md#monitoring for list of catagories. 'Tx Failure' is the catch-all category", + Help: "The total number of tx failures broken up into categories. See https://github.com/cosmos/relayer/blob/main/docs/advanced_usage.md#monitoring for list of categories. 'Tx Failure' is the catch-all category", }, txFailureLabels), BlockQueryFailure: registerer.NewCounterVec(prometheus.CounterOpts{ Name: "cosmos_relayer_block_query_errors_total", diff --git a/relayer/processor/path_end.go b/relayer/processor/path_end.go index 9ba05b542..7ca3e0b87 100644 --- a/relayer/processor/path_end.go +++ b/relayer/processor/path_end.go @@ -35,7 +35,7 @@ const ( RuleDenyList = "denylist" ) -func (pe PathEnd) checkChannelMatch(listChainID, listChannelID, listPortID string, channelKey ChainChannelKey) bool { +func (PathEnd) checkChannelMatch(listChainID, listChannelID, listPortID string, channelKey ChainChannelKey) bool { if listChannelID == "" { return false } diff --git a/relayer/processor/path_end_runtime.go b/relayer/processor/path_end_runtime.go index f1b732af7..19dd356b6 100644 --- a/relayer/processor/path_end_runtime.go +++ b/relayer/processor/path_end_runtime.go @@ -9,8 +9,9 @@ import ( conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // pathEndRuntime is used at runtime for each chain involved in the path. diff --git a/relayer/processor/path_end_test.go b/relayer/processor/path_end_test.go index 1833640f8..b1d91e5ef 100644 --- a/relayer/processor/path_end_test.go +++ b/relayer/processor/path_end_test.go @@ -3,8 +3,9 @@ package processor_test import ( "testing" - "github.com/cosmos/relayer/v2/relayer/processor" "github.com/stretchr/testify/require" + + "github.com/cosmos/relayer/v2/relayer/processor" ) const ( diff --git a/relayer/processor/path_processor.go b/relayer/processor/path_processor.go index 5b0b2c76e..9af8c499f 100644 --- a/relayer/processor/path_processor.go +++ b/relayer/processor/path_processor.go @@ -7,8 +7,9 @@ import ( chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" + + "github.com/cosmos/relayer/v2/relayer/provider" ) const ( diff --git a/relayer/processor/path_processor_internal.go b/relayer/processor/path_processor_internal.go index 58bbcc4a5..c170b6a7d 100644 --- a/relayer/processor/path_processor_internal.go +++ b/relayer/processor/path_processor_internal.go @@ -10,9 +10,10 @@ import ( conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "golang.org/x/sync/errgroup" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // preInitKey is used to declare intent to initialize a connection or channel handshake @@ -31,7 +32,7 @@ func (pp *PathProcessor) getMessagesToSend( src, dst *pathEndRuntime, ) (srcMsgs []packetIBCMessage, dstMsgs []packetIBCMessage) { if len(msgs) == 0 { - return + return srcMsgs, dstMsgs } ordered := false @@ -62,7 +63,7 @@ func (pp *PathProcessor) getMessagesToSend( zap.String("port_id", dstPort), zap.Error(err), ) - return + return srcMsgs, dstMsgs } lowestSeq[chantypes.EventTypeRecvPacket] = res.NextSequenceReceive case chantypes.EventTypeAcknowledgePacket: @@ -74,7 +75,7 @@ func (pp *PathProcessor) getMessagesToSend( zap.String("port_id", srcPort), zap.Error(err), ) - return + return srcMsgs, dstMsgs } lowestSeq[chantypes.EventTypeAcknowledgePacket] = res.NextSequenceReceive } @@ -341,7 +342,7 @@ func (pp *PathProcessor) unrelayedPacketFlowMessages( return res } -func (pp *PathProcessor) unrelayedConnectionHandshakeMessages( +func (*PathProcessor) unrelayedConnectionHandshakeMessages( pathEndConnectionHandshakeMessages pathEndConnectionHandshakeMessages, ) pathEndConnectionHandshakeResponse { var ( @@ -470,7 +471,7 @@ func (pp *PathProcessor) unrelayedConnectionHandshakeMessages( return res } -func (pp *PathProcessor) unrelayedChannelHandshakeMessages( +func (*PathProcessor) unrelayedChannelHandshakeMessages( pathEndChannelHandshakeMessages pathEndChannelHandshakeMessages, ) pathEndChannelHandshakeResponse { var ( @@ -599,7 +600,7 @@ func (pp *PathProcessor) unrelayedChannelHandshakeMessages( return res } -func (pp *PathProcessor) unrelayedChannelCloseMessages( +func (*PathProcessor) unrelayedChannelCloseMessages( pathEndChannelCloseMessages pathEndChannelCloseMessages, ) pathEndChannelHandshakeResponse { var ( @@ -669,7 +670,7 @@ func (pp *PathProcessor) unrelayedChannelCloseMessages( return res } -func (pp *PathProcessor) getUnrelayedClientICQMessages(pathEnd *pathEndRuntime, queryMessages, responseMessages ClientICQMessageCache) (res []clientICQMessage) { +func (*PathProcessor) getUnrelayedClientICQMessages(pathEnd *pathEndRuntime, queryMessages, responseMessages ClientICQMessageCache) (res []clientICQMessage) { ClientICQLoop: for queryID, queryMsg := range queryMessages { for resQueryID := range responseMessages { @@ -1087,7 +1088,7 @@ func (pp *PathProcessor) processLatestMessages(ctx context.Context, cancel func( return eg.Wait() } -func (pp *PathProcessor) channelMessagesToSend(pathEnd1ChannelHandshakeRes, pathEnd2ChannelHandshakeRes, pathEnd1ChannelCloseRes, pathEnd2ChannelCloseRes pathEndChannelHandshakeResponse) ([]channelIBCMessage, []channelIBCMessage) { +func (*PathProcessor) channelMessagesToSend(pathEnd1ChannelHandshakeRes, pathEnd2ChannelHandshakeRes, pathEnd1ChannelCloseRes, pathEnd2ChannelCloseRes pathEndChannelHandshakeResponse) ([]channelIBCMessage, []channelIBCMessage) { pathEnd1ChannelOpenSrcLen := len(pathEnd1ChannelHandshakeRes.SrcMessages) pathEnd1ChannelOpenDstLen := len(pathEnd1ChannelHandshakeRes.DstMessages) pathEnd2ChannelOpenDstLen := len(pathEnd2ChannelHandshakeRes.DstMessages) @@ -1116,7 +1117,7 @@ func (pp *PathProcessor) channelMessagesToSend(pathEnd1ChannelHandshakeRes, path return pathEnd1ChannelMessages, pathEnd2ChannelMessages } -func (pp *PathProcessor) connectionMessagesToSend(pathEnd1ConnectionHandshakeRes, pathEnd2ConnectionHandshakeRes pathEndConnectionHandshakeResponse) ([]connectionIBCMessage, []connectionIBCMessage) { +func (*PathProcessor) connectionMessagesToSend(pathEnd1ConnectionHandshakeRes, pathEnd2ConnectionHandshakeRes pathEndConnectionHandshakeResponse) ([]connectionIBCMessage, []connectionIBCMessage) { pathEnd1ConnectionSrcLen := len(pathEnd1ConnectionHandshakeRes.SrcMessages) pathEnd1ConnectionDstLen := len(pathEnd1ConnectionHandshakeRes.DstMessages) pathEnd2ConnectionDstLen := len(pathEnd2ConnectionHandshakeRes.DstMessages) @@ -1135,7 +1136,7 @@ func (pp *PathProcessor) connectionMessagesToSend(pathEnd1ConnectionHandshakeRes return pathEnd1ConnectionMessages, pathEnd2ConnectionMessages } -func (pp *PathProcessor) packetMessagesToSend( +func (*PathProcessor) packetMessagesToSend( channelPairs []channelPair, pathEnd1ProcessRes []pathEndPacketFlowResponse, pathEnd2ProcessRes []pathEndPacketFlowResponse, @@ -1216,7 +1217,6 @@ func (pp *PathProcessor) queuePendingRecvAndAcks( srcMu sync.Locker, dstMu sync.Locker, ) (*skippedPackets, error) { - if len(seqs) == 0 { src.log.Debug("Nothing to flush", zap.String("channel", k.ChannelID), zap.String("port", k.PortID)) return nil, nil diff --git a/relayer/processor/types.go b/relayer/processor/types.go index a5db23c9b..ed731b28a 100644 --- a/relayer/processor/types.go +++ b/relayer/processor/types.go @@ -5,8 +5,9 @@ import ( "sort" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap/zapcore" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // MessageLifecycle is used to send an initial IBC message to a chain @@ -14,16 +15,12 @@ import ( // It also allows setting a stop condition for the PathProcessor. // PathProcessor will stop if it observes a message that matches // the MessageLifecycle's Termination message. -type MessageLifecycle interface { - messageLifecycler() //noop -} +type MessageLifecycle interface{} // Flush lifecycle informs the PathProcessor to terminate once // all pending messages have been flushed. type FlushLifecycle struct{} -func (t *FlushLifecycle) messageLifecycler() {} - type PacketMessage struct { ChainID string EventType string @@ -38,8 +35,6 @@ type PacketMessageLifecycle struct { Termination *PacketMessage } -func (t *PacketMessageLifecycle) messageLifecycler() {} - type ConnectionMessage struct { ChainID string EventType string @@ -54,8 +49,6 @@ type ConnectionMessageLifecycle struct { Termination *ConnectionMessage } -func (t *ConnectionMessageLifecycle) messageLifecycler() {} - type ChannelMessage struct { ChainID string EventType string @@ -70,8 +63,6 @@ type ChannelMessageLifecycle struct { Termination *ChannelMessage } -func (t *ChannelMessageLifecycle) messageLifecycler() {} - // ChannelCloseLifecycle is used as a stop condition for the PathProcessor. // It will attempt to finish closing the channel and terminate once the channel is closed. type ChannelCloseLifecycle struct { @@ -82,8 +73,6 @@ type ChannelCloseLifecycle struct { DstConnID string } -func (t *ChannelCloseLifecycle) messageLifecycler() {} - // IBCMessagesCache holds cached messages for packet flows, connection handshakes, // and channel handshakes. The PathProcessors use this for message correlation to determine // when messages should be sent and are pruned when flows/handshakes are complete. @@ -247,11 +236,11 @@ func (connectionKey ConnectionKey) PreInitKey() ConnectionKey { } } -func (k ConnectionKey) MarshalLogObject(enc zapcore.ObjectEncoder) error { - enc.AddString("connection_id", k.ConnectionID) - enc.AddString("client_id", k.ClientID) - enc.AddString("counterparty_connection_id", k.CounterpartyConnID) - enc.AddString("counterparty_client_id", k.CounterpartyClientID) +func (connectionKey ConnectionKey) MarshalLogObject(enc zapcore.ObjectEncoder) error { + enc.AddString("connection_id", connectionKey.ConnectionID) + enc.AddString("client_id", connectionKey.ClientID) + enc.AddString("counterparty_connection_id", connectionKey.CounterpartyConnID) + enc.AddString("counterparty_client_id", connectionKey.CounterpartyClientID) return nil } diff --git a/relayer/processor/types_internal.go b/relayer/processor/types_internal.go index d135f123c..8cb52d426 100644 --- a/relayer/processor/types_internal.go +++ b/relayer/processor/types_internal.go @@ -9,14 +9,17 @@ import ( conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap/zapcore" + + "github.com/cosmos/relayer/v2/relayer/provider" ) -var _ zapcore.ObjectMarshaler = packetIBCMessage{} -var _ zapcore.ObjectMarshaler = channelIBCMessage{} -var _ zapcore.ObjectMarshaler = connectionIBCMessage{} -var _ zapcore.ObjectMarshaler = clientICQMessage{} +var ( + _ zapcore.ObjectMarshaler = packetIBCMessage{} + _ zapcore.ObjectMarshaler = channelIBCMessage{} + _ zapcore.ObjectMarshaler = connectionIBCMessage{} + _ zapcore.ObjectMarshaler = clientICQMessage{} +) // pathEndMessages holds the different IBC messages that // will attempt to be sent to the pathEnd. @@ -346,9 +349,11 @@ type processingMessage struct { retryCount uint64 } -type packetProcessingCache map[ChannelKey]packetChannelMessageCache -type packetChannelMessageCache map[string]packetMessageSendCache -type packetMessageSendCache map[uint64]processingMessage +type ( + packetProcessingCache map[ChannelKey]packetChannelMessageCache + packetChannelMessageCache map[string]packetMessageSendCache + packetMessageSendCache map[uint64]processingMessage +) func (c packetChannelMessageCache) deleteMessages(toDelete ...map[string][]uint64) { for _, toDeleteMap := range toDelete { @@ -360,8 +365,10 @@ func (c packetChannelMessageCache) deleteMessages(toDelete ...map[string][]uint6 } } -type channelProcessingCache map[string]channelKeySendCache -type channelKeySendCache map[ChannelKey]processingMessage +type ( + channelProcessingCache map[string]channelKeySendCache + channelKeySendCache map[ChannelKey]processingMessage +) func (c channelProcessingCache) deleteMessages(toDelete ...map[string][]ChannelKey) { for _, toDeleteMap := range toDelete { @@ -373,8 +380,10 @@ func (c channelProcessingCache) deleteMessages(toDelete ...map[string][]ChannelK } } -type connectionProcessingCache map[string]connectionKeySendCache -type connectionKeySendCache map[ConnectionKey]processingMessage +type ( + connectionProcessingCache map[string]connectionKeySendCache + connectionKeySendCache map[ConnectionKey]processingMessage +) func (c connectionProcessingCache) deleteMessages(toDelete ...map[string][]ConnectionKey) { for _, toDeleteMap := range toDelete { diff --git a/relayer/processor/types_test.go b/relayer/processor/types_test.go index 39224dc74..5a8c47c06 100644 --- a/relayer/processor/types_test.go +++ b/relayer/processor/types_test.go @@ -4,15 +4,16 @@ import ( "testing" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/processor" "github.com/stretchr/testify/require" + + "github.com/cosmos/relayer/v2/relayer/processor" ) type mockIBCHeader struct{} -func (h mockIBCHeader) Height() uint64 { return 0 } -func (h mockIBCHeader) ConsensusState() ibcexported.ConsensusState { return nil } -func (h mockIBCHeader) NextValidatorsHash() []byte { return nil } +func (mockIBCHeader) Height() uint64 { return 0 } +func (mockIBCHeader) ConsensusState() ibcexported.ConsensusState { return nil } +func (mockIBCHeader) NextValidatorsHash() []byte { return nil } func TestIBCHeaderCachePrune(t *testing.T) { cache := make(processor.IBCHeaderCache) diff --git a/relayer/provider/matcher.go b/relayer/provider/matcher.go index 72088b0d3..d3d6aca7d 100644 --- a/relayer/provider/matcher.go +++ b/relayer/provider/matcher.go @@ -6,11 +6,12 @@ import ( "reflect" "time" - sdkcodec "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/codec/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + + sdkcodec "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/codec/types" ) var tendermintClientCodec = tmClientCodec() @@ -34,9 +35,12 @@ func ClientsMatch(ctx context.Context, src, dst ChainProvider, existingClient cl return "", nil } - switch ec := existingClientState.(type) { - case *tmclient.ClientState: - nc := newClient.(*tmclient.ClientState) + if ec, ok := existingClientState.(*tmclient.ClientState); ok { + nc, ok := newClient.(*tmclient.ClientState) + if !ok { + return "", fmt.Errorf("got type(%T) expected type(*tmclient.ClientState)", newClient) + } + return cometMatcher(ctx, src, dst, existingClient.ClientId, ec, nc) } @@ -63,15 +67,17 @@ func CheckForMisbehaviour( return nil, err } - switch header := clientMsg.(type) { - case *tmclient.Header: - misbehavior, err = checkTendermintMisbehaviour(ctx, clientID, header, cachedHeader, counterparty) - if err != nil { - return nil, err - } - if misbehavior == nil && err == nil { - return nil, nil - } + header, ok := clientMsg.(*tmclient.Header) + if !ok { + return nil, nil + } + + misbehavior, err = checkTendermintMisbehaviour(ctx, clientID, header, cachedHeader, counterparty) + if err != nil { + return nil, err + } + if misbehavior == nil && err == nil { + return nil, nil } return misbehavior, nil diff --git a/relayer/provider/provider.go b/relayer/provider/provider.go index 34cee434d..d9facc180 100644 --- a/relayer/provider/provider.go +++ b/relayer/provider/provider.go @@ -5,9 +5,6 @@ import ( "fmt" "time" - "github.com/cometbft/cometbft/proto/tendermint/crypto" - "github.com/cometbft/cometbft/types" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/gogoproto/proto" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" @@ -18,6 +15,11 @@ import ( tendermint "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" "go.uber.org/zap" "go.uber.org/zap/zapcore" + + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cometbft/cometbft/proto/tendermint/crypto" + "github.com/cometbft/cometbft/types" ) type BroadcastMode string @@ -196,7 +198,8 @@ func (e RelayerEvent) MarshalLogObject(enc zapcore.ObjectEncoder) error { // MarshalLogArray satisfies the zapcore.ArrayMarshaler interface. func (es loggableEvents) MarshalLogArray(enc zapcore.ArrayEncoder) error { for _, e := range es { - enc.AppendObject(e) + err := enc.AppendObject(e) + return err } return nil } @@ -208,8 +211,8 @@ func (r RelayerTxResponse) MarshalLogObject(enc zapcore.ObjectEncoder) error { enc.AddString("codespace", r.Codespace) enc.AddUint32("code", r.Code) enc.AddString("data", r.Data) - enc.AddArray("events", loggableEvents(r.Events)) - return nil + err := enc.AddArray("events", loggableEvents(r.Events)) + return err } type KeyProvider interface { diff --git a/relayer/query.go b/relayer/query.go index 08b2ec1b0..dc2f0ebc4 100644 --- a/relayer/query.go +++ b/relayer/query.go @@ -7,12 +7,15 @@ import ( "time" "github.com/avast/retry-go/v4" - sdk "github.com/cosmos/cosmos-sdk/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "golang.org/x/sync/errgroup" + + sdkmath "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // QueryLatestHeights queries the heights of multiple chains at once @@ -29,7 +32,7 @@ func QueryLatestHeights(ctx context.Context, src, dst *Chain) (srch, dsth int64, return err }) err = eg.Wait() - return + return srch, dsth, err } // QueryClientStates queries the client state of multiple chains at once @@ -208,7 +211,7 @@ func QueryIBCUpdateHeaders( return err }) err = eg.Wait() - return + return srcHeader, dstHeader, srcTrustedHeader, dstTrustedHeader, err } func QueryIBCHeaders(ctx context.Context, src, dst *Chain, srch, dsth int64) (srcUpdateHeader, dstUpdateHeader provider.IBCHeader, err error) { @@ -224,7 +227,7 @@ func QueryIBCHeaders(ctx context.Context, src, dst *Chain, srch, dsth int64) (sr return err }) err = eg.Wait() - return + return srcUpdateHeader, dstUpdateHeader, err } // QueryBalance is a helper function for query balance @@ -254,7 +257,7 @@ func QueryBalance(ctx context.Context, chain *Chain, address string, showDenoms var out sdk.Coins for _, c := range coins { - if c.Amount.Equal(sdk.NewInt(0)) { + if c.Amount.Equal(sdkmath.NewInt(0)) { continue } diff --git a/relayer/query_test.go b/relayer/query_test.go index 39dc837b7..60a1d1c63 100644 --- a/relayer/query_test.go +++ b/relayer/query_test.go @@ -4,17 +4,17 @@ import ( "testing" "time" - "github.com/cosmos/relayer/v2/relayer/chains/cosmos" - clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/stretchr/testify/require" + + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" ) func TestSPrintClientExpiration_PrintChainId(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("expected-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -26,7 +26,7 @@ func TestSPrintClientExpiration_PrintChainId(t *testing.T) { func TestSPrintClientExpiration_PrintClientId(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("test-chain-id", "expected-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -38,7 +38,7 @@ func TestSPrintClientExpiration_PrintClientId(t *testing.T) { func TestSPrintClientExpiration_PrintExpired_WhenTimeIsInPast(t *testing.T) { previousTime := time.Now().Add(-10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -50,7 +50,7 @@ func TestSPrintClientExpiration_PrintExpired_WhenTimeIsInPast(t *testing.T) { func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInPast(t *testing.T) { pastTime := time.Now().Add(-10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("expected-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -62,7 +62,7 @@ func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInPast(t *tes func TestSPrintClientExpiration_PrintGood_WhenTimeIsInFuture(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -74,7 +74,7 @@ func TestSPrintClientExpiration_PrintGood_WhenTimeIsInFuture(t *testing.T) { func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInFuture(t *testing.T) { futureTime := time.Now().Add(10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -86,7 +86,7 @@ func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInFuture(t *t func TestSPrintClientExpiration_PrintRemainingTime_WhenTimeIsInFuture(t *testing.T) { futureTime := time.Now().Add(10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -98,7 +98,7 @@ func TestSPrintClientExpiration_PrintRemainingTime_WhenTimeIsInFuture(t *testing func TestSPrintClientExpiration_TrustingPeriod(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("expected-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -110,7 +110,7 @@ func TestSPrintClientExpiration_TrustingPeriod(t *testing.T) { func TestSPrintClientExpiration_LastUpdateHeight(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) mockHeight := clienttypes.NewHeight(1, 100) - trustingPeriod := time.Duration(1 * time.Hour) + trustingPeriod := 1 * time.Hour chain := mockChain("expected-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) @@ -134,11 +134,11 @@ func mockChain(chainId string, clientId string) *Chain { } } -func mockClientStateInfo(chainID string, trustingPeriod time.Duration, latestHeight ibcexported.Height) *ClientStateInfo { +func mockClientStateInfo(chainID string, trustingPeriod time.Duration, latestHeight ibcexported.Height) *ClientStateInfo { //nolint:unparam // chainID always receives the same value mockHeight := clienttypes.NewHeight(1, 100) return &ClientStateInfo{ ChainID: chainID, - TrustingPeriod: time.Duration(1 * time.Hour), + TrustingPeriod: 1 * time.Hour, LatestHeight: mockHeight, } } diff --git a/relayer/relayMsgs.go b/relayer/relayMsgs.go index 698e8b28a..adc5ed7de 100644 --- a/relayer/relayMsgs.go +++ b/relayer/relayMsgs.go @@ -6,11 +6,12 @@ import ( "sync" "time" - "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/multierr" "go.uber.org/zap" "go.uber.org/zap/zapcore" "golang.org/x/sync/errgroup" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // RelayMsgs contains the msgs that need to be sent to both a src and dst chain diff --git a/relayer/relaymsgs_test.go b/relayer/relaymsgs_test.go index dab099072..71ae1f1f6 100644 --- a/relayer/relaymsgs_test.go +++ b/relayer/relaymsgs_test.go @@ -5,10 +5,11 @@ import ( "fmt" "testing" - "github.com/cosmos/relayer/v2/relayer" - "github.com/cosmos/relayer/v2/relayer/provider" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" + + "github.com/cosmos/relayer/v2/relayer" + "github.com/cosmos/relayer/v2/relayer/provider" ) func TestRelayMsgs_IsMaxTx(t *testing.T) { diff --git a/relayer/strategies.go b/relayer/strategies.go index fd2856aad..705ebc274 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -8,14 +8,15 @@ import ( "sync" "time" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/avast/retry-go/v4" "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "go.uber.org/zap" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" penumbraprocessor "github.com/cosmos/relayer/v2/relayer/chains/penumbra" "github.com/cosmos/relayer/v2/relayer/processor" - "go.uber.org/zap" ) // ActiveChannel represents an IBC channel and whether there is an active goroutine relaying packets against it. @@ -48,7 +49,6 @@ func StartRelayer( initialBlockHistory uint64, metrics *processor.PrometheusMetrics, ) chan error { - //prevent incorrect bech32 address prefixed addresses when calling AccAddress.String() sdk.SetAddrCacheEnabled(false) errorChan := make(chan error, 1) @@ -118,15 +118,15 @@ type path struct { } // chainProcessor returns the corresponding ChainProcessor implementation instance for a pathChain. -func (chain *Chain) chainProcessor(log *zap.Logger, metrics *processor.PrometheusMetrics) processor.ChainProcessor { +func (c *Chain) chainProcessor(log *zap.Logger, metrics *processor.PrometheusMetrics) processor.ChainProcessor { // Handle new ChainProcessor implementations as cases here - switch p := chain.ChainProvider.(type) { + switch p := c.ChainProvider.(type) { case *penumbraprocessor.PenumbraProvider: return penumbraprocessor.NewPenumbraChainProcessor(log, p) case *cosmos.CosmosProvider: return cosmos.NewCosmosChainProcessor(log, p, metrics) default: - panic(fmt.Errorf("unsupported chain provider type: %T", chain.ChainProvider)) + panic(fmt.Errorf("unsupported chain provider type: %T", c.ChainProvider)) } } @@ -228,7 +228,6 @@ func relayerStartLegacy(ctx context.Context, log *zap.Logger, src, dst *Chain, f var channel *ActiveChannel select { case channel = <-channels: - break case <-ctx.Done(): wg.Wait() // Wait here for the running goroutines to finish errCh <- ctx.Err()