From 2bb9b952683dfd72492082feacd712bd64e90e8c Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 00:40:58 +0800 Subject: [PATCH 01/18] linter autofixes --- .golangci.yml | 135 ++++++++++++------ cmd/appstate.go | 2 +- cmd/config.go | 4 +- cmd/errors.go | 4 +- cmd/feegrant.go | 6 +- cmd/flags.go | 1 - cmd/query.go | 11 +- cmd/root.go | 2 +- cmd/tx.go | 2 - cregistry/chain_info.go | 1 - main.go | 2 +- relayer/chains/cosmos/codec.go | 1 - .../chains/cosmos/cosmos_chain_processor.go | 3 +- relayer/chains/cosmos/event_parser_test.go | 1 - relayer/chains/cosmos/feegrant.go | 48 +++---- relayer/chains/cosmos/grpc_query.go | 11 +- relayer/chains/cosmos/keys.go | 1 - relayer/chains/cosmos/keys/sr25519/algo.go | 8 +- relayer/chains/cosmos/keys/sr25519/privkey.go | 3 +- relayer/chains/cosmos/keys/sr25519/pubkey.go | 3 +- relayer/chains/cosmos/log.go | 3 +- relayer/chains/cosmos/message_handlers.go | 1 - relayer/chains/cosmos/module/app_module.go | 8 +- relayer/chains/cosmos/msg.go | 7 +- relayer/chains/cosmos/provider.go | 12 +- relayer/chains/cosmos/query.go | 1 - relayer/chains/cosmos/relayer_packets.go | 2 + relayer/chains/cosmos/stride/codec.go | 4 +- relayer/chains/cosmos/stride/module.go | 4 +- relayer/chains/cosmos/tx.go | 30 ++-- relayer/chains/mock/mock_chain_processor.go | 3 +- relayer/chains/penumbra/codec.go | 1 - relayer/chains/penumbra/grpc_query.go | 11 +- relayer/chains/penumbra/keys.go | 1 - relayer/chains/penumbra/log.go | 2 +- .../penumbra/penumbra_chain_processor.go | 1 - relayer/chains/penumbra/query.go | 3 +- relayer/chains/penumbra/relayer_packets.go | 2 + relayer/chains/penumbra/tx.go | 25 ++-- relayer/client.go | 4 +- relayer/codecs/ethermint/algorithm.go | 3 +- relayer/codecs/ethermint/chain_id.go | 1 + relayer/codecs/ethermint/codec.go | 1 + relayer/codecs/ethermint/eip712.go | 8 +- relayer/codecs/ethermint/encoding.go | 12 +- relayer/codecs/ethermint/ethsecp256k1.go | 7 +- relayer/codecs/injective/algorithm.go | 9 +- relayer/codecs/injective/params.go | 2 +- relayer/log-chain.go | 3 +- relayer/naive-strategy.go | 5 +- relayer/processor/chain_processor.go | 2 +- relayer/processor/message_processor.go | 10 +- relayer/processor/metrics.go | 2 +- relayer/processor/path_end_runtime.go | 3 +- relayer/processor/path_end_test.go | 3 +- relayer/processor/path_processor.go | 3 +- relayer/processor/path_processor_internal.go | 4 +- relayer/processor/types.go | 7 +- relayer/processor/types_internal.go | 33 +++-- relayer/processor/types_test.go | 3 +- relayer/provider/matcher.go | 5 +- relayer/provider/provider.go | 8 +- relayer/query_test.go | 3 +- relayer/strategies.go | 5 +- 64 files changed, 285 insertions(+), 231 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index b33694958..4c38ef6b5 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,61 +1,114 @@ +run: + tests: true + # # timeout for analysis, e.g. 30s, 5m, default is 1m + timeout: 5m + 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 + + 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: 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: defer + disabled: true + # Disabled in favour of unparam. + - name: unused-parameter + disabled: true + - name: unhandled-error + disabled: false + arguments: + - 'fmt.Printf' + - 'fmt.Print' + - 'fmt.Println' + - 'myFunction' diff --git a/cmd/appstate.go b/cmd/appstate.go index d6378bb8a..1eb7d4f63 100644 --- a/cmd/appstate.go +++ b/cmd/appstate.go @@ -212,7 +212,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/config.go b/cmd/config.go index 9888a4596..80ae95e4c 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -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 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..9cc3a40d2 100644 --- a/cmd/feegrant.go +++ b/cmd/feegrant.go @@ -88,7 +88,7 @@ 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,7 +119,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. if prov.PCfg.FeeGrants != nil { fmt.Printf("Querying latest chain height to mark FeeGrant height... \n") @@ -175,7 +175,7 @@ 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..1930185e1 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -5,7 +5,6 @@ import ( "time" "github.com/cosmos/relayer/v2/relayer" - "github.com/spf13/cobra" "github.com/spf13/viper" ) diff --git a/cmd/query.go b/cmd/query.go index 15ccd743a..60d3be8d4 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -428,7 +428,7 @@ $ %s query clients ibc-2 --offset 2 --limit 30`, } // TODO fix pagination - //pagereq, err := client.ReadPageRequest(cmd.Flags()) + // pagereq, err := client.ReadPageRequest(cmd.Flags()) //if err != nil { // return err //} @@ -474,7 +474,7 @@ $ %s q conns ibc-1`, } // TODO fix pagination - //pagereq, err := client.ReadPageRequest(cmd.Flags()) + // pagereq, err := client.ReadPageRequest(cmd.Flags()) //if err != nil { // return err //} @@ -512,7 +512,7 @@ $ %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 { @@ -620,7 +620,7 @@ $ %s query connection-channels ibc-2 ibcconnection2 --offset 2 --limit 30`, } // TODO fix pagination - //pagereq, err := client.ReadPageRequest(cmd.Flags()) + // pagereq, err := client.ReadPageRequest(cmd.Flags()) //if err != nil { // return err //} @@ -713,7 +713,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) diff --git a/cmd/root.go b/cmd/root.go index 1a6cfc3d3..59c115294 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: diff --git a/cmd/tx.go b/cmd/tx.go index de83c177e..7bb556a3c 100644 --- a/cmd/tx.go +++ b/cmd/tx.go @@ -424,7 +424,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) @@ -1052,7 +1051,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..62cd5c238 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -231,7 +231,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/main.go b/main.go index 958a04ad7..0d2accbf5 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,6 @@ func main() { } func init() { - //prevent incorrect bech32 address prefixed addresses when calling AccAddress.String() + sdk.SetAddrCacheEnabled(false) } diff --git a/relayer/chains/cosmos/codec.go b/relayer/chains/cosmos/codec.go index 0fcfbd389..4c8974664 100644 --- a/relayer/chains/cosmos/codec.go +++ b/relayer/chains/cosmos/codec.go @@ -26,7 +26,6 @@ import ( 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" ethermintcodecs "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index ad2d56c6c..6e646483e 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -8,6 +8,7 @@ import ( "time" "github.com/avast/retry-go/v4" + ctypes "github.com/cometbft/cometbft/rpc/core/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" @@ -15,8 +16,6 @@ import ( 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" ) diff --git a/relayer/chains/cosmos/event_parser_test.go b/relayer/chains/cosmos/event_parser_test.go index 95106356b..f29ff8057 100644 --- a/relayer/chains/cosmos/event_parser_test.go +++ b/relayer/chains/cosmos/event_parser_test.go @@ -218,7 +218,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..0d44c6433 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -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,15 +108,15 @@ 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()) { @@ -151,7 +151,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 +167,7 @@ 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,7 +182,7 @@ 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 { @@ -201,14 +201,14 @@ func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey str return } - //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 - //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 } @@ -251,7 +251,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+ if failedLookupGrantsByGranter { validGrants, err = cc.GetGranteeValidBasicGrants(grantee) @@ -299,7 +299,7 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* granterExists := cc.EnsureExists(cliCtx, granterAcc) == nil - //Feegranter exists on chain + if granterExists { txResp, err := cc.SubmitTxAwaitResponse(ctx, msgs, memo, 0, granterKey) if err != nil { @@ -354,7 +354,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 +393,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 +410,7 @@ 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 +420,25 @@ 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 + // 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 + 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 +446,9 @@ 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 +456,25 @@ 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 + // 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 + 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..d3b3a8ef4 100644 --- a/relayer/chains/cosmos/grpc_query.go +++ b/relayer/chains/cosmos/grpc_query.go @@ -9,6 +9,11 @@ import ( "time" abci "github.com/cometbft/cometbft/abci/types" + "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" gogogrpc "github.com/cosmos/gogoproto/grpc" "github.com/cosmos/relayer/v2/relayer/provider" "google.golang.org/grpc" @@ -17,12 +22,6 @@ import ( "google.golang.org/grpc/encoding/proto" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" - - "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" ) var _ gogogrpc.ClientConn = &CosmosProvider{} diff --git a/relayer/chains/cosmos/keys.go b/relayer/chains/cosmos/keys.go index 858f77505..b27e9f998 100644 --- a/relayer/chains/cosmos/keys.go +++ b/relayer/chains/cosmos/keys.go @@ -182,7 +182,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..b8add4a73 100644 --- a/relayer/chains/cosmos/keys/sr25519/algo.go +++ b/relayer/chains/cosmos/keys/sr25519/algo.go @@ -3,15 +3,15 @@ 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 { return hd.Sr25519Type @@ -38,7 +38,7 @@ func (s sr25519Algo) Derive() hd.DeriveFn { // Generate generates a sr25519 private key from the given bytes. func (s 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..24fc1f3b6 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 ( diff --git a/relayer/chains/cosmos/keys/sr25519/pubkey.go b/relayer/chains/cosmos/keys/sr25519/pubkey.go index 6325f9960..9102d9a81 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" diff --git a/relayer/chains/cosmos/log.go b/relayer/chains/cosmos/log.go index 22342e549..d5b9bff45 100644 --- a/relayer/chains/cosmos/log.go +++ b/relayer/chains/cosmos/log.go @@ -9,7 +9,6 @@ import ( 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" @@ -126,7 +125,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..c82d179b7 100644 --- a/relayer/chains/cosmos/message_handlers.go +++ b/relayer/chains/cosmos/message_handlers.go @@ -185,7 +185,6 @@ func (ccp *CosmosChainProcessor) logChannelMessage(message string, ci provider.C func (ccp *CosmosChainProcessor) logChannelOpenMessage(message string, 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/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..8f42f7456 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -11,9 +11,10 @@ import ( ) 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) + 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) } func NewCosmosMessage(msg sdk.Msg, optionalSetSigner func(string)) provider.RelayerMessage { diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index c33743faf..ed624e415 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -59,7 +59,7 @@ 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 +67,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 } @@ -131,7 +131,7 @@ type CosmosProvider struct { 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 diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index dfc040214..b40a4725b 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -317,7 +317,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) } diff --git a/relayer/chains/cosmos/relayer_packets.go b/relayer/chains/cosmos/relayer_packets.go index ad7779c6a..d951f842d 100644 --- a/relayer/chains/cosmos/relayer_packets.go +++ b/relayer/chains/cosmos/relayer_packets.go @@ -150,9 +150,11 @@ type relayMsgPacketAck struct { 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/module.go b/relayer/chains/cosmos/stride/module.go index b7a6ef61b..ff2bb26f2 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{} diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index a9da07179..34600737a 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -271,9 +271,9 @@ 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 +298,9 @@ 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 @@ -415,7 +415,7 @@ 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 +443,7 @@ 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 +453,7 @@ 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) } } @@ -527,11 +527,11 @@ 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 { @@ -542,7 +542,7 @@ 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 { @@ -559,7 +559,7 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( return } - //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 { @@ -617,7 +617,7 @@ func (cc *CosmosProvider) buildMessages( } } - //Cannot feegrant your own TX + if txSignerKey != feegranterKey && feegranterKey != "" { granterAddr, err := cc.GetKeyAddressForKey(feegranterKey) if err != nil { @@ -731,9 +731,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 diff --git a/relayer/chains/mock/mock_chain_processor.go b/relayer/chains/mock/mock_chain_processor.go index 85ec8e769..55adc5396 100644 --- a/relayer/chains/mock/mock_chain_processor.go +++ b/relayer/chains/mock/mock_chain_processor.go @@ -5,11 +5,10 @@ import ( "time" "github.com/cosmos/cosmos-sdk/crypto/hd" + 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/processor" "github.com/cosmos/relayer/v2/relayer/provider" - - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "go.uber.org/zap" ) diff --git a/relayer/chains/penumbra/codec.go b/relayer/chains/penumbra/codec.go index 2b7c00a8a..fea99b82a 100644 --- a/relayer/chains/penumbra/codec.go +++ b/relayer/chains/penumbra/codec.go @@ -25,7 +25,6 @@ import ( upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" "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" ethermintcodecs "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" diff --git a/relayer/chains/penumbra/grpc_query.go b/relayer/chains/penumbra/grpc_query.go index 70c375c81..1b959759a 100644 --- a/relayer/chains/penumbra/grpc_query.go +++ b/relayer/chains/penumbra/grpc_query.go @@ -9,6 +9,11 @@ import ( "time" abci "github.com/cometbft/cometbft/abci/types" + "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" gogogrpc "github.com/cosmos/gogoproto/grpc" "github.com/cosmos/relayer/v2/relayer/provider" "google.golang.org/grpc" @@ -17,12 +22,6 @@ import ( "google.golang.org/grpc/encoding/proto" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" - - "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" ) var _ gogogrpc.ClientConn = &PenumbraProvider{} diff --git a/relayer/chains/penumbra/keys.go b/relayer/chains/penumbra/keys.go index aa09fa7b1..18a3ffaa5 100644 --- a/relayer/chains/penumbra/keys.go +++ b/relayer/chains/penumbra/keys.go @@ -172,7 +172,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..65a9d8b26 100644 --- a/relayer/chains/penumbra/log.go +++ b/relayer/chains/penumbra/log.go @@ -114,7 +114,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/penumbra_chain_processor.go b/relayer/chains/penumbra/penumbra_chain_processor.go index 2f741d589..a3dfc5809 100644 --- a/relayer/chains/penumbra/penumbra_chain_processor.go +++ b/relayer/chains/penumbra/penumbra_chain_processor.go @@ -14,7 +14,6 @@ import ( 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" ) diff --git a/relayer/chains/penumbra/query.go b/relayer/chains/penumbra/query.go index ce1f08ed6..95f5cc689 100644 --- a/relayer/chains/penumbra/query.go +++ b/relayer/chains/penumbra/query.go @@ -531,7 +531,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, @@ -1003,6 +1002,6 @@ func (cc *PenumbraProvider) QueryStatus(ctx context.Context) (*coretypes.ResultS } func (cc *PenumbraProvider) QueryICQWithProof(ctx context.Context, msgType string, request []byte, height uint64) (provider.ICQProof, error) { - //TODO implement me + panic("implement me") } diff --git a/relayer/chains/penumbra/relayer_packets.go b/relayer/chains/penumbra/relayer_packets.go index 7e5057037..65bf4bc0d 100644 --- a/relayer/chains/penumbra/relayer_packets.go +++ b/relayer/chains/penumbra/relayer_packets.go @@ -175,9 +175,11 @@ type relayMsgPacketAck struct { 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/penumbra/tx.go b/relayer/chains/penumbra/tx.go index dd90ac098..57ee85801 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -302,11 +302,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 @@ -913,9 +911,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 @@ -1760,13 +1760,17 @@ func (cc *PenumbraProvider) AcknowledgementFromSequence(ctx context.Context, dst } 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)} + 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 +1787,6 @@ EventLoop: } for attributeKey, attributeValue := range event.Attributes { - switch attributeKey { case srcChanTag: if attributeValue != srcChanId { @@ -2292,7 +2295,7 @@ func (cc *PenumbraProvider) mkTxResult(resTx *coretypes.ResultTx) (*sdk.TxRespon } func (cc *PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { - //TODO implement me + panic("implement me") } @@ -2304,6 +2307,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 + panic("implement me") } diff --git a/relayer/client.go b/relayer/client.go index 2330b262b..4e750587b 100644 --- a/relayer/client.go +++ b/relayer/client.go @@ -102,7 +102,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 +492,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..0ffa0a805 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" 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..a8ae6e507 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 diff --git a/relayer/codecs/ethermint/ethsecp256k1.go b/relayer/codecs/ethermint/ethsecp256k1.go index 22dbbb68f..5cfb8c95e 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 ( diff --git a/relayer/codecs/injective/algorithm.go b/relayer/codecs/injective/algorithm.go index 187a387f6..6c557d95a 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,8 +43,7 @@ var ( EthSecp256k1 = ethSecp256k1Algo{} ) -type ethSecp256k1Algo struct { -} +type ethSecp256k1Algo struct{} // Name returns eth_secp256k1 func (s ethSecp256k1Algo) Name() hd.PubKeyType { @@ -92,7 +91,7 @@ func (s ethSecp256k1Algo) Derive() hd.DeriveFn { // Generate generates a secp256k1 private key from the given bytes. func (s 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/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/log-chain.go b/relayer/log-chain.go index 752d945b4..b884cb4fa 100644 --- a/relayer/log-chain.go +++ b/relayer/log-chain.go @@ -3,11 +3,10 @@ package relayer import ( "fmt" + 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" - - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ) 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..12daf62bd 100644 --- a/relayer/naive-strategy.go +++ b/relayer/naive-strategy.go @@ -113,9 +113,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 +540,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/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..9c544a580 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. @@ -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_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..d8a8e2016 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 @@ -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..0ebdd2c8b 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,9 +15,7 @@ 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. 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..a051cd880 100644 --- a/relayer/processor/types_test.go +++ b/relayer/processor/types_test.go @@ -4,8 +4,9 @@ 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{} diff --git a/relayer/provider/matcher.go b/relayer/provider/matcher.go index 72088b0d3..d8bcc797a 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() diff --git a/relayer/provider/provider.go b/relayer/provider/provider.go index 34cee434d..44c63c799 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 diff --git a/relayer/query_test.go b/relayer/query_test.go index 39dc837b7..de7d6d6b9 100644 --- a/relayer/query_test.go +++ b/relayer/query_test.go @@ -4,10 +4,9 @@ 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/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/stretchr/testify/require" ) diff --git a/relayer/strategies.go b/relayer/strategies.go index fd2856aad..ef48bf4e3 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -8,9 +8,8 @@ import ( "sync" "time" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/avast/retry-go/v4" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" penumbraprocessor "github.com/cosmos/relayer/v2/relayer/chains/penumbra" @@ -48,7 +47,7 @@ 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) From da0922cc8469566f222ecb3c6990afdaa9808ae2 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 00:41:30 +0800 Subject: [PATCH 02/18] second round of linter autofixes --- cmd/appstate.go | 3 +- cmd/chains.go | 7 ++- cmd/chains_test.go | 3 +- cmd/config.go | 7 ++- cmd/feegrant.go | 8 +-- cmd/flags.go | 3 +- cmd/flags_test.go | 3 +- cmd/keys.go | 6 +- cmd/keys_test.go | 4 +- cmd/paths.go | 5 +- cmd/query.go | 14 ++--- cmd/start.go | 5 +- cmd/tx.go | 8 ++- cregistry/chain_info.go | 5 +- internal/relayertest/system.go | 3 +- main.go | 2 +- relayer/chain.go | 6 +- relayer/chains/cosmos/account.go | 5 +- relayer/chains/cosmos/codec.go | 8 ++- .../chains/cosmos/cosmos_chain_processor.go | 11 ++-- relayer/chains/cosmos/event_parser.go | 11 ++-- relayer/chains/cosmos/event_parser_test.go | 9 ++- relayer/chains/cosmos/feegrant.go | 27 +-------- relayer/chains/cosmos/grpc_query.go | 17 +++--- relayer/chains/cosmos/keys.go | 4 +- relayer/chains/cosmos/keys_test.go | 5 +- relayer/chains/cosmos/log.go | 10 ++-- relayer/chains/cosmos/message_handlers.go | 5 +- .../chains/cosmos/message_handlers_test.go | 5 +- relayer/chains/cosmos/msg.go | 8 ++- relayer/chains/cosmos/provider.go | 20 +++---- relayer/chains/cosmos/query.go | 31 +++++----- relayer/chains/cosmos/relayer_packets.go | 1 + relayer/chains/cosmos/tx.go | 56 ++++++++----------- relayer/chains/cosmos/tx_test.go | 4 +- relayer/chains/mock/message_handlers.go | 3 +- relayer/chains/mock/mock_chain_processor.go | 6 +- .../chains/mock/mock_chain_processor_test.go | 7 ++- relayer/chains/penumbra/codec.go | 6 +- relayer/chains/penumbra/event_parser.go | 11 ++-- relayer/chains/penumbra/grpc_query.go | 17 +++--- relayer/chains/penumbra/keys.go | 4 +- relayer/chains/penumbra/log.go | 10 ++-- relayer/chains/penumbra/message_handlers.go | 5 +- relayer/chains/penumbra/msg.go | 8 ++- .../penumbra/penumbra_chain_processor.go | 10 ++-- relayer/chains/penumbra/provider.go | 21 ++++--- relayer/chains/penumbra/query.go | 26 +++++---- relayer/chains/penumbra/relayer_packets.go | 1 + relayer/chains/penumbra/tx.go | 33 +++++------ relayer/channel.go | 3 +- relayer/client.go | 6 +- relayer/connection.go | 3 +- relayer/events.go | 1 + relayer/log-chain.go | 3 +- relayer/naive-strategy.go | 3 +- relayer/packet-tx.go | 6 +- relayer/path.go | 3 +- relayer/query.go | 6 +- relayer/query_test.go | 3 +- relayer/relayMsgs.go | 3 +- relayer/relaymsgs_test.go | 5 +- relayer/strategies.go | 7 ++- 63 files changed, 303 insertions(+), 246 deletions(-) diff --git a/cmd/appstate.go b/cmd/appstate.go index 1eb7d4f63..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. 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..aec0e2820 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) { diff --git a/cmd/config.go b/cmd/config.go index 80ae95e4c..f4a5f37f8 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -30,13 +30,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 { diff --git a/cmd/feegrant.go b/cmd/feegrant.go index 9cc3a40d2..26a30c327 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 @@ -88,7 +89,6 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { if prov.PCfg.FeeGrants == nil || updateGrantees || len(grantees) > 0 { var feegrantErr error - if grantees == nil { feegrantErr = prov.ConfigureFeegrants(numGrantees, granterKey) } else { @@ -119,8 +119,7 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { return fmt.Errorf("error writing grants on chain: '%s'", err.Error()) } - - //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) @@ -175,7 +174,6 @@ func feegrantBasicGrantsCmd(a *appState) *cobra.Command { // return err // } - // height, err := lensCmd.ReadHeight(cmd.Flags()) // if err != nil { // return err diff --git a/cmd/flags.go b/cmd/flags.go index 1930185e1..a12a19bc4 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -4,9 +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 ( 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 60d3be8d4..cb957af2f 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -7,12 +7,14 @@ import ( "strings" "sync" + 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 @@ -429,7 +431,7 @@ $ %s query clients ibc-2 --offset 2 --limit 30`, // TODO fix pagination // pagereq, err := client.ReadPageRequest(cmd.Flags()) - //if err != nil { + // if err != nil { // return err //} @@ -475,7 +477,7 @@ $ %s q conns ibc-1`, // TODO fix pagination // pagereq, err := client.ReadPageRequest(cmd.Flags()) - //if err != nil { + // if err != nil { // return err //} @@ -512,8 +514,6 @@ $ %s query client-connections ibc-0 ibczeroclient --height 1205`, appName, appName, )), RunE: func(cmd *cobra.Command, args []string) error { - - chain, ok := a.config.Chains[args[0]] if !ok { return errChainNotFound(args[0]) @@ -621,7 +621,7 @@ $ %s query connection-channels ibc-2 ibcconnection2 --offset 2 --limit 30`, // TODO fix pagination // pagereq, err := client.ReadPageRequest(cmd.Flags()) - //if err != nil { + // if err != nil { // return err //} 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 7bb556a3c..5f8ac150d 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 diff --git a/cregistry/chain_info.go b/cregistry/chain_info.go index 62cd5c238..e7d12fcc1 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. 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 0d2accbf5..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() { - sdk.SetAddrCacheEnabled(false) } 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 4c8974664..865bcff39 100644 --- a/relayer/chains/cosmos/codec.go +++ b/relayer/chains/cosmos/codec.go @@ -1,6 +1,10 @@ package cosmos import ( + 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" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" @@ -23,9 +27,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking" "github.com/cosmos/cosmos-sdk/x/upgrade" upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" - 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" ethermintcodecs "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index 6e646483e..74606dc7e 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -8,16 +8,19 @@ import ( "time" "github.com/avast/retry-go/v4" - ctypes "github.com/cometbft/cometbft/rpc/core/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" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/processor" - "github.com/cosmos/relayer/v2/relayer/provider" "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 { diff --git a/relayer/chains/cosmos/event_parser.go b/relayer/chains/cosmos/event_parser.go index 38ef47288..4d901180e 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 diff --git a/relayer/chains/cosmos/event_parser_test.go b/relayer/chains/cosmos/event_parser_test.go index f29ff8057..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) { diff --git a/relayer/chains/cosmos/feegrant.go b/relayer/chains/cosmos/feegrant.go index 0d44c6433..956f0e430 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -108,15 +108,11 @@ 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 { - if a.Expiration != nil && time.Now().After(*a.Expiration) { return false } - valid := true - - if a.SpendLimit != nil { for _, coin := range a.SpendLimit { if coin.Amount.LTE(types.ZeroInt()) { @@ -167,7 +163,6 @@ func (fg *FeeGrantConfiguration) AddGranteeKeys(cc *CosmosProvider) error { newGranteeIdx := strconv.Itoa(len(fg.ManagedGrantees) + 1) newGrantee := "grantee" + newGranteeIdx - _, err := cc.AddKey(newGrantee, sdk.CoinType, string(hd.Secp256k1Type)) if err != nil { return err @@ -182,7 +177,6 @@ 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) { - txSignerKey = cc.PCfg.Key if cc.PCfg.FeeGrants == nil { @@ -201,14 +195,12 @@ func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey str return } - 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 - if cc.PCfg.FeeGrants.GranteeLastSignerIndex == len(cc.PCfg.FeeGrants.ManagedGrantees) { cc.PCfg.FeeGrants.GranteeLastSignerIndex = 0 } @@ -251,8 +243,7 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* for _, grantee := range cc.PCfg.FeeGrants.ManagedGrantees { - - //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 { @@ -298,8 +289,6 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* WithFromAddress(granterAcc) granterExists := cc.EnsureExists(cliCtx, granterAcc) == nil - - if granterExists { txResp, err := cc.SubmitTxAwaitResponse(ctx, msgs, memo, 0, granterKey) if err != nil { @@ -410,7 +399,6 @@ func (cc *CosmosProvider) GrantAllGranteesBasicAllowanceWithExpiration(ctx conte } func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.AccAddress, grantee sdk.AccAddress, expiration time.Time) (sdk.Msg, error) { - feeGrantBasic := &feegrant.BasicAllowance{ Expiration: &expiration, } @@ -421,24 +409,20 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.Ac } // 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 + // 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 } - granteeAddr, granteeAddrErr := cc.EncodeBech32AccAddr(grantee) if granteeAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granteeAddrErr.Error()) return nil, granteeAddrErr } - msgGrantAllowance.Grantee = granteeAddr msgGrantAllowance.Granter = granterAddr @@ -446,7 +430,6 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.Ac } func (cc *CosmosProvider) getMsgGrantBasicAllowance(granter sdk.AccAddress, grantee sdk.AccAddress) (sdk.Msg, error) { - feeGrantBasic := &feegrant.BasicAllowance{ // Expiration: &thirtyMin, } @@ -457,24 +440,20 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowance(granter sdk.AccAddress, gran } // 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 + // 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 } - granteeAddr, granteeAddrErr := cc.EncodeBech32AccAddr(grantee) if granteeAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granteeAddrErr.Error()) return nil, granteeAddrErr } - msgGrantAllowance.Grantee = granteeAddr msgGrantAllowance.Granter = granterAddr diff --git a/relayer/chains/cosmos/grpc_query.go b/relayer/chains/cosmos/grpc_query.go index d3b3a8ef4..05698eebe 100644 --- a/relayer/chains/cosmos/grpc_query.go +++ b/relayer/chains/cosmos/grpc_query.go @@ -8,20 +8,23 @@ import ( "sync" "time" - abci "github.com/cometbft/cometbft/abci/types" - "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" 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" "google.golang.org/grpc/encoding/proto" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" + + "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{} diff --git a/relayer/chains/cosmos/keys.go b/relayer/chains/cosmos/keys.go index b27e9f998..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" diff --git a/relayer/chains/cosmos/keys_test.go b/relayer/chains/cosmos/keys_test.go index 987931041..700a45adc 100644 --- a/relayer/chains/cosmos/keys_test.go +++ b/relayer/chains/cosmos/keys_test.go @@ -4,10 +4,11 @@ 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 { diff --git a/relayer/chains/cosmos/log.go b/relayer/chains/cosmos/log.go index d5b9bff45..b4bcb4f1f 100644 --- a/relayer/chains/cosmos/log.go +++ b/relayer/chains/cosmos/log.go @@ -4,16 +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 diff --git a/relayer/chains/cosmos/message_handlers.go b/relayer/chains/cosmos/message_handlers.go index c82d179b7..b78a653db 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) { 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/msg.go b/relayer/chains/cosmos/msg.go index 8f42f7456..602901f25 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -3,16 +3,18 @@ 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) } diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index ed624e415..a1f10a3e2 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"` - FeeGrants *FeeGrantConfiguration `json:"feegrants" yaml:"feegrants"` } @@ -130,8 +132,6 @@ type CosmosProvider struct { Output io.Writer Cdc Codec // TODO: GRPC Client type? - - feegrantMu sync.Mutex // the map key is the TX signer, which can either be 'default' (provider key) or a feegrantee diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index b40a4725b..f809cc3c4 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -11,9 +11,18 @@ import ( "sync" "time" - abci "github.com/cometbft/cometbft/abci/types" - coretypes "github.com/cometbft/cometbft/rpc/core/types" - tmtypes "github.com/cometbft/cometbft/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" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" + 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" + "go.uber.org/zap" + "golang.org/x/sync/errgroup" + "google.golang.org/grpc/metadata" + "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -25,18 +34,12 @@ import ( "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" - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" - 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" + + 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" - "go.uber.org/zap" - "golang.org/x/sync/errgroup" - "google.golang.org/grpc/metadata" ) const PaginationDelay = 10 * time.Millisecond diff --git a/relayer/chains/cosmos/relayer_packets.go b/relayer/chains/cosmos/relayer_packets.go index d951f842d..c59e6c309 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" ) diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index 34600737a..5959b950a 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -14,12 +14,20 @@ 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" + 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" + conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" + 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" + localhost "github.com/cosmos/ibc-go/v7/modules/light-clients/09-localhost" + "go.uber.org/zap" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/tx" "github.com/cosmos/cosmos-sdk/codec/types" @@ -31,22 +39,17 @@ import ( 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" - conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" - 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" - localhost "github.com/cosmos/ibc-go/v7/modules/light-clients/09-localhost" + + 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" - "go.uber.org/zap" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" ) // Variables used for retries @@ -271,9 +274,7 @@ func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo adjusted = uint64(float64(adjusted) * cc.PCfg.GasAdjustment) } - if signingKey != feegranterKey && feegranterKey != "" { - txf = txf.WithFeeGranter(feegrantKeyAcc) } @@ -298,7 +299,6 @@ func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo } err = func() error { - // ensure that we allways call done, even in case of an error or panic // defer done() @@ -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 { - cb(nil, err) } } @@ -443,7 +442,6 @@ func (cc *CosmosProvider) waitForTx( } if len(callbacks) > 0 { for _, cb := range callbacks { - cb(nil, err) } } @@ -453,7 +451,6 @@ func (cc *CosmosProvider) waitForTx( if len(callbacks) > 0 { for _, cb := range callbacks { - cb(rlyResp, nil) } } @@ -527,11 +524,8 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( feegranterKey string, err error, ) { - cc.feegrantMu.Lock() defer cc.feegrantMu.Unlock() - - isFeegrantEligible := cc.PCfg.FeeGrants != nil for _, curr := range msgs { @@ -541,8 +535,6 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( } } } - - txSignerKey = cc.PCfg.Key if isFeegrantEligible { @@ -558,8 +550,6 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( err = encodeErr return } - - for _, curr := range msgs { if cMsg, ok := curr.(CosmosMessage); ok { if cMsg.SetSigner != nil { @@ -616,8 +606,6 @@ func (cc *CosmosProvider) buildMessages( return nil, 0, sdk.Coins{}, err } } - - if txSignerKey != feegranterKey && feegranterKey != "" { granterAddr, err := cc.GetKeyAddressForKey(feegranterKey) if err != nil { diff --git a/relayer/chains/cosmos/tx_test.go b/relayer/chains/cosmos/tx_test.go index 25bb02dd2..6d7d4ad56 100644 --- a/relayer/chains/cosmos/tx_test.go +++ b/relayer/chains/cosmos/tx_test.go @@ -5,14 +5,16 @@ import ( "math" "testing" + "github.com/stretchr/testify/require" + "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 { 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 55adc5396..e3639962c 100644 --- a/relayer/chains/mock/mock_chain_processor.go +++ b/relayer/chains/mock/mock_chain_processor.go @@ -4,12 +4,14 @@ import ( "context" "time" - "github.com/cosmos/cosmos-sdk/crypto/hd" 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" - "go.uber.org/zap" ) const ( 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 fea99b82a..73210a849 100644 --- a/relayer/chains/penumbra/codec.go +++ b/relayer/chains/penumbra/codec.go @@ -1,6 +1,9 @@ package penumbra import ( + "github.com/cosmos/ibc-go/v7/modules/apps/transfer" + ibc "github.com/cosmos/ibc-go/v7/modules/core" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" @@ -23,8 +26,7 @@ import ( "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/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" ethermintcodecs "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" diff --git a/relayer/chains/penumbra/event_parser.go b/relayer/chains/penumbra/event_parser.go index 319a8157b..4d0fc50b1 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 diff --git a/relayer/chains/penumbra/grpc_query.go b/relayer/chains/penumbra/grpc_query.go index 1b959759a..4736fbe25 100644 --- a/relayer/chains/penumbra/grpc_query.go +++ b/relayer/chains/penumbra/grpc_query.go @@ -8,20 +8,23 @@ import ( "sync" "time" - abci "github.com/cometbft/cometbft/abci/types" - "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" 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" "google.golang.org/grpc/encoding/proto" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" + + "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{} diff --git a/relayer/chains/penumbra/keys.go b/relayer/chains/penumbra/keys.go index 18a3ffaa5..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" diff --git a/relayer/chains/penumbra/log.go b/relayer/chains/penumbra/log.go index 65a9d8b26..062f14988 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 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..12c047ef7 100644 --- a/relayer/chains/penumbra/msg.go +++ b/relayer/chains/penumbra/msg.go @@ -3,13 +3,15 @@ package penumbra import ( "fmt" - "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" + "go.uber.org/zap/zapcore" + + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap/zapcore" ) type PenumbraMessage struct { diff --git a/relayer/chains/penumbra/penumbra_chain_processor.go b/relayer/chains/penumbra/penumbra_chain_processor.go index a3dfc5809..1863907cf 100644 --- a/relayer/chains/penumbra/penumbra_chain_processor.go +++ b/relayer/chains/penumbra/penumbra_chain_processor.go @@ -7,15 +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 diff --git a/relayer/chains/penumbra/provider.go b/relayer/chains/penumbra/provider.go index 92918b3d0..6833793d2 100644 --- a/relayer/chains/penumbra/provider.go +++ b/relayer/chains/penumbra/provider.go @@ -8,6 +8,17 @@ 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" @@ -15,17 +26,9 @@ import ( 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 ( diff --git a/relayer/chains/penumbra/query.go b/relayer/chains/penumbra/query.go index 95f5cc689..92dd816ba 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,22 @@ 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" + + "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" + + 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{} @@ -1002,6 +1005,5 @@ func (cc *PenumbraProvider) QueryStatus(ctx context.Context) (*coretypes.ResultS } func (cc *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 65bf4bc0d..59e3de910 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" ) diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index 57ee85801..081eba091 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -12,17 +12,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" - 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 +22,28 @@ 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" + + 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" + + 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 @@ -2295,7 +2298,6 @@ func (cc *PenumbraProvider) mkTxResult(resTx *coretypes.ResultTx) (*sdk.TxRespon } func (cc *PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { - panic("implement me") } @@ -2307,6 +2309,5 @@ 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) { - panic("implement me") } 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 4e750587b..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. 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 b884cb4fa..7cbd76c1c 100644 --- a/relayer/log-chain.go +++ b/relayer/log-chain.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/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/provider" - "go.uber.org/zap" ) 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 12daf62bd..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 diff --git a/relayer/packet-tx.go b/relayer/packet-tx.go index 1cb38c7b3..54f341430 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 diff --git a/relayer/path.go b/relayer/path.go index 228544c4b..4dc0b9513 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 ( diff --git a/relayer/query.go b/relayer/query.go index 08b2ec1b0..7c52b67fa 100644 --- a/relayer/query.go +++ b/relayer/query.go @@ -7,12 +7,14 @@ 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" + + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cosmos/relayer/v2/relayer/provider" ) // QueryLatestHeights queries the heights of multiple chains at once diff --git a/relayer/query_test.go b/relayer/query_test.go index de7d6d6b9..5030a7489 100644 --- a/relayer/query_test.go +++ b/relayer/query_test.go @@ -6,8 +6,9 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/stretchr/testify/require" + + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" ) func TestSPrintClientExpiration_PrintChainId(t *testing.T) { 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 ef48bf4e3..c033b50fc 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -9,12 +9,14 @@ import ( "time" "github.com/avast/retry-go/v4" - sdk "github.com/cosmos/cosmos-sdk/types" "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. @@ -47,7 +49,6 @@ func StartRelayer( initialBlockHistory uint64, metrics *processor.PrometheusMetrics, ) chan error { - sdk.SetAddrCacheEnabled(false) errorChan := make(chan error, 1) From 9b81ec1a967ced0a7dcb3ffb6c2e8a729af4306f Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 00:42:00 +0800 Subject: [PATCH 03/18] address spacing and SetSigner --- relayer/chains/cosmos/msg.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/relayer/chains/cosmos/msg.go b/relayer/chains/cosmos/msg.go index 602901f25..56a121ca9 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -13,10 +13,9 @@ import ( ) type CosmosMessage struct { - Msg sdk.Msg - - - FeegrantDisabled bool // marks whether this message type should ALWAYS disable feegranting (use the default signer) + 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) } func NewCosmosMessage(msg sdk.Msg, optionalSetSigner func(string)) provider.RelayerMessage { From f281154ca4158c51aa571a844d53b22a4e54ba76 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 00:49:30 +0800 Subject: [PATCH 04/18] linter autofixes mark 3 --- .golangci.yml | 4 +++- cmd/flags.go | 6 +++--- cregistry/chain_info.go | 2 +- relayer/chains/cosmos/feegrant.go | 10 +++++----- relayer/chains/cosmos/msg.go | 2 +- relayer/chains/cosmos/provider.go | 2 +- relayer/chains/cosmos/tx.go | 6 +++--- relayer/path.go | 2 +- relayer/processor/path_processor_internal.go | 6 +++--- relayer/query.go | 6 +++--- 10 files changed, 24 insertions(+), 22 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 4c38ef6b5..9daa6a1e1 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -106,9 +106,11 @@ linters-settings: - name: unused-parameter disabled: true - name: unhandled-error - disabled: false + disabled: true arguments: - 'fmt.Printf' - 'fmt.Print' - 'fmt.Println' - 'myFunction' + - name: nested-structs + disabled: true diff --git a/cmd/flags.go b/cmd/flags.go index a12a19bc4..00ea3de75 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -240,19 +240,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/cregistry/chain_info.go b/cregistry/chain_info.go index e7d12fcc1..da089e4d4 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -122,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. diff --git a/relayer/chains/cosmos/feegrant.go b/relayer/chains/cosmos/feegrant.go index 956f0e430..851797051 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -181,7 +181,7 @@ func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey str 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. @@ -192,7 +192,7 @@ 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 } lastGranteeIdx := cc.PCfg.FeeGrants.GranteeLastSignerIndex @@ -206,7 +206,7 @@ func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey str } } - return + return txSignerKey, feeGranterKey } // Ensure all Basic Allowance grants are in place for the given ChainClient. @@ -410,7 +410,7 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.Ac // 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. + // 'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. granterAddr, granterAddrErr := cc.EncodeBech32AccAddr(granter) if granterAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granterAddrErr.Error()) @@ -441,7 +441,7 @@ func (cc *CosmosProvider) getMsgGrantBasicAllowance(granter sdk.AccAddress, gran // 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. + // 'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. granterAddr, granterAddrErr := cc.EncodeBech32AccAddr(granter) if granterAddrErr != nil { fmt.Printf("EncodeBech32AccAddr: %s", granterAddrErr.Error()) diff --git a/relayer/chains/cosmos/msg.go b/relayer/chains/cosmos/msg.go index 56a121ca9..20af3c40a 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -14,7 +14,7 @@ import ( type CosmosMessage struct { Msg sdk.Msg - SetSigner func(string) //callback to update the Msg Signer field + 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) } diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index a1f10a3e2..7cb968d42 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -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) { diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index 5959b950a..9000acbfb 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -542,13 +542,13 @@ 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 } for _, curr := range msgs { if cMsg, ok := curr.(CosmosMessage); ok { @@ -559,7 +559,7 @@ func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( } } - return + return txSignerKey, feegranterKey, nil } func (cc *CosmosProvider) buildMessages( diff --git a/relayer/path.go b/relayer/path.go index 4dc0b9513..4ab478c91 100644 --- a/relayer/path.go +++ b/relayer/path.go @@ -36,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/path_processor_internal.go b/relayer/processor/path_processor_internal.go index d8a8e2016..abd8badf8 100644 --- a/relayer/processor/path_processor_internal.go +++ b/relayer/processor/path_processor_internal.go @@ -32,7 +32,7 @@ func (pp *PathProcessor) getMessagesToSend( src, dst *pathEndRuntime, ) (srcMsgs []packetIBCMessage, dstMsgs []packetIBCMessage) { if len(msgs) == 0 { - return + return srcMsgs, dstMsgs } ordered := false @@ -63,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: @@ -75,7 +75,7 @@ func (pp *PathProcessor) getMessagesToSend( zap.String("port_id", srcPort), zap.Error(err), ) - return + return srcMsgs, dstMsgs } lowestSeq[chantypes.EventTypeAcknowledgePacket] = res.NextSequenceReceive } diff --git a/relayer/query.go b/relayer/query.go index 7c52b67fa..9796e9059 100644 --- a/relayer/query.go +++ b/relayer/query.go @@ -31,7 +31,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 @@ -210,7 +210,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) { @@ -226,7 +226,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 From 721e75d2ca0bd53f193d2c65b828751d6b9b0718 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 00:58:29 +0800 Subject: [PATCH 05/18] unnecessary conversions --- go.mod | 2 +- relayer/chains/cosmos/query.go | 2 +- relayer/chains/cosmos/stride/messages.go | 6 ++++-- relayer/chains/penumbra/query.go | 23 ++++++++++++----------- relayer/chains/penumbra/tx.go | 4 ++-- relayer/processor/message_processor.go | 2 +- relayer/query_test.go | 20 ++++++++++---------- 7 files changed, 31 insertions(+), 28 deletions(-) diff --git a/go.mod b/go.mod index a25a99b52..285c08fa0 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.20 require ( cosmossdk.io/api v0.3.1 cosmossdk.io/errors v1.0.0-beta.7 - cosmossdk.io/math v1.0.1 + cosmossdk.io/math v1.1.2 github.com/avast/retry-go/v4 v4.3.2 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index f809cc3c4..4d8e31b22 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -180,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, diff --git a/relayer/chains/cosmos/stride/messages.go b/relayer/chains/cosmos/stride/messages.go index 29bdf5ed7..e36cd9918 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" ) @@ -29,11 +31,11 @@ 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/penumbra/query.go b/relayer/chains/penumbra/query.go index 92dd816ba..f562b24db 100644 --- a/relayer/chains/penumbra/query.go +++ b/relayer/chains/penumbra/query.go @@ -20,9 +20,10 @@ import ( "go.uber.org/zap" "golang.org/x/sync/errgroup" + errorsmod "cosmossdk.io/errors" + "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" @@ -103,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, @@ -216,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) @@ -266,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) @@ -450,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) @@ -567,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) @@ -692,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) @@ -715,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) @@ -738,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{ @@ -758,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{ @@ -879,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 diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index 081eba091..d5e12660d 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -289,11 +289,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 } diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index 9c544a580..e77598d0d 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -150,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 { diff --git a/relayer/query_test.go b/relayer/query_test.go index 5030a7489..a3916ca64 100644 --- a/relayer/query_test.go +++ b/relayer/query_test.go @@ -14,7 +14,7 @@ import ( 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) @@ -138,7 +138,7 @@ func mockClientStateInfo(chainID string, trustingPeriod time.Duration, latestHei mockHeight := clienttypes.NewHeight(1, 100) return &ClientStateInfo{ ChainID: chainID, - TrustingPeriod: time.Duration(1 * time.Hour), + TrustingPeriod: 1 * time.Hour, LatestHeight: mockHeight, } } From bbcf1de9956b80ab8babc9317972d1da74a0dc65 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 01:12:21 +0800 Subject: [PATCH 06/18] unused-reciever, unused --- cmd/config.go | 4 ++-- cmd/flags.go | 4 ---- cmd/query.go | 3 ++- cregistry/chain_info.go | 2 +- cregistry/cosmos_github_registry.go | 4 ++-- relayer/chains/cosmos/event_parser.go | 20 -------------------- relayer/chains/cosmos/grpc_query.go | 2 +- relayer/chains/cosmos/keys/sr25519/algo.go | 6 +++--- relayer/chains/cosmos/keys/sr25519/pubkey.go | 2 +- relayer/chains/cosmos/provider.go | 8 ++++---- relayer/chains/cosmos/stride/messages.go | 4 ++-- relayer/chains/cosmos/stride/module.go | 4 ++-- relayer/chains/cosmos/tx.go | 10 +++++----- relayer/chains/penumbra/grpc_query.go | 2 +- relayer/chains/penumbra/provider.go | 8 ++++---- relayer/chains/penumbra/query.go | 4 ++-- relayer/chains/penumbra/tx.go | 15 ++++++--------- relayer/codecs/ethermint/algorithm.go | 6 +++--- relayer/codecs/ethermint/ethsecp256k1.go | 4 ++-- relayer/codecs/injective/algorithm.go | 6 +++--- relayer/codecs/injective/ethsecp256k1.go | 4 ++-- relayer/processor/path_end.go | 2 +- relayer/processor/path_processor_internal.go | 14 +++++++------- relayer/processor/types.go | 10 ++++------ relayer/processor/types_test.go | 6 +++--- relayer/strategies.go | 1 - 26 files changed, 63 insertions(+), 92 deletions(-) diff --git a/cmd/config.go b/cmd/config.go index f4a5f37f8..da47807d9 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -649,7 +649,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 } @@ -663,7 +663,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/flags.go b/cmd/flags.go index 00ea3de75..a73276aa7 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -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" ) diff --git a/cmd/query.go b/cmd/query.go index cb957af2f..234b17806 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -433,7 +433,7 @@ $ %s query clients ibc-2 --offset 2 --limit 30`, // pagereq, err := client.ReadPageRequest(cmd.Flags()) // if err != nil { // return err - //} + // } res, err := chain.ChainProvider.QueryClients(cmd.Context()) if err != nil { @@ -441,6 +441,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) diff --git a/cregistry/chain_info.go b/cregistry/chain_info.go index da089e4d4..b7f20c994 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -207,7 +207,7 @@ 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) { +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) res, err := http.Get(chainRegURL) diff --git a/cregistry/cosmos_github_registry.go b/cregistry/cosmos_github_registry.go index 8970b90ff..ac1bc4661 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 @@ -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/relayer/chains/cosmos/event_parser.go b/relayer/chains/cosmos/event_parser.go index 4d901180e..04923d232 100644 --- a/relayer/chains/cosmos/event_parser.go +++ b/relayer/chains/cosmos/event_parser.go @@ -146,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 diff --git a/relayer/chains/cosmos/grpc_query.go b/relayer/chains/cosmos/grpc_query.go index 05698eebe..38b33e3ff 100644 --- a/relayer/chains/cosmos/grpc_query.go +++ b/relayer/chains/cosmos/grpc_query.go @@ -88,7 +88,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") } diff --git a/relayer/chains/cosmos/keys/sr25519/algo.go b/relayer/chains/cosmos/keys/sr25519/algo.go index b8add4a73..e1580966f 100644 --- a/relayer/chains/cosmos/keys/sr25519/algo.go +++ b/relayer/chains/cosmos/keys/sr25519/algo.go @@ -13,12 +13,12 @@ var Sr25519 = sr25519Algo{} 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,7 +36,7 @@ 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 { bzArr := make([]byte, 32) copy(bzArr, bz) diff --git a/relayer/chains/cosmos/keys/sr25519/pubkey.go b/relayer/chains/cosmos/keys/sr25519/pubkey.go index 9102d9a81..2d49b26bb 100644 --- a/relayer/chains/cosmos/keys/sr25519/pubkey.go +++ b/relayer/chains/cosmos/keys/sr25519/pubkey.go @@ -30,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/provider.go b/relayer/chains/cosmos/provider.go index 7cb968d42..178b59408 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -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 } @@ -347,7 +347,7 @@ 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 } @@ -357,7 +357,7 @@ func (cc *CosmosProvider) setCometVersion(log *zap.Logger, version string) { cc.cometLegacyEncoding = cc.legacyEncodedEvents(log, version) } -func (cc *CosmosProvider) legacyEncodedEvents(log *zap.Logger, version string) bool { +func (*CosmosProvider) legacyEncodedEvents(log *zap.Logger, version string) bool { return semver.Compare("v"+version, cometEncodingThreshold) < 0 } diff --git a/relayer/chains/cosmos/stride/messages.go b/relayer/chains/cosmos/stride/messages.go index e36cd9918..97684466d 100644 --- a/relayer/chains/cosmos/stride/messages.go +++ b/relayer/chains/cosmos/stride/messages.go @@ -21,10 +21,10 @@ 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 { diff --git a/relayer/chains/cosmos/stride/module.go b/relayer/chains/cosmos/stride/module.go index ff2bb26f2..73ed7b634 100644 --- a/relayer/chains/cosmos/stride/module.go +++ b/relayer/chains/cosmos/stride/module.go @@ -25,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) } @@ -39,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 9000acbfb..6c9d6e055 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -337,7 +337,7 @@ 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")) @@ -643,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") } @@ -1237,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) @@ -1529,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, @@ -1576,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 } diff --git a/relayer/chains/penumbra/grpc_query.go b/relayer/chains/penumbra/grpc_query.go index 4736fbe25..0d66905c3 100644 --- a/relayer/chains/penumbra/grpc_query.go +++ b/relayer/chains/penumbra/grpc_query.go @@ -88,7 +88,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") } diff --git a/relayer/chains/penumbra/provider.go b/relayer/chains/penumbra/provider.go index 6833793d2..f20fb2b6d 100644 --- a/relayer/chains/penumbra/provider.go +++ b/relayer/chains/penumbra/provider.go @@ -163,7 +163,7 @@ func (cc *PenumbraProvider) ChainName() string { return cc.PCfg.ChainName } -func (cc *PenumbraProvider) Type() string { +func (*PenumbraProvider) Type() string { return "penumbra" } @@ -175,7 +175,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")) } @@ -199,7 +199,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 /* @@ -323,7 +323,7 @@ func (cc *PenumbraProvider) setCometVersion(log *zap.Logger, version string) { cc.cometLegacyEncoding = cc.legacyEncodedEvents(log, version) } -func (cc *PenumbraProvider) legacyEncodedEvents(log *zap.Logger, version string) bool { +func (*PenumbraProvider) legacyEncodedEvents(log *zap.Logger, version string) bool { return semver.Compare("v"+version, cometEncodingThreshold) < 0 } diff --git a/relayer/chains/penumbra/query.go b/relayer/chains/penumbra/query.go index f562b24db..d947b76c6 100644 --- a/relayer/chains/penumbra/query.go +++ b/relayer/chains/penumbra/query.go @@ -139,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 /* @@ -1005,6 +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) { +func (*PenumbraProvider) QueryICQWithProof(ctx context.Context, msgType string, request []byte, height uint64) (provider.ICQProof, error) { panic("implement me") } diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index d5e12660d..476f88556 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -6,7 +6,6 @@ import ( "errors" "fmt" "math/rand" - "regexp" "strconv" "strings" "time" @@ -52,7 +51,6 @@ 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" ) @@ -463,7 +461,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 } @@ -1629,7 +1627,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) @@ -2047,7 +2045,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, @@ -2151,7 +2149,7 @@ 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")) @@ -2169,7 +2167,6 @@ func (cc *PenumbraProvider) 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 asyncCallback func(*provider.RelayerTxResponse, error), // callback for success/fail of the wait for block inclusion @@ -2297,7 +2294,7 @@ func (cc *PenumbraProvider) mkTxResult(resTx *coretypes.ResultTx) (*sdk.TxRespon return sdk.NewResponseResultTx(resTx, any, ""), nil } -func (cc *PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { +func (*PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { panic("implement me") } @@ -2308,6 +2305,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) { +func (*PenumbraProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee string) (provider.RelayerMessage, error) { panic("implement me") } diff --git a/relayer/codecs/ethermint/algorithm.go b/relayer/codecs/ethermint/algorithm.go index 0ffa0a805..e6f2c07ac 100644 --- a/relayer/codecs/ethermint/algorithm.go +++ b/relayer/codecs/ethermint/algorithm.go @@ -47,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 { @@ -95,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/ethsecp256k1.go b/relayer/codecs/ethermint/ethsecp256k1.go index 5cfb8c95e..b2851c9a0 100644 --- a/relayer/codecs/ethermint/ethsecp256k1.go +++ b/relayer/codecs/ethermint/ethsecp256k1.go @@ -82,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 } @@ -168,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 6c557d95a..ba3124a3e 100644 --- a/relayer/codecs/injective/algorithm.go +++ b/relayer/codecs/injective/algorithm.go @@ -46,12 +46,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 string, bip39Passphrase, path string) ([]byte, error) { hdpath, err := ethaccounts.ParseDerivationPath(path) if err != nil { @@ -89,7 +89,7 @@ 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 { bzArr := make([]byte, PrivKeySize) copy(bzArr, bz) diff --git a/relayer/codecs/injective/ethsecp256k1.go b/relayer/codecs/injective/ethsecp256k1.go index 7face8727..92ec71763 100644 --- a/relayer/codecs/injective/ethsecp256k1.go +++ b/relayer/codecs/injective/ethsecp256k1.go @@ -74,7 +74,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 +152,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/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_processor_internal.go b/relayer/processor/path_processor_internal.go index abd8badf8..c170b6a7d 100644 --- a/relayer/processor/path_processor_internal.go +++ b/relayer/processor/path_processor_internal.go @@ -342,7 +342,7 @@ func (pp *PathProcessor) unrelayedPacketFlowMessages( return res } -func (pp *PathProcessor) unrelayedConnectionHandshakeMessages( +func (*PathProcessor) unrelayedConnectionHandshakeMessages( pathEndConnectionHandshakeMessages pathEndConnectionHandshakeMessages, ) pathEndConnectionHandshakeResponse { var ( @@ -471,7 +471,7 @@ func (pp *PathProcessor) unrelayedConnectionHandshakeMessages( return res } -func (pp *PathProcessor) unrelayedChannelHandshakeMessages( +func (*PathProcessor) unrelayedChannelHandshakeMessages( pathEndChannelHandshakeMessages pathEndChannelHandshakeMessages, ) pathEndChannelHandshakeResponse { var ( @@ -600,7 +600,7 @@ func (pp *PathProcessor) unrelayedChannelHandshakeMessages( return res } -func (pp *PathProcessor) unrelayedChannelCloseMessages( +func (*PathProcessor) unrelayedChannelCloseMessages( pathEndChannelCloseMessages pathEndChannelCloseMessages, ) pathEndChannelHandshakeResponse { var ( @@ -670,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 { @@ -1088,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) @@ -1117,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) @@ -1136,7 +1136,7 @@ func (pp *PathProcessor) connectionMessagesToSend(pathEnd1ConnectionHandshakeRes return pathEnd1ConnectionMessages, pathEnd2ConnectionMessages } -func (pp *PathProcessor) packetMessagesToSend( +func (*PathProcessor) packetMessagesToSend( channelPairs []channelPair, pathEnd1ProcessRes []pathEndPacketFlowResponse, pathEnd2ProcessRes []pathEndPacketFlowResponse, diff --git a/relayer/processor/types.go b/relayer/processor/types.go index 0ebdd2c8b..8ac71675f 100644 --- a/relayer/processor/types.go +++ b/relayer/processor/types.go @@ -21,8 +21,6 @@ type MessageLifecycle interface{} // all pending messages have been flushed. type FlushLifecycle struct{} -func (t *FlushLifecycle) messageLifecycler() {} - type PacketMessage struct { ChainID string EventType string @@ -37,7 +35,7 @@ type PacketMessageLifecycle struct { Termination *PacketMessage } -func (t *PacketMessageLifecycle) messageLifecycler() {} +func (*PacketMessageLifecycle) messageLifecycler() {} type ConnectionMessage struct { ChainID string @@ -53,7 +51,7 @@ type ConnectionMessageLifecycle struct { Termination *ConnectionMessage } -func (t *ConnectionMessageLifecycle) messageLifecycler() {} +func (*ConnectionMessageLifecycle) messageLifecycler() {} type ChannelMessage struct { ChainID string @@ -69,7 +67,7 @@ type ChannelMessageLifecycle struct { Termination *ChannelMessage } -func (t *ChannelMessageLifecycle) messageLifecycler() {} +func (*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. @@ -81,7 +79,7 @@ type ChannelCloseLifecycle struct { DstConnID string } -func (t *ChannelCloseLifecycle) messageLifecycler() {} +func (*ChannelCloseLifecycle) messageLifecycler() {} // IBCMessagesCache holds cached messages for packet flows, connection handshakes, // and channel handshakes. The PathProcessors use this for message correlation to determine diff --git a/relayer/processor/types_test.go b/relayer/processor/types_test.go index a051cd880..5a8c47c06 100644 --- a/relayer/processor/types_test.go +++ b/relayer/processor/types_test.go @@ -11,9 +11,9 @@ import ( 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/strategies.go b/relayer/strategies.go index c033b50fc..b61c9f95f 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -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() From a00cd4195d2cf42bf0646650bfb6bcda58831283 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 01:13:49 +0800 Subject: [PATCH 07/18] sync, remove unused vars --- go.mod | 2 +- go.sum | 51 +++++++++++++++++++++- go.work | 8 ++-- interchaintest/go.mod | 2 +- relayer/chains/penumbra/relayer_packets.go | 3 -- 5 files changed, 55 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 285c08fa0..77dabfecd 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/cosmos/relayer/v2 -go 1.20 +go 1.21 require ( cosmossdk.io/api v0.3.1 diff --git a/go.sum b/go.sum index 8ef18b6f2..895df40ee 100644 --- a/go.sum +++ b/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/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -210,6 +211,7 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN 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-20210617225240-d185dfc1b5a1/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= @@ -217,19 +219,25 @@ github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1: github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= 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/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= @@ -290,6 +298,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= @@ -326,7 +335,9 @@ 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/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= @@ -338,6 +349,7 @@ github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3Hf 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= @@ -375,7 +387,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/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= @@ -400,7 +414,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= @@ -429,9 +445,11 @@ 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.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= @@ -458,11 +476,13 @@ 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/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-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= @@ -481,6 +501,7 @@ github.com/godbus/dbus/v5 v5.0.4/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= @@ -561,12 +582,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= @@ -677,6 +700,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= @@ -696,6 +720,7 @@ github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod 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= @@ -712,6 +737,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= @@ -736,11 +762,14 @@ 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= @@ -798,6 +827,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= @@ -819,6 +849,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= @@ -834,10 +865,14 @@ 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= 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= @@ -847,6 +882,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= @@ -903,18 +939,21 @@ 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/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/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= @@ -930,12 +969,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= @@ -994,6 +1035,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= @@ -1005,6 +1047,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= @@ -1045,6 +1088,7 @@ 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.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= @@ -1408,6 +1452,7 @@ 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.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= 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= @@ -1654,6 +1699,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= @@ -1681,6 +1727,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= diff --git a/go.work b/go.work index 0c68d3166..9293d3087 100644 --- a/go.work +++ b/go.work @@ -1,6 +1,6 @@ -go 1.20 +go 1.21 use ( -./interchaintest -. -) \ No newline at end of file + . + ./interchaintest +) diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 6352c1099..e86781d1e 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 diff --git a/relayer/chains/penumbra/relayer_packets.go b/relayer/chains/penumbra/relayer_packets.go index 59e3de910..9f79eb829 100644 --- a/relayer/chains/penumbra/relayer_packets.go +++ b/relayer/chains/penumbra/relayer_packets.go @@ -22,8 +22,6 @@ type relayMsgTimeout struct { timeout clienttypes.Height timeoutStamp uint64 dstRecvRes *chantypes.QueryPacketReceiptResponse - - pass bool } func (rp relayMsgTimeout) Data() []byte { @@ -99,7 +97,6 @@ func (rp relayMsgRecvPacket) timeoutPacket() *relayMsgTimeout { timeout: rp.timeout, timeoutStamp: rp.timeoutStamp, dstRecvRes: nil, - pass: false, } } From 691f894f94cc4bacfa5560db0242f2dbc6767969 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 01:15:47 +0800 Subject: [PATCH 08/18] bump proto builder and make proto-gen --- .golangci.yml | 2 + Makefile | 4 +- relayer/chains/cosmos/relayer_packets.go | 3 - .../core/governance/v1alpha1/governance.pb.go | 853 +++-- .../penumbra/core/ibc/v1alpha1/ibc.pb.go | 38 +- .../penumbra/core/stake/v1alpha1/stake.pb.go | 273 +- .../transaction/v1alpha1/transaction.pb.go | 598 ++-- .../v1alpha1/transparent_proofs.pb.go | 2 +- .../chains/penumbra/view/v1alpha1/view.pb.go | 3135 +++++++++-------- 9 files changed, 2484 insertions(+), 2424 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 9daa6a1e1..ce94252a2 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -100,6 +100,8 @@ linters-settings: disabled: true - name: confusing-naming disabled: true + - name: var-naming + disabled: true - name: defer disabled: true # Disabled in favour of unparam. 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/relayer/chains/cosmos/relayer_packets.go b/relayer/chains/cosmos/relayer_packets.go index c59e6c309..bf939dd1e 100644 --- a/relayer/chains/cosmos/relayer_packets.go +++ b/relayer/chains/cosmos/relayer_packets.go @@ -21,8 +21,6 @@ type relayMsgTimeout struct { timeout clienttypes.Height timeoutStamp uint64 dstRecvRes *chantypes.QueryPacketReceiptResponse - - pass bool } func (rp relayMsgTimeout) Data() []byte { @@ -87,7 +85,6 @@ func (rp relayMsgRecvPacket) timeoutPacket() *relayMsgTimeout { timeout: rp.timeout, timeoutStamp: rp.timeoutStamp, dstRecvRes: nil, - pass: false, } } 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/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 From 8943b3271f03b884764e474a8200117a05f1dd51 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 01:23:18 +0800 Subject: [PATCH 09/18] tidy interchaintest --- interchaintest/go.mod | 6 ++--- interchaintest/go.sum | 57 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 58 insertions(+), 5 deletions(-) diff --git a/interchaintest/go.mod b/interchaintest/go.mod index e86781d1e..2ab41ca18 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -4,6 +4,7 @@ go 1.21 require ( cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 + github.com/avast/retry-go/v4 v4.3.4 github.com/cometbft/cometbft v0.37.2 github.com/cosmos/cosmos-sdk v0.47.3 github.com/cosmos/go-bip39 v1.0.0 @@ -11,6 +12,7 @@ require ( github.com/cosmos/ibc-go/v7 v7.2.0 github.com/cosmos/relayer/v2 v2.0.0 github.com/docker/docker v24.0.1+incompatible + github.com/google/uuid v1.3.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/moby/moby v24.0.2+incompatible github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230608002938-79172615eed0 @@ -30,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 @@ -44,7 +46,6 @@ require ( github.com/Microsoft/go-winio v0.6.0 // indirect github.com/StirlingMarketingGroup/go-namecase v1.0.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect - github.com/avast/retry-go/v4 v4.3.4 // indirect github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/benbjohnson/clock v1.3.0 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -109,7 +110,6 @@ require ( 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/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/gorilla/handlers v1.5.1 // indirect diff --git a/interchaintest/go.sum b/interchaintest/go.sum index 74c50689d..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= @@ -402,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= @@ -472,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= @@ -502,11 +519,13 @@ 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-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= @@ -527,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= @@ -601,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= @@ -626,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= @@ -718,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= @@ -741,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= @@ -757,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= @@ -786,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= @@ -825,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= @@ -860,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= @@ -905,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= @@ -920,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= @@ -938,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= @@ -998,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= @@ -1030,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= @@ -1103,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= @@ -1115,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= @@ -1156,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= @@ -1465,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= @@ -1775,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= @@ -1804,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= @@ -1823,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= @@ -1837,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= From 6494216b1cf330fae49284f28d2546a53ec6c921 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 01:27:51 +0800 Subject: [PATCH 10/18] check errors --- .golangci.yml | 3 +++ cmd/config.go | 5 ++--- cmd/query.go | 4 ++-- relayer/chains/cosmos/grpc_query.go | 7 ++++--- relayer/chains/cosmos/keys/sr25519/privkey.go | 2 +- relayer/provider/provider.go | 7 ++++--- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index ce94252a2..a426b6964 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -39,6 +39,9 @@ issues: - text: 'Use of weak random number generator' linters: - gosec + - text: 'ST1003' + linters: + - stylecheck max-issues-per-linter: 10000 max-same-issues: 10000 diff --git a/cmd/config.go b/cmd/config.go index da47807d9..d2ce5196a 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -22,7 +22,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "path" "path/filepath" @@ -180,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 } @@ -232,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 } diff --git a/cmd/query.go b/cmd/query.go index 234b17806..81867f852 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -480,7 +480,7 @@ $ %s q conns ibc-1`, // pagereq, err := client.ReadPageRequest(cmd.Flags()) // if err != nil { // return err - //} + // } res, err := chain.ChainProvider.QueryConnections(cmd.Context()) if err != nil { @@ -624,7 +624,7 @@ $ %s query connection-channels ibc-2 ibcconnection2 --offset 2 --limit 30`, // pagereq, err := client.ReadPageRequest(cmd.Flags()) // if err != nil { // return err - //} + // } chans, err := chain.ChainProvider.QueryConnectionChannels(cmd.Context(), 0, args[1]) if err != nil { diff --git a/relayer/chains/cosmos/grpc_query.go b/relayer/chains/cosmos/grpc_query.go index 38b33e3ff..45cf7ffb5 100644 --- a/relayer/chains/cosmos/grpc_query.go +++ b/relayer/chains/cosmos/grpc_query.go @@ -16,6 +16,7 @@ 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" @@ -39,17 +40,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) diff --git a/relayer/chains/cosmos/keys/sr25519/privkey.go b/relayer/chains/cosmos/keys/sr25519/privkey.go index 24fc1f3b6..513d14ec3 100644 --- a/relayer/chains/cosmos/keys/sr25519/privkey.go +++ b/relayer/chains/cosmos/keys/sr25519/privkey.go @@ -33,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/provider/provider.go b/relayer/provider/provider.go index 44c63c799..d9facc180 100644 --- a/relayer/provider/provider.go +++ b/relayer/provider/provider.go @@ -198,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 } @@ -210,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 { From ca00deeb17a28dc80e0b8660f2b390a10ec92b9a Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 01:30:42 +0800 Subject: [PATCH 11/18] add golangci-lint github action --- .github/workflows/lint.yml | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/lint.yml 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" From 1fc777586a7323849ad45f68fd18524886150457 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 01:53:27 +0800 Subject: [PATCH 12/18] use errors module, remove unused code --- .golangci.yml | 1 + cmd/tx.go | 7 +-- cregistry/chain_info.go | 4 +- .../chains/cosmos/cosmos_chain_processor.go | 23 +-------- relayer/chains/cosmos/feegrant.go | 16 ++---- relayer/chains/cosmos/grpc_query.go | 3 +- relayer/chains/cosmos/keys_test.go | 1 + relayer/chains/cosmos/message_handlers.go | 4 +- relayer/chains/cosmos/provider.go | 8 +-- relayer/chains/cosmos/query.go | 31 ++++++------ relayer/chains/cosmos/relayer_packets.go | 12 ----- relayer/chains/cosmos/tx.go | 4 +- relayer/chains/cosmos/tx_test.go | 9 ---- relayer/chains/mock/mock_chain_processor.go | 4 +- relayer/chains/penumbra/event_parser.go | 42 ++++------------ relayer/chains/penumbra/grpc_query.go | 10 ++-- relayer/chains/penumbra/msg.go | 13 ----- .../penumbra/penumbra_chain_processor.go | 8 --- relayer/chains/penumbra/provider.go | 11 ++-- relayer/chains/penumbra/relayer_packets.go | 12 ----- relayer/chains/penumbra/tx.go | 50 ++----------------- relayer/codecs/injective/ethsecp256k1.go | 4 +- relayer/processor/types.go | 8 --- 23 files changed, 70 insertions(+), 215 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index a426b6964..485d5872f 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,5 +1,6 @@ run: tests: true + allow-parallel-runners: true # # timeout for analysis, e.g. 30s, 5m, default is 1m timeout: 5m diff --git a/cmd/tx.go b/cmd/tx.go index 5f8ac150d..58ac15fae 100644 --- a/cmd/tx.go +++ b/cmd/tx.go @@ -925,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()) } diff --git a/cregistry/chain_info.go b/cregistry/chain_info.go index b7f20c994..c321aae57 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -161,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), @@ -169,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 diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index 74606dc7e..3bdbbb1ce 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -126,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) { @@ -238,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 } @@ -342,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/feegrant.go b/relayer/chains/cosmos/feegrant.go index 851797051..c1ea091f0 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -4,13 +4,13 @@ import ( "context" "errors" "fmt" - "regexp" "strconv" "time" + sdkmath "cosmossdk.io/math" + "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" @@ -115,7 +115,7 @@ func isValidGrant(a *feegrant.BasicAllowance) bool { valid := true if a.SpendLimit != nil { for _, coin := range a.SpendLimit { - if coin.Amount.LTE(types.ZeroInt()) { + if coin.Amount.LTE(sdkmath.ZeroInt()) { valid = false } } @@ -311,16 +311,6 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* 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") - } - - return submatches[2], nil -} - // GrantBasicAllowance Send a feegrant with the basic allowance type. // This function does not check for existing feegrant authorizations. // TODO: check for existing authorizations prior to attempting new one. diff --git a/relayer/chains/cosmos/grpc_query.go b/relayer/chains/cosmos/grpc_query.go index 45cf7ffb5..98e7a813c 100644 --- a/relayer/chains/cosmos/grpc_query.go +++ b/relayer/chains/cosmos/grpc_query.go @@ -17,6 +17,7 @@ import ( "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" @@ -110,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_test.go b/relayer/chains/cosmos/keys_test.go index 700a45adc..5d855242b 100644 --- a/relayer/chains/cosmos/keys_test.go +++ b/relayer/chains/cosmos/keys_test.go @@ -12,6 +12,7 @@ import ( ) 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/message_handlers.go b/relayer/chains/cosmos/message_handlers.go index b78a653db..ebd012e7b 100644 --- a/relayer/chains/cosmos/message_handlers.go +++ b/relayer/chains/cosmos/message_handlers.go @@ -87,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 { @@ -184,7 +184,7 @@ 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), diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index 178b59408..6de2c65ea 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -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 } @@ -353,11 +353,11 @@ func (*CosmosProvider) updateNextAccountSequence(sequenceGuard *WalletState, 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 (*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 4d8e31b22..5521f72f3 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -23,12 +23,13 @@ import ( "golang.org/x/sync/errgroup" "google.golang.org/grpc/metadata" + errorsmod "cosmossdk.io/errors" + "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" @@ -815,7 +816,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) @@ -899,7 +900,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{} @@ -987,7 +988,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), @@ -995,7 +996,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), @@ -1014,8 +1015,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 } @@ -1043,8 +1044,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 } @@ -1086,7 +1087,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) @@ -1109,7 +1110,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) @@ -1132,7 +1133,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{ @@ -1152,7 +1153,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{ @@ -1244,8 +1245,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, diff --git a/relayer/chains/cosmos/relayer_packets.go b/relayer/chains/cosmos/relayer_packets.go index bf939dd1e..55981b86b 100644 --- a/relayer/chains/cosmos/relayer_packets.go +++ b/relayer/chains/cosmos/relayer_packets.go @@ -78,16 +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, - } -} - func (rp relayMsgRecvPacket) Data() []byte { return rp.packetData } @@ -141,8 +131,6 @@ type relayMsgPacketAck struct { timeout clienttypes.Height timeoutStamp uint64 dstComRes *chantypes.QueryPacketAcknowledgementResponse - - pass bool } func (rp relayMsgPacketAck) Data() []byte { diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index 6c9d6e055..22f9caa2b 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -28,6 +28,8 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + errorsmod "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/tx" "github.com/cosmos/cosmos-sdk/codec/types" @@ -340,7 +342,7 @@ func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo 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 } diff --git a/relayer/chains/cosmos/tx_test.go b/relayer/chains/cosmos/tx_test.go index 6d7d4ad56..2c307af54 100644 --- a/relayer/chains/cosmos/tx_test.go +++ b/relayer/chains/cosmos/tx_test.go @@ -17,11 +17,6 @@ import ( "github.com/cosmos/relayer/v2/relayer/provider" ) -type mockAccountSequenceMismatchError struct { - Expected uint64 - Actual uint64 -} - // func TestHandleAccountSequenceMismatchError(t *testing.T) { // p := &CosmosProvider{} // ws := &WalletState{} @@ -89,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 diff --git a/relayer/chains/mock/mock_chain_processor.go b/relayer/chains/mock/mock_chain_processor.go index e3639962c..5ab273cf5 100644 --- a/relayer/chains/mock/mock_chain_processor.go +++ b/relayer/chains/mock/mock_chain_processor.go @@ -97,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 @@ -108,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/penumbra/event_parser.go b/relayer/chains/penumbra/event_parser.go index 4d0fc50b1..c6084e60f 100644 --- a/relayer/chains/penumbra/event_parser.go +++ b/relayer/chains/penumbra/event_parser.go @@ -146,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 @@ -182,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 @@ -224,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, } @@ -237,7 +217,7 @@ func (res *clientInfo) parseClientAttribute(log *zap.Logger, attr sdk.Attribute) ) return } - res.header = data + c.header = data } } diff --git a/relayer/chains/penumbra/grpc_query.go b/relayer/chains/penumbra/grpc_query.go index 0d66905c3..6bce3d892 100644 --- a/relayer/chains/penumbra/grpc_query.go +++ b/relayer/chains/penumbra/grpc_query.go @@ -16,6 +16,8 @@ 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" @@ -45,11 +47,11 @@ func (cc *PenumbraProvider) Invoke(ctx context.Context, method string, req, repl // 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) @@ -109,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) } @@ -179,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/msg.go b/relayer/chains/penumbra/msg.go index 12c047ef7..35de1b8cb 100644 --- a/relayer/chains/penumbra/msg.go +++ b/relayer/chains/penumbra/msg.go @@ -4,7 +4,6 @@ import ( "fmt" "github.com/cosmos/gogoproto/proto" - chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "go.uber.org/zap/zapcore" "github.com/cosmos/cosmos-sdk/codec" @@ -33,18 +32,6 @@ func PenumbraMsg(rm provider.RelayerMessage) sdk.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 { diff --git a/relayer/chains/penumbra/penumbra_chain_processor.go b/relayer/chains/penumbra/penumbra_chain_processor.go index 1863907cf..28e70218a 100644 --- a/relayer/chains/penumbra/penumbra_chain_processor.go +++ b/relayer/chains/penumbra/penumbra_chain_processor.go @@ -72,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 f20fb2b6d..d17adc620 100644 --- a/relayer/chains/penumbra/provider.go +++ b/relayer/chains/penumbra/provider.go @@ -24,7 +24,6 @@ import ( 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/relayer/v2/relayer/codecs/ethermint" @@ -265,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 } @@ -319,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 (*PenumbraProvider) legacyEncodedEvents(log *zap.Logger, version string) bool { +func (*PenumbraProvider) legacyEncodedEvents(version string) bool { return semver.Compare("v"+version, cometEncodingThreshold) < 0 } @@ -334,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/relayer_packets.go b/relayer/chains/penumbra/relayer_packets.go index 9f79eb829..f08d9a74e 100644 --- a/relayer/chains/penumbra/relayer_packets.go +++ b/relayer/chains/penumbra/relayer_packets.go @@ -90,16 +90,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, - } -} - func (rp relayMsgRecvPacket) Data() []byte { return rp.packetData } @@ -166,8 +156,6 @@ type relayMsgPacketAck struct { timeout clienttypes.Height timeoutStamp uint64 dstComRes *chantypes.QueryPacketAcknowledgementResponse - - pass bool } func (rp relayMsgPacketAck) Data() []byte { diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index 476f88556..b87ed2894 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -25,6 +25,8 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + errorsmod "cosmossdk.io/errors" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/store/rootmulti" sdk "github.com/cosmos/cosmos-sdk/types" @@ -57,7 +59,6 @@ var ( // Default IBC settings var ( - defaultChainPrefix = commitmenttypes.NewMerklePrefix([]byte("ibc")) defaultDelayPeriod = uint64(0) ) @@ -937,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) { @@ -1760,13 +1752,6 @@ 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), @@ -1969,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"} @@ -2152,7 +2109,7 @@ func isQueryStoreWithProof(path string) bool { 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 } @@ -2166,7 +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 diff --git a/relayer/codecs/injective/ethsecp256k1.go b/relayer/codecs/injective/ethsecp256k1.go index 92ec71763..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" @@ -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/processor/types.go b/relayer/processor/types.go index 8ac71675f..1f1b1454c 100644 --- a/relayer/processor/types.go +++ b/relayer/processor/types.go @@ -35,8 +35,6 @@ type PacketMessageLifecycle struct { Termination *PacketMessage } -func (*PacketMessageLifecycle) messageLifecycler() {} - type ConnectionMessage struct { ChainID string EventType string @@ -51,8 +49,6 @@ type ConnectionMessageLifecycle struct { Termination *ConnectionMessage } -func (*ConnectionMessageLifecycle) messageLifecycler() {} - type ChannelMessage struct { ChainID string EventType string @@ -67,8 +63,6 @@ type ChannelMessageLifecycle struct { Termination *ChannelMessage } -func (*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 { @@ -79,8 +73,6 @@ type ChannelCloseLifecycle struct { DstConnID string } -func (*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. From eec57ba988a65cfeb8bfda28a0f3755236e90793 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 02:10:01 +0800 Subject: [PATCH 13/18] code consistency --- .golangci.yml | 2 ++ cmd/feegrant.go | 6 ++--- relayer/chains/cosmos/event_parser.go | 8 +++---- relayer/chains/cosmos/feegrant.go | 4 ++-- relayer/chains/cosmos/query.go | 9 ++++---- relayer/chains/cosmos/tx.go | 4 ++-- relayer/chains/penumbra/event_parser.go | 8 +++---- relayer/chains/penumbra/grpc_query.go | 2 +- relayer/chains/penumbra/msg.go | 6 ++--- relayer/packet-tx.go | 17 +++++++-------- relayer/processor/types.go | 10 ++++----- relayer/provider/matcher.go | 29 +++++++++++++++---------- relayer/strategies.go | 6 ++--- 13 files changed, 58 insertions(+), 53 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 485d5872f..941823bea 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -64,6 +64,8 @@ linters-settings: # 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: exported + disabled: true - name: use-any disabled: true - name: if-return diff --git a/cmd/feegrant.go b/cmd/feegrant.go index 26a30c327..f62ac1bff 100644 --- a/cmd/feegrant.go +++ b/cmd/feegrant.go @@ -27,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 @@ -63,7 +63,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 { @@ -140,7 +140,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") diff --git a/relayer/chains/cosmos/event_parser.go b/relayer/chains/cosmos/event_parser.go index 04923d232..e9cfde686 100644 --- a/relayer/chains/cosmos/event_parser.go +++ b/relayer/chains/cosmos/event_parser.go @@ -153,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, } } diff --git a/relayer/chains/cosmos/feegrant.go b/relayer/chains/cosmos/feegrant.go index c1ea091f0..e8cc38dce 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -199,7 +199,7 @@ func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey str 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++ if cc.PCfg.FeeGrants.GranteeLastSignerIndex == len(cc.PCfg.FeeGrants.ManagedGrantees) { cc.PCfg.FeeGrants.GranteeLastSignerIndex = 0 @@ -271,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 { diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index 5521f72f3..de19d4031 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -27,7 +27,6 @@ import ( "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" bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -420,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) @@ -469,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) @@ -666,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) @@ -1264,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/tx.go b/relayer/chains/cosmos/tx.go index 22f9caa2b..f5e7cd2d5 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -495,8 +495,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 { diff --git a/relayer/chains/penumbra/event_parser.go b/relayer/chains/penumbra/event_parser.go index c6084e60f..d7ba37a21 100644 --- a/relayer/chains/penumbra/event_parser.go +++ b/relayer/chains/penumbra/event_parser.go @@ -33,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 } diff --git a/relayer/chains/penumbra/grpc_query.go b/relayer/chains/penumbra/grpc_query.go index 6bce3d892..9c3f98ac6 100644 --- a/relayer/chains/penumbra/grpc_query.go +++ b/relayer/chains/penumbra/grpc_query.go @@ -41,7 +41,7 @@ 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. diff --git a/relayer/chains/penumbra/msg.go b/relayer/chains/penumbra/msg.go index 35de1b8cb..0bb7f9c75 100644 --- a/relayer/chains/penumbra/msg.go +++ b/relayer/chains/penumbra/msg.go @@ -35,11 +35,11 @@ func PenumbraMsg(rm provider.RelayerMessage) sdk.Msg { 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/packet-tx.go b/relayer/packet-tx.go index 54f341430..e868c4a67 100644 --- a/relayer/packet-tx.go +++ b/relayer/packet-tx.go @@ -115,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/processor/types.go b/relayer/processor/types.go index 1f1b1454c..ed731b28a 100644 --- a/relayer/processor/types.go +++ b/relayer/processor/types.go @@ -236,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/provider/matcher.go b/relayer/provider/matcher.go index d8bcc797a..d3d6aca7d 100644 --- a/relayer/provider/matcher.go +++ b/relayer/provider/matcher.go @@ -35,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) } @@ -64,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/strategies.go b/relayer/strategies.go index b61c9f95f..705ebc274 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -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)) } } From 2ab78f4345eceef24217f3ad8e20f62b4af2179b Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 02:14:45 +0800 Subject: [PATCH 14/18] ineffectual assignment --- .golangci.yml | 2 ++ cmd/query.go | 8 ++++---- relayer/chains/cosmos/tx.go | 6 +----- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 941823bea..0af91b210 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -64,6 +64,8 @@ linters-settings: # 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 diff --git a/cmd/query.go b/cmd/query.go index 81867f852..0f05d50db 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -761,15 +761,15 @@ func queryChannelsToChain(cmd *cobra.Command, chain *relayer.Chain, dstChain *re return err } - for _, client := range clients { - clientInfo, err := relayer.ClientInfoFromClientState(client.ClientState) + for _, IBCclient := range clients { + clientInfo, err := relayer.ClientInfoFromClientState(IBCclient.ClientState) if err != nil { continue } if clientInfo.ChainID != dstChain.ChainProvider.ChainId() { continue } - connections, err := chain.ChainProvider.QueryConnectionsUsingClient(ctx, 0, client.ClientId) + connections, err := chain.ChainProvider.QueryConnectionsUsingClient(ctx, 0, IBCclient.ClientId) if err != nil { continue } @@ -786,7 +786,7 @@ func queryChannelsToChain(cmd *cobra.Command, chain *relayer.Chain, dstChain *re } for _, channel := range channels { printChannelWithExtendedInfo(cmd, chain, channel, &chanExtendedInfo{ - clientID: client.ClientId, + clientID: IBCclient.ClientId, counterpartyChainID: clientInfo.ChainID, counterpartyClientID: conn.Counterparty.ClientId, counterpartyConnID: conn.Counterparty.ConnectionId, diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index f5e7cd2d5..8ac0e6298 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -34,8 +34,6 @@ import ( "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" @@ -1832,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 } From ed5d0c0821bcadb5f6e52fd455db5dda9df23b2b Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 02:55:50 +0800 Subject: [PATCH 15/18] completed linting of go relayer and addressed data race --- .golangci.yml | 4 ++++ cmd/chains_test.go | 2 +- cmd/feegrant.go | 7 ++++--- cmd/query.go | 17 +++++++++++------ cmd/root.go | 5 ++++- cregistry/chain_info.go | 4 ++-- cregistry/cosmos_github_registry.go | 2 +- internal/relaydebug/debugserver.go | 8 +++++--- relayer/chains/cosmos/event_parser.go | 2 +- relayer/chains/cosmos/feegrant.go | 7 +++---- relayer/chains/cosmos/log.go | 2 +- relayer/chains/cosmos/msg.go | 4 ++-- relayer/chains/cosmos/tx.go | 13 ++++++------- relayer/chains/penumbra/event_parser.go | 4 ++-- relayer/chains/penumbra/log.go | 2 +- relayer/chains/penumbra/msg.go | 2 +- relayer/chains/penumbra/relayer_packets.go | 3 --- relayer/chains/penumbra/tx.go | 18 +++++++++--------- relayer/codecs/ethermint/encoding.go | 6 +++--- relayer/query_test.go | 2 +- 20 files changed, 62 insertions(+), 52 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 0af91b210..6ecdfa2f3 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -3,6 +3,8 @@ run: 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 @@ -124,3 +126,5 @@ linters-settings: - 'myFunction' - name: nested-structs disabled: true + - name: context-as-argument + disabled: true diff --git a/cmd/chains_test.go b/cmd/chains_test.go index aec0e2820..f4596e554 100644 --- a/cmd/chains_test.go +++ b/cmd/chains_test.go @@ -74,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/feegrant.go b/cmd/feegrant.go index f62ac1bff..bb58ec159 100644 --- a/cmd/feegrant.go +++ b/cmd/feegrant.go @@ -50,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 } diff --git a/cmd/query.go b/cmd/query.go index 0f05d50db..475ff535d 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -7,6 +7,8 @@ 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" @@ -761,15 +763,16 @@ func queryChannelsToChain(cmd *cobra.Command, chain *relayer.Chain, dstChain *re return err } - for _, IBCclient := range clients { - clientInfo, err := relayer.ClientInfoFromClientState(IBCclient.ClientState) + 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 } if clientInfo.ChainID != dstChain.ChainProvider.ChainId() { continue } - connections, err := chain.ChainProvider.QueryConnectionsUsingClient(ctx, 0, IBCclient.ClientId) + connections, err := chain.ChainProvider.QueryConnectionsUsingClient(ctx, 0, client.ClientId) if err != nil { continue } @@ -777,22 +780,24 @@ 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: IBCclient.ClientId, + clientID: client.ClientId, counterpartyChainID: clientInfo.ChainID, counterpartyClientID: conn.Counterparty.ClientId, 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 59c115294..84b3cda3d 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -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/cregistry/chain_info.go b/cregistry/chain_info.go index c321aae57..c4157c526 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -208,9 +208,9 @@ func (c ChainInfo) GetRandomRPCEndpoint(ctx context.Context) (string, error) { // GetAssetList returns the asset metadata from the cosmos chain registry for this particular chain. 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) + 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 } diff --git a/cregistry/cosmos_github_registry.go b/cregistry/cosmos_github_registry.go index ac1bc4661..30d553b42 100644 --- a/cregistry/cosmos_github_registry.go +++ b/cregistry/cosmos_github_registry.go @@ -55,7 +55,7 @@ func (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 } 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/relayer/chains/cosmos/event_parser.go b/relayer/chains/cosmos/event_parser.go index e9cfde686..6def4721c 100644 --- a/relayer/chains/cosmos/event_parser.go +++ b/relayer/chains/cosmos/event_parser.go @@ -276,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/feegrant.go b/relayer/chains/cosmos/feegrant.go index e8cc38dce..9f48c8acc 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -301,12 +301,11 @@ 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) + } + fmt.Printf("All grantees (%d total) already had valid feegrants. Feegrant configuration verified.\n", numGrantees) return nil, nil } diff --git a/relayer/chains/cosmos/log.go b/relayer/chains/cosmos/log.go index b4bcb4f1f..a3de426a3 100644 --- a/relayer/chains/cosmos/log.go +++ b/relayer/chains/cosmos/log.go @@ -64,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..., diff --git a/relayer/chains/cosmos/msg.go b/relayer/chains/cosmos/msg.go index 20af3c40a..58d5b9571 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -29,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 } } @@ -40,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/tx.go b/relayer/chains/cosmos/tx.go index 8ac0e6298..83e6f909a 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -355,7 +355,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 @@ -1366,13 +1365,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 } diff --git a/relayer/chains/penumbra/event_parser.go b/relayer/chains/penumbra/event_parser.go index d7ba37a21..e13f10a26 100644 --- a/relayer/chains/penumbra/event_parser.go +++ b/relayer/chains/penumbra/event_parser.go @@ -263,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) @@ -276,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/log.go b/relayer/chains/penumbra/log.go index 062f14988..ff6957691 100644 --- a/relayer/chains/penumbra/log.go +++ b/relayer/chains/penumbra/log.go @@ -56,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..., diff --git a/relayer/chains/penumbra/msg.go b/relayer/chains/penumbra/msg.go index 0bb7f9c75..d364a29c1 100644 --- a/relayer/chains/penumbra/msg.go +++ b/relayer/chains/penumbra/msg.go @@ -27,7 +27,7 @@ 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 } } diff --git a/relayer/chains/penumbra/relayer_packets.go b/relayer/chains/penumbra/relayer_packets.go index f08d9a74e..09dc7ca9e 100644 --- a/relayer/chains/penumbra/relayer_packets.go +++ b/relayer/chains/penumbra/relayer_packets.go @@ -48,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 } } @@ -116,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 } } @@ -214,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 b87ed2894..12dfe9d42 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -462,7 +462,7 @@ func (cc *PenumbraProvider) MsgCreateClient(clientState ibcexported.ClientState, return NewPenumbraMessage(msg), nil } -func (*PenumbraProvider) SubmitMisbehavior( /*TBD*/ ) (provider.RelayerMessage, error) { +func (*PenumbraProvider) SubmitMisbehavior( /* TBD */ ) (provider.RelayerMessage, error) { return nil, nil } @@ -1693,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 } @@ -2246,8 +2246,8 @@ 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 (*PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { diff --git a/relayer/codecs/ethermint/encoding.go b/relayer/codecs/ethermint/encoding.go index a8ae6e507..1db30394f 100644 --- a/relayer/codecs/ethermint/encoding.go +++ b/relayer/codecs/ethermint/encoding.go @@ -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/query_test.go b/relayer/query_test.go index a3916ca64..60a1d1c63 100644 --- a/relayer/query_test.go +++ b/relayer/query_test.go @@ -134,7 +134,7 @@ 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, From b937c42f2bcd8015f84ffbd2496148feee3dd183 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 31 Aug 2023 03:05:35 +0800 Subject: [PATCH 16/18] use 2 nolints for deprecated modules --- relayer/chains/cosmos/event_parser.go | 2 +- relayer/chains/cosmos/tx.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/relayer/chains/cosmos/event_parser.go b/relayer/chains/cosmos/event_parser.go index 6def4721c..08184b147 100644 --- a/relayer/chains/cosmos/event_parser.go +++ b/relayer/chains/cosmos/event_parser.go @@ -263,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) diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index 83e6f909a..56973a75d 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -251,7 +251,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) From a331295bff9e666cd0c21561fed66535cc2cbda0 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Sat, 2 Sep 2023 00:48:54 +0800 Subject: [PATCH 17/18] begin sdk50 upgrade --- go.mod | 88 +++++++++++++++++++++++++++++----------------------------- go.sum | 53 +++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+), 44 deletions(-) diff --git a/go.mod b/go.mod index 77dabfecd..7c2395b7a 100644 --- a/go.mod +++ b/go.mod @@ -3,17 +3,17 @@ module github.com/cosmos/relayer/v2 go 1.21 require ( - cosmossdk.io/api v0.3.1 - cosmossdk.io/errors v1.0.0-beta.7 + cosmossdk.io/api v0.7.0 + cosmossdk.io/errors v1.0.0 cosmossdk.io/math v1.1.2 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/gogoproto v1.4.11 github.com/cosmos/ibc-go/v7 v7.2.0 github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 @@ -22,30 +22,30 @@ 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 + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/storage v1.30.1 // 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/tools/rosetta v0.2.1 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -68,13 +68,13 @@ require ( github.com/confio/ics23/go v0.9.0 // indirect github.com/cosmos/btcutil v1.0.5 // 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/iavl v1.0.0-rc.1 // indirect + github.com/cosmos/ledger-cosmos-go v0.13.0 // indirect github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect github.com/creachadair/taskgroup v0.4.2 // 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 @@ -98,14 +98,14 @@ 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 @@ -114,7 +114,7 @@ require ( github.com/hashicorp/go-immutable-radix v1.3.1 // 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/hdevalence/ed25519consensus v0.1.0 // indirect github.com/holiman/uint256 v1.2.0 // indirect @@ -123,14 +123,14 @@ require ( 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/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 @@ -140,16 +140,16 @@ require ( 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/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/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/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // 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 @@ -166,19 +166,19 @@ 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/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.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 895df40ee..65da6d645 100644 --- a/go.sum +++ b/go.sum @@ -34,6 +34,7 @@ cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34h 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/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= @@ -72,6 +73,7 @@ cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQH 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/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= @@ -113,6 +115,7 @@ cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp 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/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= @@ -178,6 +181,7 @@ cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeL 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/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= @@ -191,14 +195,19 @@ cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1V 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/api v0.7.0/go.mod h1:kJFAEMLN57y0viszHDPLMmieF0471o5QAwwApa+270M= cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= +cosmossdk.io/core v0.10.0/go.mod h1:MygXNld9DvMgYY4yE76DM/mdZpgfeyRjy6FPjEEehlY= 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/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= 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/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= +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/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= @@ -261,6 +270,7 @@ github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX 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-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= @@ -344,6 +354,7 @@ github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONN 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/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= @@ -360,8 +371,11 @@ 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-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= 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/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 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -370,14 +384,17 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ 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/gogoproto v1.4.11/go.mod h1:/g39Mh8m17X8Q/GDEs5zYTSNaNnInBSohtaxzQnYq1Y= 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/iavl v1.0.0-rc.1/go.mod h1:CmTGqMnRnucjxbjduneZXT+0vPgNElYvdefjX2q9tYc= 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= 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/ledger-cosmos-go v0.13.0/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/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= @@ -401,6 +418,7 @@ github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn 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/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= @@ -468,6 +486,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= @@ -611,6 +630,7 @@ github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLe 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/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= @@ -631,6 +651,7 @@ github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqE 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/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= @@ -649,6 +670,7 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de 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/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= @@ -691,6 +713,7 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ 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/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= @@ -756,6 +779,7 @@ github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 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/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= @@ -778,6 +802,7 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b 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/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= @@ -795,6 +820,7 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k 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/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= @@ -895,6 +921,7 @@ github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9 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/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/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -914,6 +941,7 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O 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/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= @@ -922,6 +950,7 @@ github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T 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/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= @@ -930,6 +959,7 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 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/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= @@ -938,6 +968,7 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O 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/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= 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= @@ -958,8 +989,10 @@ 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/xid v1.5.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/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= @@ -1087,15 +1120,19 @@ 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.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= 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.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= @@ -1116,6 +1153,7 @@ golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0 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/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= @@ -1129,6 +1167,7 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMk 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/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= @@ -1157,6 +1196,7 @@ 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/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= @@ -1222,6 +1262,7 @@ golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfS 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/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= @@ -1249,6 +1290,7 @@ golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri 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/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= @@ -1265,6 +1307,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ 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/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= @@ -1341,6 +1384,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= @@ -1366,11 +1410,13 @@ 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/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/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= @@ -1384,6 +1430,7 @@ 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/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= @@ -1409,6 +1456,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= @@ -1513,6 +1561,7 @@ google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ 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/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= @@ -1632,6 +1681,7 @@ google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz 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/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= 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= @@ -1675,6 +1725,7 @@ google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD 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/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= @@ -1693,6 +1744,7 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw 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/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= @@ -1740,6 +1792,7 @@ 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/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= From 75f8d84ff035126283ae28c77b02560c0dbbdfc8 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Sat, 2 Sep 2023 05:29:28 +0800 Subject: [PATCH 18/18] begin --- proto/buf.yaml | 25 +++++++++++++++++++++---- relayer/chains/cosmos/tx.go | 5 +++-- 2 files changed, 24 insertions(+), 6 deletions(-) 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/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index a081dab7b..d7e433a4f 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -30,6 +30,7 @@ import ( 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" @@ -623,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 } @@ -1677,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") }