diff --git a/.github/workflows/peggy-docs.yml b/.github/workflows/peggy-docs.yml index c2acba138a..b0edff2a08 100644 --- a/.github/workflows/peggy-docs.yml +++ b/.github/workflows/peggy-docs.yml @@ -6,66 +6,15 @@ on: - 'future/peggy2' jobs: - build: + dispatch: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - - name: Login to Docker Hub - run: docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Get commit hash - id: hash - run: | - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - - - name: Build docker images - working-directory: docs/peggy - run: | - docker build -t sifchain/peggy-docs:${{ steps.hash.outputs.sha_short }} . - - - name: Push docker images - run: | - docker push sifchain/peggy-docs:${{ steps.hash.outputs.sha_short }} - - deploy: - needs: build - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/checkout@v2 + - uses: actions/github-script@v6 with: - repository: Sifchain/sifchain-devops - path: sifchain-devops - token: "${{ secrets.GIT_PAT }}" - - - name: Get commit hash - id: hash - run: | - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - - - name: Configure AWS Credentials - working-directory: sifchain-devops - run: | - AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} \ - AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} \ - AWS_REGION=${{ secrets.AWS_REGION }} \ - AWS_ROLE=${{ secrets.AWS_ROLE }} \ - PROFILE=sifchain-aws-sifchain-data \ - make provider-aws-configure - - - name: Generate kubernetes config - working-directory: sifchain-devops - run: | - CLUSTER_NAME=sifchain-aws-sifchain-data \ - AWS_REGION=${{ secrets.AWS_REGION }} \ - AWS_PROFILE=sifchain-aws-sifchain-data \ - AWS_ROLE=${{ secrets.AWS_ROLE }} \ - make provider-aws-kubeconfig - - - name: Deploy peggy docs - working-directory: sifchain-devops - run: | - helm upgrade peggy-docs helm/standalone/peggy-docs --install -n peggy-docs \ - --create-namespace \ - --set image.tag=${{ steps.hash.outputs.sha_short }} + github-token: ${{ secrets.GIT_PAT }} + script: | + await github.rest.actions.createWorkflowDispatch({ + repo: 'sifchain/sifchain-chainops', + workflow_id: 'peggy-deploy-docs-peggy-2.yml', + ref: 'main' + }) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5ab696cb8a..f594cf5a76 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,48 +6,22 @@ on: - published jobs: - release: - name: Release + dispatch: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/checkout@v2 - with: - repository: Sifchain/sifchain-devops - path: sifchain-devops - token: "${{ secrets.GIT_PAT }}" - - - name: Login to Docker Hub - run: docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Get version - id: version - run: | - echo "::set-output name=version::$(cat version)" - - - name: Build docker images - run: | - make IMAGE_TAG=${{ steps.version.outputs.version }} BINARY=sifnoded build-image - make IMAGE_TAG=${{ steps.version.outputs.version }} BINARY=ebrelayer build-image - - - name: Push docker images - run: | - docker push sifchain/sifnoded:${{ steps.version.outputs.version }} - docker push sifchain/ebrelayer:${{ steps.version.outputs.version }} - - - name: Get commit hash - id: hash - run: | - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + - name: Get the tag + id: release_tag + run: echo ::set-output name=name::${GITHUB_REF/refs\/tags\//} - - name: Release a new sifnoded binary - uses: ./sifchain-devops/release + - uses: actions/github-script@v6 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - goos: linux - goarch: amd64 - goversion: "1.17" - project_path: "./cmd/sifnoded" - binary_name: "sifnoded" - ldflags: "-X github.com/cosmos/cosmos-sdk/version.Name=sifchain -X github.com/cosmos/cosmos-sdk/version.ServerName=sifnoded -X github.com/cosmos/cosmos-sdk/version.ClientName=sifnoded -X github.com/cosmos/cosmos-sdk/version.Version=${{ steps.version.outputs.version }} -X github.com/cosmos/cosmos-sdk/version.Commit=${{ steps.hash.outputs.sha_short }}" - sha256sum: true + github-token: ${{ secrets.GIT_PAT }} + script: | + await github.rest.actions.createWorkflowDispatch({ + repo: 'sifchain/sifchain-chainops', + workflow_id: 'sifnode-release.yml', + ref: 'main', + inputs: { + release_tag: ${{ steps.release_tag.outputs.name }} + } + }) diff --git a/app/setup_handlers.go b/app/setup_handlers.go index b563606111..15cc43ed8e 100644 --- a/app/setup_handlers.go +++ b/app/setup_handlers.go @@ -1,36 +1,17 @@ package app import ( - clptypes "github.com/Sifchain/sifnode/x/clp/types" - dispensationtypes "github.com/Sifchain/sifnode/x/dispensation/types" storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" m "github.com/cosmos/cosmos-sdk/types/module" "github.com/cosmos/cosmos-sdk/x/upgrade/types" ) -const releaseVersion = "0.13.2" +const releaseVersion = "0.13.3" func SetupHandlers(app *SifchainApp) { app.UpgradeKeeper.SetUpgradeHandler(releaseVersion, func(ctx sdk.Context, plan types.Plan, vm m.VersionMap) (m.VersionMap, error) { app.Logger().Info("Running upgrade handler for " + releaseVersion) - amt, ok := sdk.NewIntFromString("150000000000000000000000000") - if !ok { - panic("error converting mint amount") - } - mintCoins := sdk.NewCoins(sdk.NewCoin(clptypes.GetSettlementAsset().Symbol, amt)) - err := app.BankKeeper.MintCoins(ctx, dispensationtypes.ModuleName, mintCoins) - if err != nil { - panic(err) - } - address, err := sdk.AccAddressFromBech32("sif1ct2s3t8u2kffjpaekhtngzv6yc4vm97xajqyl3") - if err != nil { - panic(err) - } - err = app.BankKeeper.SendCoinsFromModuleToAccount(ctx, dispensationtypes.ModuleName, address, mintCoins) - if err != nil { - panic(err) - } return app.mm.RunMigrations(ctx, app.configurator, vm) }) diff --git a/proto/sifnode/clp/v1/querier.proto b/proto/sifnode/clp/v1/querier.proto index cfc5df019c..c0f138578b 100644 --- a/proto/sifnode/clp/v1/querier.proto +++ b/proto/sifnode/clp/v1/querier.proto @@ -152,6 +152,10 @@ message ParamsRes { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; + string symmetry_ratio_threshold = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; } message RewardParamsReq {} diff --git a/proto/sifnode/clp/v1/tx.proto b/proto/sifnode/clp/v1/tx.proto index af69550032..afa496d79a 100644 --- a/proto/sifnode/clp/v1/tx.proto +++ b/proto/sifnode/clp/v1/tx.proto @@ -208,6 +208,10 @@ message MsgSetSymmetryThreshold { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; + string ratio = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; } message MsgSetSymmetryThresholdResponse {} diff --git a/scripts/ibc/tokenregistration/envs/betanet.sh b/scripts/ibc/tokenregistration/envs/betanet.sh index 8f53865f8f..8eddcaffb4 100755 --- a/scripts/ibc/tokenregistration/envs/betanet.sh +++ b/scripts/ibc/tokenregistration/envs/betanet.sh @@ -42,8 +42,8 @@ SIFCHAIN_ID=sifchain-1 \ BAND_CHANNEL_ID= \ BAND_COUNTERPARTY_CHANNEL_ID= \ SECRET_CHAIN_ID=secret-4 \ - SECRET_CHANNEL_ID=channel-33 \ - SECRET_COUNTERPARTY_CHANNEL_ID=channel-4 \ + SECRET_CHANNEL_ID=channel-65 \ + SECRET_COUNTERPARTY_CHANNEL_ID=channel-15 \ COMDEX_CHAIN_ID=comdex-1 \ COMDEX_CHANNEL_ID=channel-30 \ COMDEX_COUNTERPARTY_CHANNEL_ID=channel-8 @@ -58,4 +58,10 @@ SIFCHAIN_ID=sifchain-1 \ BITCANNA_COUNTERPARTY_CHANNEL_ID=channel-2 \ BITSONG_CHAIN_ID=bitsong-2b \ BITSONG_CHANNEL_ID=channel-36 \ - BITSONG_COUNTERPARTY_CHANNEL_ID=channel-6 \ No newline at end of file + BITSONG_COUNTERPARTY_CHANNEL_ID=channel-6 \ + STARNAME_CHAIN_ID=iov-mainnet-ibc \ + STARNAME_CHANNEL_ID=channel-54 \ + STARNAME_COUNTERPARTY_CHANNEL_ID=channel-18 \ + EVMOS_CHAIN_ID=evmos_9001-2 \ + EVMOS_CHANNEL_ID=channel-55 \ + EVMOS_COUNTERPARTY_CHANNEL_ID=channel-7 \ No newline at end of file diff --git a/scripts/ibc/tokenregistration/generate-ibc-jsons.sh b/scripts/ibc/tokenregistration/generate-ibc-jsons.sh index fd756bb473..1e67c3b94a 100755 --- a/scripts/ibc/tokenregistration/generate-ibc-jsons.sh +++ b/scripts/ibc/tokenregistration/generate-ibc-jsons.sh @@ -404,3 +404,39 @@ sifnoded q tokenregistry generate -o json \ echo "\n\ngenerated entry for $BITCANNA_CHAIN_ID" cat $SIFCHAIN_ID/ubcna.json | jq + +sifnoded q tokenregistry generate -o json \ + --token_base_denom=uiov \ + --token_ibc_counterparty_chain_id=$STARNAME_CHAIN_ID \ + --token_ibc_channel_id=$STARNAME_CHANNEL_ID \ + --token_ibc_counterparty_channel_id=$STARNAME_COUNTERPARTY_CHANNEL_ID \ + --token_ibc_counterparty_denom="" \ + --token_unit_denom="" \ + --token_decimals=6 \ + --token_display_name="Starname" \ + --token_external_symbol="" \ + --token_permission_clp=true \ + --token_permission_ibc_export=true \ + --token_permission_ibc_import=true | jq > $SIFCHAIN_ID/uiov.json + +echo "\n\ngenerated entry for $STARNAME_CHAIN_ID" + +cat $SIFCHAIN_ID/uiov.json | jq + +sifnoded q tokenregistry generate -o json \ + --token_base_denom=aevmos \ + --token_ibc_counterparty_chain_id=$EVMOS_CHAIN_ID \ + --token_ibc_channel_id=$EVMOS_CHANNEL_ID \ + --token_ibc_counterparty_channel_id=$EVMOS_COUNTERPARTY_CHANNEL_ID \ + --token_ibc_counterparty_denom="" \ + --token_unit_denom="" \ + --token_decimals=6 \ + --token_display_name="Evmos" \ + --token_external_symbol="" \ + --token_permission_clp=true \ + --token_permission_ibc_export=true \ + --token_permission_ibc_import=true | jq > $SIFCHAIN_ID/aevmos.json + +echo "\n\ngenerated entry for $EVMOS_CHAIN_ID" + +cat $SIFCHAIN_ID/aevmos.json | jq diff --git a/scripts/ibc/tokenregistration/sifchain-1/aevmos.json b/scripts/ibc/tokenregistration/sifchain-1/aevmos.json new file mode 100644 index 0000000000..c37523692d --- /dev/null +++ b/scripts/ibc/tokenregistration/sifchain-1/aevmos.json @@ -0,0 +1,26 @@ +{ + "entries": [ + { + "decimals": "6", + "denom": "ibc/57BB0CFF9782730595988FD330AA41605B0628E11507BABC1207B830A23493B9", + "base_denom": "aevmos", + "path": "transfer/channel-55", + "ibc_channel_id": "channel-55", + "ibc_counterparty_channel_id": "channel-7", + "display_name": "Evmos", + "display_symbol": "", + "network": "", + "address": "", + "external_symbol": "", + "transfer_limit": "", + "permissions": [ + "CLP", + "IBCEXPORT", + "IBCIMPORT" + ], + "unit_denom": "", + "ibc_counterparty_denom": "", + "ibc_counterparty_chain_id": "evmos_9001-2" + } + ] +} diff --git a/scripts/ibc/tokenregistration/sifchain-1/scrt.json b/scripts/ibc/tokenregistration/sifchain-1/scrt.json index 1e967fa448..f528abda1f 100644 --- a/scripts/ibc/tokenregistration/sifchain-1/scrt.json +++ b/scripts/ibc/tokenregistration/sifchain-1/scrt.json @@ -2,11 +2,11 @@ "entries": [ { "decimals": "6", - "denom": "ibc/AB71F94BB809FB05FB4547C471A92C3F9826BA24E660BB4782B5ED61FB9AB867", + "denom": "ibc/345D30E8ED06B47FC538ED131D99D16126F07CD6F8B35DE96AAF4C1E445AF466", "base_denom": "uscrt", - "path": "transfer/channel-33", - "ibc_channel_id": "channel-33", - "ibc_counterparty_channel_id": "channel-4", + "path": "transfer/channel-65", + "ibc_channel_id": "channel-65", + "ibc_counterparty_channel_id": "channel-15", "display_name": "Secret", "display_symbol": "", "network": "", diff --git a/scripts/ibc/tokenregistration/sifchain-1/uiov.json b/scripts/ibc/tokenregistration/sifchain-1/uiov.json new file mode 100644 index 0000000000..9a74a17b1d --- /dev/null +++ b/scripts/ibc/tokenregistration/sifchain-1/uiov.json @@ -0,0 +1,26 @@ +{ + "entries": [ + { + "decimals": "6", + "denom": "ibc/F20C4E30E4202C11FE009D6D58B2FF212C99084CB6F767287A51A93EFD960086", + "base_denom": "uiov", + "path": "transfer/channel-54", + "ibc_channel_id": "channel-54", + "ibc_counterparty_channel_id": "channel-18", + "display_name": "Starname", + "display_symbol": "", + "network": "", + "address": "", + "external_symbol": "", + "transfer_limit": "", + "permissions": [ + "CLP", + "IBCEXPORT", + "IBCIMPORT" + ], + "unit_denom": "", + "ibc_counterparty_denom": "", + "ibc_counterparty_chain_id": "iov-mainnet-ibc" + } + ] +} diff --git a/version b/version index 9beb74d490..288adf538f 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.13.2 +0.13.3 diff --git a/x/clp/client/cli/flags.go b/x/clp/client/cli/flags.go index e6117bfd0c..bf444735a4 100644 --- a/x/clp/client/cli/flags.go +++ b/x/clp/client/cli/flags.go @@ -31,6 +31,7 @@ const ( FlagMintParams = "mint-params" FlagMinter = "minter" FlagSymmetryThreshold = "threshold" + FlagSymmetryRatioThreshold = "ratio" ) // common flagsets to add to various functions @@ -60,6 +61,8 @@ var ( FsFlagNewPolicy = flag.NewFlagSet("", flag.ContinueOnError) FsFlagMintParams = flag.NewFlagSet("", flag.ContinueOnError) FsFlagMinter = flag.NewFlagSet("", flag.ContinueOnError) + FsSymmetryThreshold = flag.NewFlagSet("", flag.ContinueOnError) + FsSymmetryRatioThreshold = flag.NewFlagSet("", flag.ContinueOnError) ) func init() { @@ -89,4 +92,6 @@ func init() { FsFlagRewardPeriods.String(FlagRewardPeriods, "", "Path to Json File containing reward periods") FsFlagMintParams.String(FlagMintParams, "", "Inflation") FsFlagMinter.String(FlagMinter, "", "Inflation Max") + FsSymmetryThreshold.String(FlagSymmetryThreshold, "", "Set slippage adjustement threshold for symmetric liquitidy add") + FsSymmetryRatioThreshold.String(FlagSymmetryRatioThreshold, "", "Set ratio threshold for symmetric liquitidy add") } diff --git a/x/clp/client/cli/tx.go b/x/clp/client/cli/tx.go index 3c71bc2bfa..fd3121217e 100644 --- a/x/clp/client/cli/tx.go +++ b/x/clp/client/cli/tx.go @@ -133,9 +133,14 @@ func GetCmdSetSymmetryThreshold() *cobra.Command { if err != nil { return err } + ratioThreshold, err := sdk.NewDecFromStr(viper.GetString(FlagSymmetryRatioThreshold)) + if err != nil { + return err + } msg := types.MsgSetSymmetryThreshold{ Signer: signer.String(), Threshold: threshold, + Ratio: ratioThreshold, } if err := msg.ValidateBasic(); err != nil { return err @@ -143,7 +148,8 @@ func GetCmdSetSymmetryThreshold() *cobra.Command { return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), &msg) }, } - cmd.Flags().String(FlagSymmetryThreshold, "", "") + cmd.Flags().AddFlagSet(FsSymmetryThreshold) + cmd.Flags().AddFlagSet(FsSymmetryRatioThreshold) flags.AddTxFlagsToCmd(cmd) return cmd } diff --git a/x/clp/keeper/calculations.go b/x/clp/keeper/calculations.go index 49491da227..e2aa4fe092 100644 --- a/x/clp/keeper/calculations.go +++ b/x/clp/keeper/calculations.go @@ -218,7 +218,8 @@ func CalculateWithdrawalFromUnits(poolUnits sdk.Uint, nativeAssetBalance string, // units = ((P (a R + A r))/(2 A R))*slidAdjustment func CalculatePoolUnits(oldPoolUnits, nativeAssetBalance, externalAssetBalance, nativeAssetAmount, - externalAssetAmount sdk.Uint, normalizationFactor sdk.Dec, adjustExternalToken bool, symmetryThreshold sdk.Dec) (sdk.Uint, sdk.Uint, error) { + externalAssetAmount sdk.Uint, normalizationFactor sdk.Dec, adjustExternalToken bool, + symmetryThreshold, ratioThreshold sdk.Dec) (sdk.Uint, sdk.Uint, error) { nf := sdk.NewUintFromBigInt(normalizationFactor.RoundInt().BigInt()) if adjustExternalToken { @@ -286,6 +287,12 @@ func CalculatePoolUnits(oldPoolUnits, nativeAssetBalance, externalAssetBalance, return sdk.ZeroUint(), sdk.ZeroUint(), types.ErrAsymmetricAdd } + ratioDiff := A.Quo(R).Sub(a.Quo(r)).Abs() + + if ratioDiff.GT(ratioThreshold) { + return sdk.ZeroUint(), sdk.ZeroUint(), types.ErrAsymmetricRatioAdd + } + numerator := P.Mul(a.Mul(R).Add(A.Mul(r))) denominator := sdk.NewDec(2).Mul(A).Mul(R) stakeUnits := numerator.Quo(denominator).Mul(slipAdjustment) diff --git a/x/clp/keeper/calculations_test.go b/x/clp/keeper/calculations_test.go index 0a43fcd4bc..22d4690b2e 100644 --- a/x/clp/keeper/calculations_test.go +++ b/x/clp/keeper/calculations_test.go @@ -1103,6 +1103,7 @@ func TestKeeper_CalculatePoolUnits(t *testing.T) { tc.normalizationFactor, tc.adjustExternalToken, sdk.NewDecWithPrec(1, 4), + sdk.NewDecWithPrec(1, 4), ) }) return @@ -1117,6 +1118,7 @@ func TestKeeper_CalculatePoolUnits(t *testing.T) { tc.normalizationFactor, tc.adjustExternalToken, sdk.NewDecWithPrec(1, 4), + sdk.NewDecWithPrec(1, 4), ) if tc.errString != nil { diff --git a/x/clp/keeper/grpc_query.go b/x/clp/keeper/grpc_query.go index be60375872..a055ef3d03 100755 --- a/x/clp/keeper/grpc_query.go +++ b/x/clp/keeper/grpc_query.go @@ -237,8 +237,9 @@ func (k Querier) GetParams(c context.Context, _ *types.ParamsReq) (*types.Params ctx := sdk.UnwrapSDKContext(c) params := k.Keeper.GetParams(ctx) threshold := k.Keeper.GetSymmetryThreshold(ctx) + ratioThreshold := k.Keeper.GetSymmetryRatio(ctx) - return &types.ParamsRes{Params: ¶ms, SymmetryThreshold: threshold}, nil + return &types.ParamsRes{Params: ¶ms, SymmetryThreshold: threshold, SymmetryRatioThreshold: ratioThreshold}, nil } func (k Querier) GetRewardParams(c context.Context, _ *types.RewardParamsReq) (*types.RewardParamsRes, error) { diff --git a/x/clp/keeper/keeper.go b/x/clp/keeper/keeper.go index 634c53e8c9..e3cc4e83e9 100644 --- a/x/clp/keeper/keeper.go +++ b/x/clp/keeper/keeper.go @@ -110,6 +110,17 @@ func (k Keeper) GetSymmetryThreshold(ctx sdk.Context) sdk.Dec { return setThreshold.Threshold } +func (k Keeper) GetSymmetryRatio(ctx sdk.Context) sdk.Dec { + store := ctx.KVStore(k.storeKey) + bz := store.Get(types.SymmetryThresholdPrefix) + if bz == nil { + return sdk.NewDecWithPrec(5, 4) + } + var setThreshold types.MsgSetSymmetryThreshold + k.cdc.MustUnmarshal(bz, &setThreshold) + return setThreshold.Ratio +} + func (k Keeper) SetSymmetryThreshold(ctx sdk.Context, setThreshold *types.MsgSetSymmetryThreshold) { store := ctx.KVStore(k.storeKey) bz := k.cdc.MustMarshal(setThreshold) diff --git a/x/clp/keeper/migrations.go b/x/clp/keeper/migrations.go index 7d57219cd9..174a1520c1 100644 --- a/x/clp/keeper/migrations.go +++ b/x/clp/keeper/migrations.go @@ -43,3 +43,40 @@ func (m Migrator) MigrateToVer2(ctx sdk.Context) error { } return nil } + +func (m Migrator) MigrateToVer3(ctx sdk.Context) error { + type LPS struct { + address string + units sdk.Uint + } + lps := []LPS{ + {"sif1smknl4uf89ef84kg020ff7ask7l0sxz3s93gva", sdk.NewUintFromString("49661617604396299845632")}, + {"sif1gy2ne7m62uer4h5s4e7xlfq7aeem5zpwx6nu9q", sdk.NewUintFromString("57436791960686469054464")}, + {"sif1uk77p6he26undp9wjjav6ygtu53kswl60cd5va", sdk.NewUintFromString("54301402049261093257216")}, + {"sif1hspkfnzexvn4drk9dlfpg8n0ppw8sxsl00t65a", sdk.NewUintFromString("55396192200751201648640")}, + {"sif1y2rfrgh374gd40gj0yusjasw2paaysahu9qk5j", sdk.NewUintFromString("138696029054663414251520")}, + {"sif1ra9563z5tn2lmqhydt2atrgzftk2d7umyr4vqw", sdk.NewUintFromString("139123862445111950442496")}} + + symbol := "cusdc" + + for _, lp := range lps { + l, err := m.keeper.GetLiquidityProvider(ctx, symbol, lp.address) + if err != nil { + ctx.Logger().Error("error looking up LP for migration", "lp", lp.address) + continue + } + pool, err := m.keeper.GetPool(ctx, symbol) + if err != nil { + panic(err) + } + + l.LiquidityProviderUnits = l.LiquidityProviderUnits.Sub(lp.units) + m.keeper.SetLiquidityProvider(ctx, &l) + + pool.PoolUnits = pool.PoolUnits.Sub(lp.units) + // nolint:errcheck + m.keeper.SetPool(ctx, &pool) + } + + return nil +} diff --git a/x/clp/keeper/msg_server.go b/x/clp/keeper/msg_server.go index 9a63fc1dd9..e5600757e3 100644 --- a/x/clp/keeper/msg_server.go +++ b/x/clp/keeper/msg_server.go @@ -717,8 +717,9 @@ func (k msgServer) CreatePool(goCtx context.Context, msg *types.MsgCreatePool) ( externalBalance := msg.ExternalAssetAmount normalizationFactor, adjustExternalToken := k.GetNormalizationFactor(eAsset.Decimals) symmetryThreshold := k.GetSymmetryThreshold(ctx) + ratioThreshold := k.GetSymmetryRatio(ctx) poolUnits, lpunits, err := CalculatePoolUnits(sdk.ZeroUint(), sdk.ZeroUint(), sdk.ZeroUint(), - nativeBalance, externalBalance, normalizationFactor, adjustExternalToken, symmetryThreshold) + nativeBalance, externalBalance, normalizationFactor, adjustExternalToken, symmetryThreshold, ratioThreshold) if err != nil { return nil, sdkerrors.Wrap(types.ErrUnableToCreatePool, err.Error()) } @@ -769,6 +770,7 @@ func (k msgServer) AddLiquidity(goCtx context.Context, msg *types.MsgAddLiquidit } normalizationFactor, adjustExternalToken := k.GetNormalizationFactor(eAsset.Decimals) symmetryThreshold := k.GetSymmetryThreshold(ctx) + ratioThreshold := k.GetSymmetryRatio(ctx) newPoolUnits, lpUnits, err := CalculatePoolUnits( pool.PoolUnits, pool.NativeAssetBalance, @@ -777,7 +779,8 @@ func (k msgServer) AddLiquidity(goCtx context.Context, msg *types.MsgAddLiquidit msg.ExternalAssetAmount, normalizationFactor, adjustExternalToken, - symmetryThreshold) + symmetryThreshold, + ratioThreshold) if err != nil { return nil, err } diff --git a/x/clp/module.go b/x/clp/module.go index cf190be17f..9c4fe61f9a 100644 --- a/x/clp/module.go +++ b/x/clp/module.go @@ -136,6 +136,10 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { if err != nil { panic(err) } + err = cfg.RegisterMigration(types.ModuleName, 2, m.MigrateToVer3) + if err != nil { + panic(err) + } } // InitGenesis performs genesis initialization for the clp module. It returns @@ -165,4 +169,4 @@ func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.Val return EndBlocker(ctx, am.keeper) } -func (AppModule) ConsensusVersion() uint64 { return 2 } +func (AppModule) ConsensusVersion() uint64 { return 3 } diff --git a/x/clp/types/errors.go b/x/clp/types/errors.go index b1ec39100b..694155a9e9 100644 --- a/x/clp/types/errors.go +++ b/x/clp/types/errors.go @@ -36,4 +36,5 @@ var ( ErrCannotStartPolicy = sdkerrors.Register(ModuleName, 34, "A new policy can be started only after the current policy has ended") ErrAsymmetricAdd = sdkerrors.Register(ModuleName, 35, "Cannot add liquidity asymmetrically") ErrAsymmetricRemove = sdkerrors.Register(ModuleName, 36, "Cannot remove liquidity asymmetrically") + ErrAsymmetricRatioAdd = sdkerrors.Register(ModuleName, 37, "Cannot add liquidity with asymmetric ratio") ) diff --git a/x/clp/types/querier.pb.go b/x/clp/types/querier.pb.go index 1c0b36285d..e79ab4c48b 100644 --- a/x/clp/types/querier.pb.go +++ b/x/clp/types/querier.pb.go @@ -776,8 +776,9 @@ func (m *ParamsReq) XXX_DiscardUnknown() { var xxx_messageInfo_ParamsReq proto.InternalMessageInfo type ParamsRes struct { - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` - SymmetryThreshold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=symmetry_threshold,json=symmetryThreshold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"symmetry_threshold"` + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` + SymmetryThreshold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=symmetry_threshold,json=symmetryThreshold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"symmetry_threshold"` + SymmetryRatioThreshold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=symmetry_ratio_threshold,json=symmetryRatioThreshold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"symmetry_ratio_threshold"` } func (m *ParamsRes) Reset() { *m = ParamsRes{} } @@ -1030,82 +1031,83 @@ func init() { func init() { proto.RegisterFile("sifnode/clp/v1/querier.proto", fileDescriptor_5f4edede314ca3fd) } var fileDescriptor_5f4edede314ca3fd = []byte{ - // 1187 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, - 0x17, 0xf7, 0x26, 0x69, 0x9a, 0x4c, 0x7f, 0xa4, 0x79, 0x5f, 0x27, 0x71, 0xf6, 0x9b, 0xda, 0x61, + // 1207 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcf, 0x6f, 0x1b, 0xd5, + 0x13, 0xf7, 0xc6, 0x69, 0x9a, 0xbc, 0xfe, 0x48, 0x33, 0x5f, 0x27, 0x71, 0xf6, 0x9b, 0xda, 0x61, 0x15, 0xd2, 0x28, 0xb4, 0xbb, 0x4d, 0x5a, 0x04, 0x05, 0x71, 0x48, 0x54, 0x6a, 0x0e, 0x45, 0x32, - 0x0b, 0x12, 0x12, 0x52, 0xb1, 0xd6, 0xf6, 0xd4, 0x5e, 0xb1, 0xf6, 0xac, 0xf7, 0x4d, 0x42, 0xad, - 0x50, 0x21, 0x21, 0x0e, 0x48, 0x5c, 0x90, 0x7a, 0xe3, 0x80, 0x7a, 0xe1, 0xc0, 0x81, 0x7f, 0x80, - 0x3b, 0x52, 0x0f, 0x48, 0x54, 0xe2, 0x02, 0x1c, 0x0a, 0x4a, 0x38, 0xf4, 0xcf, 0x40, 0x3b, 0x3b, - 0x1b, 0x7b, 0x7f, 0xd9, 0x56, 0x14, 0x81, 0x38, 0x25, 0x3b, 0xef, 0x33, 0x6f, 0x3e, 0xef, 0x33, - 0x6f, 0xde, 0x7b, 0x26, 0x2b, 0x68, 0xdf, 0xef, 0xb0, 0x06, 0x35, 0xea, 0x8e, 0x6b, 0xec, 0x6f, - 0x19, 0xdd, 0x3d, 0xea, 0xd9, 0xd4, 0xd3, 0x5d, 0x8f, 0x71, 0x06, 0x17, 0xa5, 0x55, 0xaf, 0x3b, - 0xae, 0xbe, 0xbf, 0xa5, 0xe6, 0x9b, 0xac, 0xc9, 0x84, 0xc9, 0xf0, 0xff, 0x0b, 0x50, 0xaa, 0x1a, - 0xf3, 0xc1, 0x7b, 0x2e, 0x45, 0x69, 0xfb, 0x7f, 0xcc, 0xe6, 0x5a, 0x9e, 0xd5, 0x0e, 0x8d, 0x9b, - 0x75, 0x86, 0x6d, 0x86, 0x46, 0xcd, 0x42, 0x2a, 0x4e, 0xee, 0x19, 0xfb, 0x5b, 0x35, 0xca, 0x2d, - 0x1f, 0xd7, 0xb4, 0x3b, 0x16, 0xb7, 0x59, 0x47, 0x62, 0x57, 0x9a, 0x8c, 0x35, 0x1d, 0x6a, 0x58, - 0xae, 0x6d, 0x58, 0x9d, 0x0e, 0xe3, 0xc2, 0x28, 0x3d, 0x69, 0x2f, 0x91, 0xb3, 0x15, 0xc6, 0x1c, - 0x93, 0x76, 0x61, 0x91, 0x4c, 0x63, 0xaf, 0x5d, 0x63, 0x4e, 0x41, 0x59, 0x55, 0x36, 0x66, 0x4d, - 0xf9, 0xf5, 0xda, 0xcc, 0x17, 0x8f, 0x4b, 0xb9, 0xe7, 0x8f, 0x4b, 0x39, 0xad, 0x17, 0x82, 0x11, - 0x36, 0xc8, 0x94, 0xcb, 0x24, 0xf4, 0xdc, 0x76, 0x5e, 0x8f, 0xc6, 0xab, 0x0b, 0x98, 0x40, 0xc0, - 0x55, 0x02, 0x75, 0xc7, 0xad, 0xb6, 0x59, 0x63, 0xcf, 0xa1, 0x55, 0xab, 0xd1, 0xf0, 0x28, 0x62, - 0x61, 0x42, 0x1c, 0x71, 0xa9, 0xee, 0xb8, 0x6f, 0x0b, 0xc3, 0x4e, 0xb0, 0xee, 0x93, 0x68, 0x51, - 0xbb, 0xd9, 0xe2, 0x85, 0xc9, 0x55, 0x65, 0x63, 0xd2, 0x94, 0x5f, 0x9a, 0x49, 0x66, 0x7c, 0x9f, - 0xe8, 0x13, 0xbd, 0x43, 0x48, 0x3f, 0x4a, 0xc9, 0x60, 0x5d, 0x0f, 0x24, 0xd1, 0x7d, 0x49, 0x74, - 0x21, 0x89, 0x2e, 0x25, 0xd1, 0x2b, 0x56, 0x93, 0x9a, 0xb4, 0xbb, 0x47, 0x91, 0x9b, 0x03, 0x3b, - 0xb5, 0x1f, 0x95, 0x63, 0xa7, 0x08, 0x9b, 0xe4, 0x8c, 0x4f, 0x17, 0x0b, 0xca, 0xea, 0x64, 0x66, - 0x44, 0x01, 0xe4, 0x74, 0x42, 0x82, 0x72, 0x24, 0x8c, 0x29, 0x11, 0xc6, 0x95, 0x91, 0x61, 0xa0, - 0xcb, 0x3a, 0x48, 0x23, 0x71, 0xbc, 0x4f, 0xf2, 0x77, 0xed, 0xee, 0x9e, 0xdd, 0xb0, 0x79, 0xaf, - 0xe2, 0xb1, 0x7d, 0xbb, 0x41, 0xbd, 0x21, 0x17, 0x0a, 0x97, 0x09, 0x71, 0xdc, 0x18, 0xed, 0x59, - 0xc7, 0x95, 0x7c, 0x07, 0xee, 0xfb, 0xb9, 0x92, 0xea, 0x19, 0xa1, 0x42, 0xc0, 0x09, 0xd7, 0xab, - 0xae, 0x34, 0xc8, 0x9b, 0x78, 0x21, 0xae, 0x5c, 0xd2, 0xc3, 0xbc, 0x13, 0x5f, 0x82, 0xeb, 0x24, - 0xef, 0x47, 0xb3, 0x4f, 0xab, 0x16, 0x22, 0xe5, 0xd5, 0x9a, 0xe5, 0x58, 0x9d, 0x3a, 0x95, 0xec, - 0x20, 0xb0, 0xed, 0xf8, 0xa6, 0xdd, 0xc0, 0x02, 0x37, 0xc9, 0x22, 0x7d, 0xc0, 0xa9, 0xd7, 0xb1, - 0x9c, 0xd8, 0x9e, 0x49, 0xb1, 0x27, 0x1f, 0x5a, 0x23, 0xbb, 0xfa, 0x97, 0x31, 0x15, 0xc9, 0xaf, - 0x4f, 0xc9, 0x79, 0x81, 0xbb, 0x6b, 0x23, 0xf7, 0xb5, 0x8b, 0x6a, 0xa4, 0xc4, 0x34, 0x8a, 0xa5, - 0xe0, 0xc4, 0x49, 0x53, 0x70, 0x40, 0xeb, 0x6f, 0x94, 0x08, 0x03, 0x84, 0x6b, 0x64, 0x5a, 0x84, - 0x15, 0x66, 0xe4, 0x42, 0x5c, 0x57, 0x81, 0x36, 0x25, 0x68, 0x20, 0xb0, 0x89, 0x21, 0x59, 0x36, - 0x79, 0xf2, 0x2c, 0xfb, 0x52, 0x21, 0x85, 0xc4, 0x55, 0xde, 0xb6, 0xb8, 0xf5, 0xaf, 0xc8, 0xf5, - 0x5b, 0x36, 0x1b, 0x84, 0x7b, 0x64, 0x29, 0x99, 0x9e, 0xd5, 0x86, 0xc5, 0x2d, 0xa9, 0xe5, 0x8b, - 0x23, 0x73, 0x54, 0xb8, 0x5a, 0x70, 0xd2, 0x96, 0x33, 0xa5, 0xbe, 0x93, 0x22, 0xf5, 0x49, 0xea, - 0xd2, 0xe7, 0x69, 0xb1, 0x85, 0x89, 0x99, 0xf5, 0xa8, 0x4f, 0x5f, 0xe2, 0x9f, 0xb3, 0x69, 0x20, - 0x98, 0xe4, 0x7f, 0x49, 0x89, 0xc3, 0x54, 0x1d, 0xa3, 0x04, 0x40, 0x42, 0xda, 0x7f, 0x20, 0x85, - 0x6d, 0xb2, 0x90, 0x60, 0x92, 0xd2, 0x51, 0x4e, 0x43, 0xbc, 0x9f, 0x94, 0xf4, 0xb3, 0xfe, 0xa3, - 0xca, 0x9d, 0x23, 0xb3, 0x15, 0x31, 0x80, 0x98, 0xb4, 0xab, 0x7d, 0xad, 0xf4, 0xbf, 0x10, 0x74, - 0x32, 0x1d, 0xcc, 0x26, 0xb2, 0xfe, 0x2f, 0x26, 0x3a, 0x67, 0x00, 0x95, 0x28, 0xb8, 0x47, 0x00, - 0x7b, 0xed, 0x36, 0xe5, 0x5e, 0xaf, 0xca, 0x5b, 0x1e, 0xc5, 0x16, 0x73, 0x1a, 0x41, 0x9d, 0xdf, - 0xd5, 0x9f, 0x3c, 0x2b, 0xe5, 0x7e, 0x7f, 0x56, 0x5a, 0x6f, 0xda, 0xbc, 0xb5, 0x57, 0xd3, 0xeb, - 0xac, 0x6d, 0xc8, 0x51, 0x27, 0xf8, 0x73, 0x0d, 0x1b, 0x1f, 0xc9, 0x31, 0xe9, 0x36, 0xad, 0x9b, - 0xf3, 0xa1, 0xa7, 0xf7, 0x42, 0x47, 0xda, 0x3c, 0x99, 0x33, 0xe9, 0xc7, 0x96, 0xd7, 0xe8, 0xf3, - 0x2d, 0xc7, 0x97, 0x10, 0x6e, 0xc6, 0x48, 0xaf, 0xc4, 0x49, 0x47, 0x36, 0x48, 0xac, 0x36, 0x47, - 0x2e, 0x54, 0xda, 0xdc, 0xed, 0x7b, 0xfe, 0x43, 0x89, 0xae, 0x20, 0x6c, 0xc7, 0x1c, 0xab, 0x09, - 0x35, 0xfa, 0xf0, 0x50, 0x91, 0xb7, 0xc8, 0x25, 0xb7, 0xcd, 0xdd, 0xaa, 0x67, 0x71, 0x5a, 0x95, - 0xbb, 0x83, 0x1c, 0x2c, 0xa6, 0xed, 0x36, 0x2d, 0x4e, 0xa5, 0x87, 0x8b, 0x6e, 0xe4, 0x1b, 0x5e, - 0x25, 0x44, 0x78, 0xa2, 0x2e, 0xab, 0xb7, 0xe4, 0x7d, 0x2f, 0xa7, 0xf9, 0x78, 0xd3, 0x07, 0x98, - 0xb3, 0x6e, 0xf8, 0x6f, 0x56, 0x5f, 0xdc, 0xfe, 0x81, 0x90, 0x33, 0xef, 0xf8, 0x39, 0x02, 0x75, - 0x72, 0xb6, 0x4c, 0xb9, 0x3f, 0x06, 0xc1, 0x52, 0xea, 0x70, 0x44, 0xbb, 0x6a, 0x86, 0x01, 0xb5, - 0xf5, 0xcf, 0x7e, 0xf9, 0xeb, 0xd1, 0xc4, 0x2a, 0x14, 0x0d, 0xb4, 0xef, 0xd7, 0x5b, 0x96, 0xdd, - 0x39, 0x9e, 0x6b, 0x19, 0x73, 0x8c, 0x83, 0xa0, 0x88, 0x3d, 0x84, 0x0f, 0xc9, 0x8c, 0x3c, 0x04, - 0xa1, 0x90, 0xe6, 0xcc, 0x97, 0x5d, 0xcd, 0xb2, 0xa0, 0x56, 0x14, 0xe7, 0x14, 0x60, 0x31, 0xf5, - 0x1c, 0x84, 0x6f, 0x15, 0x92, 0x2f, 0xfb, 0x3d, 0x36, 0x3e, 0x7f, 0xac, 0x8d, 0x7e, 0x78, 0xb4, - 0xab, 0x8e, 0x83, 0x42, 0x6d, 0x47, 0x90, 0x78, 0x1d, 0x6e, 0x25, 0x48, 0x24, 0x1f, 0xfe, 0x71, - 0xe8, 0xc6, 0x41, 0xbf, 0x81, 0x3e, 0x84, 0xef, 0x15, 0x52, 0x48, 0xe3, 0x29, 0xfa, 0xcf, 0xc6, - 0x78, 0xdd, 0x8b, 0x76, 0xd5, 0x71, 0x91, 0xa8, 0xbd, 0x21, 0x38, 0xbf, 0x02, 0x2f, 0x8f, 0xc1, - 0x59, 0x74, 0xd2, 0x28, 0xdf, 0x4f, 0xc8, 0xf9, 0x32, 0xe5, 0xc7, 0xf3, 0x0b, 0xac, 0xa4, 0x0e, - 0x2b, 0xb2, 0x87, 0xa9, 0xc3, 0xac, 0xa8, 0x5d, 0x17, 0x54, 0x36, 0x61, 0x23, 0x41, 0x25, 0x18, - 0xf3, 0x1c, 0x1b, 0x79, 0xf4, 0xf4, 0x47, 0x0a, 0x59, 0x48, 0x53, 0x0b, 0x61, 0x74, 0xa3, 0x17, - 0x09, 0x35, 0x16, 0x0c, 0xb5, 0xab, 0x82, 0xd9, 0x3a, 0xac, 0x8d, 0x21, 0x12, 0xc2, 0x77, 0x19, - 0x77, 0x28, 0x04, 0x1a, 0x7d, 0x33, 0xa1, 0x58, 0xe3, 0x22, 0x51, 0xbb, 0x25, 0xe8, 0xdd, 0x80, - 0xad, 0x71, 0xee, 0x30, 0x50, 0x31, 0x7c, 0x77, 0x35, 0x32, 0xeb, 0xbf, 0xbb, 0xa0, 0x8a, 0x2c, - 0x67, 0x54, 0x70, 0xda, 0x55, 0x33, 0x4d, 0xa8, 0x95, 0xc4, 0xe9, 0xcb, 0xb0, 0x94, 0x7c, 0x7a, - 0x81, 0xdb, 0x03, 0x32, 0x57, 0xa6, 0x7c, 0xb0, 0xb0, 0x42, 0x69, 0x68, 0xd9, 0xa5, 0x5d, 0x75, - 0x04, 0x60, 0x58, 0x61, 0xf1, 0x04, 0x52, 0xd6, 0x53, 0x40, 0x72, 0xc1, 0x0f, 0xf0, 0xb8, 0xf8, - 0xc2, 0xe5, 0x21, 0x85, 0x99, 0x76, 0xd5, 0xa1, 0x66, 0xd4, 0xd6, 0xc4, 0xb1, 0x45, 0x58, 0x49, - 0x06, 0xeb, 0xd7, 0xdf, 0xe0, 0xd0, 0xdd, 0x9d, 0x27, 0x87, 0x45, 0xe5, 0xe9, 0x61, 0x51, 0xf9, - 0xf3, 0xb0, 0xa8, 0x7c, 0x75, 0x54, 0xcc, 0x3d, 0x3d, 0x2a, 0xe6, 0x7e, 0x3d, 0x2a, 0xe6, 0x3e, - 0xb8, 0x32, 0xd0, 0xe0, 0xde, 0x0d, 0x3d, 0x84, 0xbf, 0xf8, 0x1f, 0x08, 0x5f, 0xa2, 0xcb, 0xd5, - 0xa6, 0xc5, 0xcf, 0xf4, 0x1b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc9, 0xff, 0x6b, 0x6f, - 0x10, 0x00, 0x00, + 0x0b, 0x12, 0x12, 0x52, 0xb1, 0xd6, 0xf6, 0xab, 0xbd, 0x62, 0xed, 0xb7, 0xde, 0x79, 0x09, 0xb5, + 0x42, 0x85, 0x84, 0x7a, 0x40, 0xe2, 0x82, 0xd4, 0x3b, 0xea, 0x85, 0x03, 0x07, 0xfe, 0x01, 0xee, + 0x48, 0x3d, 0x20, 0x51, 0x89, 0x0b, 0x70, 0x28, 0x28, 0xe1, 0xd0, 0x3f, 0x03, 0xed, 0xdb, 0xb7, + 0xb6, 0xf7, 0x87, 0x7f, 0x28, 0x8a, 0x40, 0x9c, 0x92, 0xdd, 0xf9, 0xbc, 0x99, 0xcf, 0x7c, 0xde, + 0xec, 0xcc, 0xc8, 0x64, 0x15, 0xed, 0xfb, 0x6d, 0x56, 0xa7, 0x46, 0xcd, 0x71, 0x8d, 0x83, 0x6d, + 0xa3, 0xb3, 0x4f, 0x3d, 0x9b, 0x7a, 0xba, 0xeb, 0x31, 0xce, 0xe0, 0xa2, 0xb4, 0xea, 0x35, 0xc7, + 0xd5, 0x0f, 0xb6, 0xd5, 0x5c, 0x83, 0x35, 0x98, 0x30, 0x19, 0xfe, 0x7f, 0x01, 0x4a, 0x55, 0x63, + 0x3e, 0x78, 0xd7, 0xa5, 0x28, 0x6d, 0xff, 0x8f, 0xd9, 0x5c, 0xcb, 0xb3, 0x5a, 0xa1, 0x71, 0xab, + 0xc6, 0xb0, 0xc5, 0xd0, 0xa8, 0x5a, 0x48, 0x45, 0xe4, 0xae, 0x71, 0xb0, 0x5d, 0xa5, 0xdc, 0xf2, + 0x71, 0x0d, 0xbb, 0x6d, 0x71, 0x9b, 0xb5, 0x25, 0x76, 0xb5, 0xc1, 0x58, 0xc3, 0xa1, 0x86, 0xe5, + 0xda, 0x86, 0xd5, 0x6e, 0x33, 0x2e, 0x8c, 0xd2, 0x93, 0xf6, 0x0a, 0x39, 0x5b, 0x66, 0xcc, 0x31, + 0x69, 0x07, 0x96, 0xc8, 0x0c, 0x76, 0x5b, 0x55, 0xe6, 0xe4, 0x95, 0x35, 0x65, 0x73, 0xce, 0x94, + 0x4f, 0x6f, 0xcc, 0x7e, 0xf9, 0xa4, 0x98, 0x79, 0xf1, 0xa4, 0x98, 0xd1, 0xba, 0x21, 0x18, 0x61, + 0x93, 0x4c, 0xbb, 0x4c, 0x42, 0xcf, 0xed, 0xe4, 0xf4, 0x68, 0xbe, 0xba, 0x80, 0x09, 0x04, 0x5c, + 0x25, 0x50, 0x73, 0xdc, 0x4a, 0x8b, 0xd5, 0xf7, 0x1d, 0x5a, 0xb1, 0xea, 0x75, 0x8f, 0x22, 0xe6, + 0xa7, 0x44, 0x88, 0x4b, 0x35, 0xc7, 0x7d, 0x57, 0x18, 0x76, 0x83, 0xf7, 0x3e, 0x89, 0x26, 0xb5, + 0x1b, 0x4d, 0x9e, 0xcf, 0xae, 0x29, 0x9b, 0x59, 0x53, 0x3e, 0x69, 0x26, 0x99, 0xf5, 0x7d, 0xa2, + 0x4f, 0xf4, 0x0e, 0x21, 0xfd, 0x2c, 0x25, 0x83, 0x0d, 0x3d, 0x90, 0x44, 0xf7, 0x25, 0xd1, 0x85, + 0x24, 0xba, 0x94, 0x44, 0x2f, 0x5b, 0x0d, 0x6a, 0xd2, 0xce, 0x3e, 0x45, 0x6e, 0x0e, 0x9c, 0xd4, + 0x7e, 0x54, 0x7a, 0x4e, 0x11, 0xb6, 0xc8, 0x19, 0x9f, 0x2e, 0xe6, 0x95, 0xb5, 0xec, 0xd0, 0x8c, + 0x02, 0xc8, 0xe9, 0xa4, 0x04, 0xa5, 0x48, 0x1a, 0xd3, 0x22, 0x8d, 0x2b, 0x63, 0xd3, 0x40, 0x97, + 0xb5, 0x91, 0x46, 0xf2, 0xf8, 0x90, 0xe4, 0xee, 0xda, 0x9d, 0x7d, 0xbb, 0x6e, 0xf3, 0x6e, 0xd9, + 0x63, 0x07, 0x76, 0x9d, 0x7a, 0x23, 0x2e, 0x14, 0x2e, 0x13, 0xe2, 0xb8, 0x31, 0xda, 0x73, 0x8e, + 0x2b, 0xf9, 0x0e, 0xdc, 0xf7, 0x0b, 0x25, 0xd5, 0x33, 0x42, 0x99, 0x80, 0x13, 0xbe, 0xaf, 0xb8, + 0xd2, 0x20, 0x6f, 0xe2, 0xa5, 0xb8, 0x72, 0x49, 0x0f, 0x0b, 0x4e, 0xfc, 0x15, 0x5c, 0x27, 0x39, + 0x3f, 0x9b, 0x03, 0x5a, 0xb1, 0x10, 0x29, 0xaf, 0x54, 0x2d, 0xc7, 0x6a, 0xd7, 0xa8, 0x64, 0x07, + 0x81, 0x6d, 0xd7, 0x37, 0xed, 0x05, 0x16, 0xb8, 0x49, 0x96, 0xe8, 0x03, 0x4e, 0xbd, 0xb6, 0xe5, + 0xc4, 0xce, 0x64, 0xc5, 0x99, 0x5c, 0x68, 0x8d, 0x9c, 0xea, 0x5f, 0xc6, 0x74, 0xa4, 0xbe, 0x3e, + 0x27, 0xe7, 0x05, 0xee, 0xae, 0x8d, 0xdc, 0xd7, 0x2e, 0xaa, 0x91, 0x12, 0xd3, 0x28, 0x56, 0x82, + 0x53, 0x27, 0x2d, 0xc1, 0x01, 0xad, 0xbf, 0x51, 0x22, 0x0c, 0x10, 0xae, 0x91, 0x19, 0x91, 0x56, + 0x58, 0x91, 0x8b, 0x71, 0x5d, 0x05, 0xda, 0x94, 0xa0, 0x81, 0xc4, 0xa6, 0x46, 0x54, 0x59, 0xf6, + 0xe4, 0x55, 0xf6, 0x95, 0x42, 0xf2, 0x89, 0xab, 0xbc, 0x6d, 0x71, 0xeb, 0x5f, 0x91, 0xeb, 0xb7, + 0xe1, 0x6c, 0x10, 0xee, 0x91, 0xe5, 0x64, 0x79, 0x56, 0xea, 0x16, 0xb7, 0xa4, 0x96, 0x2f, 0x8f, + 0xad, 0x51, 0xe1, 0x6a, 0xd1, 0x49, 0x7b, 0x3d, 0x54, 0xea, 0x3b, 0x29, 0x52, 0x9f, 0xa4, 0x2f, + 0x3d, 0x4a, 0xcb, 0x2d, 0x2c, 0xcc, 0x61, 0x1f, 0xf5, 0xe9, 0x4b, 0xfc, 0xf3, 0x70, 0x1a, 0x08, + 0x26, 0xf9, 0x5f, 0x52, 0xe2, 0xb0, 0x54, 0x27, 0x68, 0x01, 0x90, 0x90, 0xf6, 0x1f, 0x28, 0x61, + 0x9b, 0x2c, 0x26, 0x98, 0xa4, 0x4c, 0x94, 0xd3, 0x10, 0xef, 0x27, 0x25, 0x3d, 0xd6, 0x7f, 0x54, + 0xb9, 0x73, 0x64, 0xae, 0x2c, 0x16, 0x10, 0x93, 0x76, 0xb4, 0x47, 0x53, 0xfd, 0x27, 0x04, 0x9d, + 0xcc, 0x04, 0xbb, 0x89, 0xec, 0xff, 0x4b, 0x89, 0xc9, 0x19, 0x40, 0x25, 0x0a, 0xee, 0x11, 0xc0, + 0x6e, 0xab, 0x45, 0xb9, 0xd7, 0xad, 0xf0, 0xa6, 0x47, 0xb1, 0xc9, 0x9c, 0x7a, 0xd0, 0xe7, 0xf7, + 0xf4, 0xa7, 0xcf, 0x8b, 0x99, 0xdf, 0x9f, 0x17, 0x37, 0x1a, 0x36, 0x6f, 0xee, 0x57, 0xf5, 0x1a, + 0x6b, 0x19, 0x72, 0xd5, 0x09, 0xfe, 0x5c, 0xc3, 0xfa, 0x27, 0x72, 0x4d, 0xba, 0x4d, 0x6b, 0xe6, + 0x42, 0xe8, 0xe9, 0x83, 0xd0, 0x11, 0x34, 0x49, 0xbe, 0xe7, 0xde, 0xf3, 0xc9, 0x0f, 0x04, 0xc9, + 0x9e, 0x28, 0xc8, 0x52, 0xe8, 0xcf, 0xf4, 0xdd, 0xf5, 0x22, 0x69, 0x0b, 0x64, 0xde, 0xa4, 0x9f, + 0x5a, 0x5e, 0xbd, 0xaf, 0x4c, 0x29, 0xfe, 0x0a, 0xe1, 0x66, 0x4c, 0x9e, 0xd5, 0xb8, 0x3c, 0x91, + 0x03, 0x12, 0xab, 0xcd, 0x93, 0x0b, 0xe5, 0x16, 0x77, 0xfb, 0x9e, 0xff, 0x50, 0xa2, 0x6f, 0x10, + 0x76, 0x62, 0x8e, 0xd5, 0x84, 0xee, 0x7d, 0x78, 0xa8, 0xfd, 0x3b, 0xe4, 0x92, 0xdb, 0xe2, 0xae, + 0x2f, 0x0c, 0xad, 0xc8, 0xd3, 0x41, 0xb5, 0x17, 0xd2, 0x4e, 0x9b, 0x16, 0xa7, 0xd2, 0xc3, 0x45, + 0x37, 0xf2, 0x0c, 0xaf, 0x13, 0x22, 0x3c, 0x51, 0x97, 0xd5, 0x9a, 0xb2, 0xb2, 0x56, 0xd2, 0x7c, + 0xbc, 0xed, 0x03, 0xcc, 0x39, 0x37, 0xfc, 0x77, 0xd8, 0x04, 0xde, 0xf9, 0x81, 0x90, 0x33, 0xef, + 0xf9, 0xd5, 0x08, 0x35, 0x72, 0xb6, 0x44, 0xb9, 0xbf, 0x70, 0xc1, 0x72, 0xea, 0x1a, 0x46, 0x3b, + 0xea, 0x10, 0x03, 0x6a, 0x1b, 0x5f, 0xfc, 0xf2, 0xd7, 0xe3, 0xa9, 0x35, 0x28, 0x18, 0x68, 0xdf, + 0xaf, 0x35, 0x2d, 0xbb, 0xdd, 0xdb, 0xa0, 0x19, 0x73, 0x8c, 0xc3, 0xa0, 0x5d, 0x3e, 0x84, 0x8f, + 0xc9, 0xac, 0x0c, 0x82, 0x90, 0x4f, 0x73, 0xe6, 0xcb, 0xae, 0x0e, 0xb3, 0xa0, 0x56, 0x10, 0x71, + 0xf2, 0xb0, 0x94, 0x1a, 0x07, 0xe1, 0x5b, 0x85, 0xe4, 0x4a, 0xfe, 0x34, 0x8f, 0x6f, 0x3a, 0xeb, + 0xe3, 0x3f, 0x71, 0xda, 0x51, 0x27, 0x41, 0xa1, 0xb6, 0x2b, 0x48, 0xbc, 0x09, 0xb7, 0x12, 0x24, + 0x92, 0x2d, 0xa6, 0x97, 0xba, 0x71, 0xd8, 0x1f, 0xd5, 0x0f, 0xe1, 0x7b, 0x85, 0xe4, 0xd3, 0x78, + 0x8a, 0x49, 0xb7, 0x39, 0xd9, 0x9c, 0xa4, 0x1d, 0x75, 0x52, 0x24, 0x6a, 0x6f, 0x09, 0xce, 0xaf, + 0xc1, 0xab, 0x13, 0x70, 0x16, 0x33, 0x3b, 0xca, 0xf7, 0x33, 0x72, 0xbe, 0x44, 0x79, 0x6f, 0x53, + 0x82, 0xd5, 0xd4, 0xb5, 0x48, 0x4e, 0x4b, 0x75, 0x94, 0x15, 0xb5, 0xeb, 0x82, 0xca, 0x16, 0x6c, + 0x26, 0xa8, 0x04, 0x0b, 0xa5, 0x63, 0x23, 0x8f, 0x46, 0x7f, 0xac, 0x90, 0xc5, 0x34, 0xb5, 0x10, + 0xc6, 0xaf, 0x14, 0xa2, 0xa0, 0x26, 0x82, 0xa1, 0x76, 0x55, 0x30, 0xdb, 0x80, 0xf5, 0x09, 0x44, + 0x42, 0xf8, 0x6e, 0xc8, 0x1d, 0x0a, 0x81, 0xc6, 0xdf, 0x4c, 0x28, 0xd6, 0xa4, 0x48, 0xd4, 0x6e, + 0x09, 0x7a, 0x37, 0x60, 0x7b, 0x92, 0x3b, 0x0c, 0x54, 0x0c, 0xbf, 0xbb, 0x2a, 0x99, 0xf3, 0xbf, + 0xbb, 0xa0, 0x8b, 0xac, 0x0c, 0x99, 0x15, 0xb4, 0xa3, 0x0e, 0x35, 0xa1, 0x56, 0x14, 0xd1, 0x57, + 0x60, 0x39, 0xf9, 0xe9, 0x05, 0x6e, 0x0f, 0xc9, 0x7c, 0x89, 0xf2, 0xc1, 0xc6, 0x0a, 0xc5, 0x91, + 0x6d, 0x97, 0x76, 0xd4, 0x31, 0x80, 0x51, 0x8d, 0xc5, 0x13, 0x48, 0xd9, 0x4f, 0x01, 0xc9, 0x05, + 0x3f, 0xc1, 0x5e, 0xf3, 0x85, 0xcb, 0x23, 0x1a, 0x33, 0xed, 0xa8, 0x23, 0xcd, 0xa8, 0xad, 0x8b, + 0xb0, 0x05, 0x58, 0x4d, 0x26, 0xeb, 0xf7, 0xdf, 0x20, 0xe8, 0xde, 0xee, 0xd3, 0xa3, 0x82, 0xf2, + 0xec, 0xa8, 0xa0, 0xfc, 0x79, 0x54, 0x50, 0xbe, 0x3e, 0x2e, 0x64, 0x9e, 0x1d, 0x17, 0x32, 0xbf, + 0x1e, 0x17, 0x32, 0x1f, 0x5d, 0x19, 0x98, 0x72, 0xef, 0x87, 0x1e, 0xc2, 0xdf, 0x16, 0x1e, 0x08, + 0x5f, 0x62, 0xd4, 0x55, 0x67, 0xc4, 0x0f, 0x02, 0x37, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xa0, + 0x4e, 0xf8, 0x28, 0xd9, 0x10, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2196,6 +2198,16 @@ func (m *ParamsRes) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size := m.SymmetryRatioThreshold.Size() + i -= size + if _, err := m.SymmetryRatioThreshold.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuerier(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a { size := m.SymmetryThreshold.Size() i -= size @@ -2663,6 +2675,8 @@ func (m *ParamsRes) Size() (n int) { } l = m.SymmetryThreshold.Size() n += 1 + l + sovQuerier(uint64(l)) + l = m.SymmetryRatioThreshold.Size() + n += 1 + l + sovQuerier(uint64(l)) return n } @@ -4631,6 +4645,40 @@ func (m *ParamsRes) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SymmetryRatioThreshold", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuerier + } + 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 ErrInvalidLengthQuerier + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuerier + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SymmetryRatioThreshold.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuerier(dAtA[iNdEx:]) diff --git a/x/clp/types/tx.pb.go b/x/clp/types/tx.pb.go index 432f86a24d..fb6f64f79e 100644 --- a/x/clp/types/tx.pb.go +++ b/x/clp/types/tx.pb.go @@ -1149,6 +1149,7 @@ var xxx_messageInfo_MsgAddRewardPeriodResponse proto.InternalMessageInfo type MsgSetSymmetryThreshold struct { Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` Threshold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=threshold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"threshold"` + Ratio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=ratio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"ratio"` } func (m *MsgSetSymmetryThreshold) Reset() { *m = MsgSetSymmetryThreshold{} } @@ -1350,97 +1351,98 @@ func init() { func init() { proto.RegisterFile("sifnode/clp/v1/tx.proto", fileDescriptor_a3bff5b30808c4f3) } var fileDescriptor_a3bff5b30808c4f3 = []byte{ - // 1432 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0xcd, 0x6f, 0xdc, 0x44, - 0x14, 0xcf, 0x66, 0xdb, 0x42, 0x5e, 0x9a, 0xb4, 0x71, 0xb2, 0x24, 0x71, 0x92, 0xdd, 0xd6, 0x85, - 0x7e, 0x00, 0xdd, 0xa5, 0x05, 0x04, 0x42, 0x42, 0x22, 0x69, 0xa3, 0x82, 0xc8, 0xc2, 0xca, 0xa1, - 0x2a, 0xe2, 0x62, 0x1c, 0x7b, 0xe2, 0xb5, 0x62, 0x8f, 0x5d, 0xcf, 0xe4, 0x63, 0x0f, 0xa8, 0x48, - 0x1c, 0x91, 0x10, 0x47, 0xe0, 0x84, 0xf8, 0x5f, 0x90, 0xca, 0xad, 0x07, 0x0e, 0x88, 0x43, 0x84, - 0x5a, 0x09, 0x89, 0x03, 0x97, 0xfe, 0x05, 0x68, 0x3e, 0xec, 0xf5, 0x7a, 0x67, 0xd3, 0xb8, 0xa7, - 0x1c, 0x38, 0x25, 0x3b, 0xef, 0xf7, 0x7e, 0xef, 0x6b, 0xde, 0x9b, 0x19, 0xc3, 0x3c, 0xf1, 0xb7, - 0x71, 0xe4, 0xa2, 0x96, 0x13, 0xc4, 0xad, 0xbd, 0x1b, 0x2d, 0x7a, 0xd0, 0x8c, 0x93, 0x88, 0x46, - 0xda, 0xb4, 0x14, 0x34, 0x9d, 0x20, 0x6e, 0xee, 0xdd, 0xd0, 0xe7, 0xbc, 0xc8, 0x8b, 0xb8, 0xa8, - 0xc5, 0xfe, 0x13, 0x28, 0x5d, 0x2f, 0xaa, 0xf7, 0x62, 0x44, 0xa4, 0x6c, 0xa9, 0x20, 0x8b, 0xed, - 0xc4, 0x0e, 0xa5, 0xd0, 0xf8, 0xb7, 0x02, 0xcb, 0x6d, 0xe2, 0xdd, 0x8d, 0x5d, 0x9b, 0xa2, 0x4d, - 0x6a, 0xef, 0xf8, 0xd8, 0x33, 0xd1, 0xbe, 0x9d, 0xb8, 0x1d, 0x0e, 0xd3, 0xae, 0xc1, 0x19, 0xe2, - 0x7b, 0x18, 0x25, 0x0b, 0x95, 0x0b, 0x95, 0xab, 0x13, 0x6b, 0x33, 0x4f, 0x0f, 0x1b, 0x53, 0x3d, - 0x3b, 0x0c, 0xde, 0x33, 0xc4, 0xba, 0x61, 0x4a, 0x80, 0xd6, 0x81, 0x33, 0xa1, 0x8f, 0x29, 0x4a, - 0x16, 0xc6, 0x39, 0xf4, 0xdd, 0x87, 0x87, 0x8d, 0xb1, 0x3f, 0x0f, 0x1b, 0x6f, 0x78, 0x3e, 0xed, - 0xee, 0x6e, 0x35, 0x9d, 0x28, 0x6c, 0x39, 0x11, 0x09, 0x23, 0x22, 0xff, 0x5c, 0x27, 0xee, 0x4e, - 0xeb, 0xa0, 0xc5, 0x94, 0xa4, 0xc7, 0x6d, 0xae, 0x6f, 0x4a, 0x1e, 0xc6, 0x28, 0xbc, 0x5d, 0xa8, - 0x3e, 0x2f, 0xa3, 0x08, 0xc3, 0x94, 0x3c, 0xc6, 0x65, 0x78, 0xf9, 0xa8, 0x70, 0x4d, 0x44, 0xe2, - 0x08, 0x13, 0x64, 0xfc, 0x33, 0x0e, 0x5a, 0x9b, 0x78, 0x26, 0x0a, 0xa3, 0x3d, 0xb4, 0xe1, 0xdf, - 0xdf, 0xf5, 0x5d, 0x9f, 0xf6, 0xca, 0x64, 0xe3, 0x1e, 0x4c, 0xa3, 0x03, 0x8a, 0x12, 0x6c, 0x07, - 0x96, 0x4d, 0x08, 0xa2, 0x3c, 0x2b, 0x93, 0x37, 0x6b, 0xcd, 0xc1, 0x8a, 0x36, 0x57, 0x99, 0x70, - 0x6d, 0xf1, 0xe9, 0x61, 0xa3, 0x26, 0x98, 0x06, 0xd5, 0x0c, 0x73, 0x2a, 0x5d, 0xe0, 0x48, 0x2d, - 0x84, 0xe9, 0x7d, 0x6b, 0xcb, 0x26, 0x3e, 0xb1, 0xe2, 0xc8, 0xc7, 0x34, 0x4d, 0xce, 0x1d, 0x99, - 0x9c, 0xcb, 0x47, 0x26, 0x47, 0x64, 0xe5, 0x23, 0x4c, 0xfb, 0xf6, 0x06, 0xd9, 0x0c, 0xf3, 0xec, - 0xfe, 0x1a, 0xfb, 0xdd, 0xe1, 0x3f, 0xb5, 0x2f, 0x61, 0xc2, 0x26, 0xbd, 0x30, 0x44, 0x34, 0xe9, - 0x2d, 0x9c, 0xe2, 0x96, 0xd6, 0x4a, 0x5b, 0x3a, 0x2f, 0x2c, 0x65, 0x44, 0x86, 0xd9, 0x27, 0x35, - 0x96, 0x41, 0x1f, 0x4e, 0x75, 0x56, 0x89, 0xef, 0xc6, 0x61, 0x7e, 0x58, 0x7c, 0x17, 0xfb, 0x94, - 0x9c, 0x88, 0x72, 0x44, 0x30, 0xbd, 0xef, 0xd3, 0xae, 0x9b, 0xd8, 0xfb, 0xd6, 0x2e, 0xf3, 0x4a, - 0x96, 0xe3, 0x43, 0x99, 0xa4, 0x2b, 0xc7, 0x48, 0xd2, 0x5d, 0x7f, 0xa0, 0x1e, 0x03, 0x74, 0x86, - 0x39, 0x95, 0x2e, 0xf0, 0xa0, 0x8d, 0x8b, 0xd0, 0x18, 0x91, 0x8f, 0x2c, 0x67, 0x3f, 0x54, 0x61, - 0xaa, 0x4d, 0xbc, 0x5b, 0x09, 0xb2, 0x29, 0xea, 0x44, 0x51, 0x70, 0x22, 0x32, 0xf5, 0x15, 0xcc, - 0x62, 0x9b, 0xfa, 0x7b, 0x48, 0xc8, 0x2d, 0x3b, 0x8c, 0x76, 0x31, 0x95, 0xe9, 0x6a, 0x97, 0x4f, - 0x97, 0x2e, 0xac, 0x2a, 0x38, 0x0d, 0x73, 0x46, 0xac, 0x72, 0xc3, 0xab, 0x7c, 0x4d, 0xfb, 0xa6, - 0x02, 0xb5, 0x41, 0x0f, 0x53, 0x0f, 0xc4, 0xae, 0xfe, 0xb4, 0xbc, 0x07, 0xcb, 0xaa, 0xb8, 0x33, - 0x1f, 0x66, 0x07, 0xc2, 0x17, 0x5e, 0x18, 0xf3, 0x50, 0x1b, 0xa8, 0x4c, 0x56, 0xb3, 0x9f, 0xaa, - 0x70, 0xae, 0x4d, 0xbc, 0x55, 0xd7, 0x3d, 0x59, 0xe3, 0xe6, 0xff, 0xaa, 0x61, 0x6a, 0x2c, 0xf2, - 0x19, 0x94, 0xaf, 0x4d, 0x56, 0xb7, 0x9f, 0x2b, 0xfc, 0xa4, 0x68, 0x47, 0xae, 0xbf, 0xdd, 0xeb, - 0x84, 0x34, 0x36, 0x6d, 0x8a, 0x4a, 0x8d, 0xa6, 0x15, 0x80, 0xad, 0x20, 0x72, 0x76, 0xac, 0xc4, - 0xa6, 0x48, 0x9c, 0x9d, 0xe6, 0x04, 0x5f, 0x61, 0x54, 0xda, 0x45, 0x38, 0x9b, 0xec, 0x62, 0xec, - 0x63, 0x4f, 0x00, 0x78, 0xe6, 0xcd, 0x49, 0xb9, 0xc6, 0x21, 0x2b, 0x00, 0x08, 0xbb, 0x56, 0x1c, - 0x05, 0xbe, 0x23, 0x86, 0xf4, 0x8b, 0xe6, 0x04, 0xc2, 0x6e, 0x87, 0x2f, 0xc8, 0x01, 0x5b, 0xf0, - 0x30, 0x0b, 0xe0, 0x97, 0x71, 0x98, 0xcd, 0xce, 0x44, 0x26, 0x2e, 0x7f, 0xf2, 0xbf, 0x0f, 0x4b, - 0x71, 0x48, 0x63, 0x2b, 0x46, 0x89, 0x1f, 0xb9, 0x96, 0x17, 0xed, 0xb1, 0x0c, 0x62, 0x07, 0xe5, - 0x43, 0x5a, 0x60, 0x90, 0x0e, 0x47, 0xdc, 0xc9, 0x00, 0xdc, 0xfd, 0x77, 0x60, 0x21, 0xaf, 0x8e, - 0xe2, 0xc8, 0xe9, 0x5a, 0x01, 0xc2, 0x1e, 0xed, 0xf2, 0x68, 0xab, 0x66, 0xad, 0xaf, 0xbb, 0xce, - 0xa4, 0x1b, 0x5c, 0xa8, 0xbd, 0x0d, 0xf3, 0x79, 0x45, 0x42, 0xed, 0x84, 0x5a, 0x3c, 0x73, 0x3c, - 0x09, 0x55, 0x73, 0xae, 0xaf, 0xb7, 0xc9, 0x84, 0x6b, 0x4c, 0xa6, 0xdd, 0x80, 0xda, 0x80, 0x3d, - 0xec, 0x4a, 0xa5, 0xd3, 0x5c, 0x49, 0xcb, 0x19, 0xc3, 0x2e, 0x57, 0x31, 0x56, 0x60, 0x49, 0x91, - 0xa3, 0x2c, 0x87, 0xbf, 0x56, 0xe1, 0x85, 0x36, 0xf1, 0x36, 0xf7, 0xed, 0xb8, 0x4c, 0xde, 0x3e, - 0x06, 0x20, 0x08, 0xd3, 0xe3, 0x34, 0x6c, 0xed, 0xe9, 0x61, 0x63, 0x46, 0xb2, 0x64, 0x2a, 0x86, - 0x39, 0xc1, 0x7e, 0x88, 0x46, 0xbd, 0x07, 0xd3, 0x09, 0x72, 0x90, 0xbf, 0x87, 0x5c, 0x49, 0x58, - 0x3d, 0xe6, 0x04, 0x18, 0x54, 0x33, 0xcc, 0xa9, 0x74, 0x41, 0x10, 0x6f, 0xc3, 0xa4, 0x30, 0x99, - 0xef, 0xbb, 0xf5, 0xf2, 0x7d, 0xa7, 0xe5, 0xdd, 0x97, 0xdd, 0xc6, 0xe3, 0x97, 0xad, 0xfe, 0x75, - 0x05, 0xe6, 0x42, 0x1f, 0x5b, 0xc2, 0x3a, 0xdb, 0xef, 0xd2, 0xe2, 0x69, 0x6e, 0xf1, 0x93, 0xf2, - 0x16, 0x97, 0x84, 0x45, 0x15, 0xa9, 0x61, 0x6a, 0xa1, 0x8f, 0xcd, 0x74, 0x55, 0xf6, 0xf9, 0x0c, - 0x9f, 0xc1, 0xac, 0x8c, 0x59, 0x69, 0x77, 0x78, 0x77, 0xdc, 0x46, 0x4e, 0x14, 0x86, 0x3e, 0x21, - 0x7e, 0x84, 0xcb, 0x1e, 0xa8, 0x0c, 0xda, 0x0b, 0xb7, 0xa2, 0x40, 0xde, 0x8b, 0xf3, 0x50, 0xbe, - 0xce, 0xa0, 0xe2, 0x1f, 0xb1, 0xcd, 0x8a, 0xc6, 0x32, 0x5f, 0xfe, 0xae, 0xc0, 0x22, 0xdb, 0x86, - 0x98, 0xed, 0xc9, 0xdc, 0x28, 0xba, 0xbf, 0x8b, 0x08, 0x3d, 0x11, 0xa7, 0xc5, 0x3a, 0x9c, 0xce, - 0x5f, 0x82, 0x5a, 0x25, 0x6b, 0x66, 0x0a, 0x6d, 0x39, 0xb1, 0x86, 0xe2, 0x94, 0x69, 0xf8, 0xbd, - 0x02, 0x2b, 0x59, 0x37, 0x8a, 0xeb, 0x3b, 0x49, 0x1b, 0xb2, 0x74, 0x2a, 0x56, 0x61, 0x25, 0x48, - 0x2d, 0x58, 0x09, 0xbb, 0x55, 0xd9, 0x81, 0xc5, 0xc7, 0xb1, 0x18, 0x0f, 0x3c, 0x33, 0xa7, 0x4c, - 0x3d, 0xe8, 0xbb, 0xc1, 0x31, 0x1b, 0x91, 0xb3, 0x23, 0x86, 0x84, 0xb6, 0x0e, 0x8d, 0x61, 0x0a, - 0x87, 0x8d, 0xb7, 0x20, 0x25, 0xa9, 0x72, 0x92, 0xe5, 0x22, 0xc9, 0x2d, 0x0e, 0x12, 0x34, 0xc6, - 0x05, 0xa8, 0x8f, 0x8a, 0x4a, 0x06, 0xfe, 0xad, 0xa8, 0xff, 0xaa, 0xeb, 0xca, 0x47, 0x0b, 0x57, - 0x7c, 0x8e, 0xa0, 0x6f, 0xb1, 0x59, 0xc1, 0x18, 0xa4, 0x7f, 0x64, 0x61, 0xfc, 0x42, 0xf5, 0xea, - 0xe4, 0xcd, 0xe5, 0x62, 0xfd, 0x07, 0xec, 0x4c, 0x25, 0xb9, 0x5f, 0x69, 0x91, 0x86, 0x9c, 0x91, - 0xbe, 0x3e, 0xe0, 0x47, 0xe6, 0x26, 0xa2, 0x9b, 0xf2, 0x9e, 0xff, 0x59, 0x37, 0x41, 0xa4, 0x1b, - 0x05, 0xae, 0xf6, 0xd2, 0xa0, 0xa3, 0x99, 0x57, 0x1b, 0x30, 0x41, 0x53, 0x90, 0xec, 0x95, 0x66, - 0x89, 0xa7, 0xc6, 0x6d, 0xe4, 0x98, 0x7d, 0x02, 0x79, 0x4f, 0x56, 0x39, 0x90, 0xf9, 0xf8, 0x5b, - 0x85, 0xf7, 0xbb, 0xa8, 0x82, 0xd8, 0x6d, 0x23, 0x9d, 0x3b, 0xe9, 0x2d, 0x23, 0xae, 0x28, 0xf9, - 0x50, 0xd2, 0x30, 0x6f, 0xfe, 0x38, 0x09, 0xd5, 0x36, 0xf1, 0x34, 0x1b, 0xce, 0x15, 0x1f, 0xb4, - 0x46, 0xd1, 0xfb, 0xe1, 0xa7, 0x85, 0xfe, 0xea, 0xb3, 0x31, 0xa9, 0x29, 0x2d, 0x86, 0x39, 0xe5, - 0x4b, 0xed, 0xca, 0xb3, 0x39, 0x38, 0x50, 0x6f, 0x1d, 0x13, 0x98, 0x59, 0x34, 0x01, 0x72, 0xef, - 0x9c, 0x15, 0x85, 0x7a, 0x5f, 0xac, 0xbf, 0x72, 0xa4, 0x38, 0xe3, 0xfc, 0x1c, 0xce, 0x0e, 0xdc, - 0xc3, 0x1b, 0x0a, 0xb5, 0x3c, 0x40, 0xbf, 0xf2, 0x0c, 0x40, 0xc6, 0xfc, 0x01, 0x9c, 0xe2, 0x97, - 0x84, 0x79, 0x85, 0x02, 0x13, 0xe8, 0x8d, 0x11, 0x82, 0x8c, 0xc1, 0x85, 0xf3, 0x43, 0x87, 0xd1, - 0x25, 0x85, 0x52, 0x11, 0xa4, 0xbf, 0x76, 0x0c, 0x50, 0x66, 0xa5, 0x0b, 0xe7, 0x0a, 0xd3, 0x57, - 0xbb, 0xa6, 0xd0, 0x57, 0x9f, 0x44, 0xca, 0x1d, 0x33, 0x62, 0x98, 0x6b, 0x14, 0x66, 0x15, 0x23, - 0x4f, 0xbb, 0xae, 0xa2, 0x18, 0x39, 0xf0, 0xf5, 0xe6, 0x71, 0xe1, 0xfd, 0xf8, 0x0a, 0x83, 0x4b, - 0x19, 0x9f, 0x7a, 0xd2, 0x2a, 0xe3, 0x1b, 0x31, 0x07, 0x59, 0xd3, 0x15, 0xdf, 0x06, 0xaa, 0xa6, - 0x2b, 0x60, 0x94, 0x26, 0x46, 0xdc, 0xe0, 0xd9, 0x96, 0x18, 0xba, 0xbd, 0x5f, 0x1a, 0x99, 0x90, - 0x3e, 0x48, 0xb9, 0x25, 0x46, 0xdd, 0x71, 0xb5, 0x07, 0xb0, 0x38, 0xfa, 0x33, 0xe1, 0xeb, 0x23, - 0x99, 0x14, 0x68, 0xfd, 0xad, 0x32, 0xe8, 0xfc, 0x6c, 0x51, 0x1e, 0x27, 0xaa, 0xe6, 0x53, 0x01, - 0x95, 0xb3, 0xe5, 0xa8, 0xf3, 0x41, 0xb3, 0xa1, 0x96, 0x1f, 0xa8, 0x47, 0x0f, 0x84, 0x3c, 0x52, - 0x39, 0x10, 0x54, 0xb3, 0x79, 0x6d, 0xf5, 0xe1, 0xe3, 0x7a, 0xe5, 0xd1, 0xe3, 0x7a, 0xe5, 0xaf, - 0xc7, 0xf5, 0xca, 0xf7, 0x4f, 0xea, 0x63, 0x8f, 0x9e, 0xd4, 0xc7, 0xfe, 0x78, 0x52, 0x1f, 0xfb, - 0x22, 0x7f, 0x00, 0x6c, 0xfa, 0xdb, 0x4e, 0xd7, 0xf6, 0x71, 0x2b, 0xfd, 0x96, 0x7b, 0xc0, 0xbf, - 0xe6, 0xf2, 0x53, 0x60, 0xeb, 0x0c, 0xff, 0x94, 0xfb, 0xe6, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xd3, 0x6b, 0xb8, 0xd3, 0x44, 0x16, 0x00, 0x00, + // 1447 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4d, 0x6f, 0xdc, 0xc4, + 0x1b, 0xcf, 0x66, 0x9b, 0xfe, 0xff, 0x79, 0xd2, 0xa4, 0x8d, 0x93, 0x25, 0x89, 0xf3, 0xb2, 0xad, + 0x0b, 0x7d, 0x01, 0xba, 0x4b, 0x0b, 0x08, 0x84, 0x84, 0x44, 0xd2, 0x46, 0x05, 0x91, 0x85, 0xc8, + 0xa1, 0x2a, 0xe2, 0x62, 0x1c, 0x7b, 0xe2, 0xb5, 0x62, 0xcf, 0xb8, 0x9e, 0xc9, 0xcb, 0x1e, 0x10, + 0x48, 0x1c, 0x91, 0x10, 0x47, 0xe0, 0x84, 0xf8, 0x2e, 0x48, 0xe5, 0xd6, 0x03, 0x07, 0xc4, 0x21, + 0x42, 0xad, 0x84, 0xc4, 0x81, 0x4b, 0x3f, 0x01, 0x9a, 0x17, 0x7b, 0xbd, 0xbb, 0xb3, 0x69, 0xdc, + 0x53, 0x0e, 0x9c, 0x92, 0x9d, 0xe7, 0xf7, 0xfc, 0x9e, 0xb7, 0x99, 0xe7, 0x99, 0x31, 0xcc, 0xd1, + 0x70, 0x07, 0x13, 0x1f, 0x35, 0xbd, 0x28, 0x69, 0xee, 0xdf, 0x6c, 0xb2, 0xc3, 0x46, 0x92, 0x12, + 0x46, 0x8c, 0x29, 0x25, 0x68, 0x78, 0x51, 0xd2, 0xd8, 0xbf, 0x69, 0xce, 0x06, 0x24, 0x20, 0x42, + 0xd4, 0xe4, 0xff, 0x49, 0x94, 0x69, 0xf6, 0xab, 0x77, 0x12, 0x44, 0x95, 0x6c, 0xb1, 0x4f, 0x96, + 0xb8, 0xa9, 0x1b, 0x2b, 0xa1, 0xf5, 0x4f, 0x05, 0x96, 0x5a, 0x34, 0xb8, 0x97, 0xf8, 0x2e, 0x43, + 0x5b, 0xcc, 0xdd, 0x0d, 0x71, 0x60, 0xa3, 0x03, 0x37, 0xf5, 0x37, 0x05, 0xcc, 0xb8, 0x0e, 0x67, + 0x69, 0x18, 0x60, 0x94, 0xce, 0x57, 0x2e, 0x56, 0xae, 0x8d, 0xaf, 0x4d, 0x3f, 0x3d, 0xaa, 0x4f, + 0x76, 0xdc, 0x38, 0x7a, 0xc7, 0x92, 0xeb, 0x96, 0xad, 0x00, 0xc6, 0x26, 0x9c, 0x8d, 0x43, 0xcc, + 0x50, 0x3a, 0x3f, 0x2a, 0xa0, 0x6f, 0x3f, 0x3c, 0xaa, 0x8f, 0xfc, 0x71, 0x54, 0x7f, 0x2d, 0x08, + 0x59, 0x7b, 0x6f, 0xbb, 0xe1, 0x91, 0xb8, 0xe9, 0x11, 0x1a, 0x13, 0xaa, 0xfe, 0xdc, 0xa0, 0xfe, + 0x6e, 0xf3, 0xb0, 0xc9, 0x95, 0x94, 0xc7, 0x2d, 0xa1, 0x6f, 0x2b, 0x1e, 0xce, 0x28, 0xbd, 0x9d, + 0xaf, 0x3e, 0x2f, 0xa3, 0x0c, 0xc3, 0x56, 0x3c, 0xd6, 0x15, 0x78, 0xf1, 0xb8, 0x70, 0x6d, 0x44, + 0x13, 0x82, 0x29, 0xb2, 0xfe, 0x1e, 0x05, 0xa3, 0x45, 0x03, 0x1b, 0xc5, 0x64, 0x1f, 0x6d, 0x84, + 0x0f, 0xf6, 0x42, 0x3f, 0x64, 0x9d, 0x32, 0xd9, 0xb8, 0x0f, 0x53, 0xe8, 0x90, 0xa1, 0x14, 0xbb, + 0x91, 0xe3, 0x52, 0x8a, 0x98, 0xc8, 0xca, 0xc4, 0xad, 0x5a, 0xa3, 0xb7, 0xa2, 0x8d, 0x55, 0x2e, + 0x5c, 0x5b, 0x78, 0x7a, 0x54, 0xaf, 0x49, 0xa6, 0x5e, 0x35, 0xcb, 0x9e, 0xcc, 0x16, 0x04, 0xd2, + 0x88, 0x61, 0xea, 0xc0, 0xd9, 0x76, 0x69, 0x48, 0x9d, 0x84, 0x84, 0x98, 0x65, 0xc9, 0xb9, 0xab, + 0x92, 0x73, 0xe5, 0xd8, 0xe4, 0xc8, 0xac, 0x7c, 0x80, 0x59, 0xd7, 0x5e, 0x2f, 0x9b, 0x65, 0x9f, + 0x3b, 0x58, 0xe3, 0xbf, 0x37, 0xc5, 0x4f, 0xe3, 0x73, 0x18, 0x77, 0x69, 0x27, 0x8e, 0x11, 0x4b, + 0x3b, 0xf3, 0x67, 0x84, 0xa5, 0xb5, 0xd2, 0x96, 0x2e, 0x48, 0x4b, 0x39, 0x91, 0x65, 0x77, 0x49, + 0xad, 0x25, 0x30, 0x07, 0x53, 0x9d, 0x57, 0xe2, 0xdb, 0x51, 0x98, 0x1b, 0x14, 0xdf, 0xc3, 0x21, + 0xa3, 0xa7, 0xa2, 0x1c, 0x04, 0xa6, 0x0e, 0x42, 0xd6, 0xf6, 0x53, 0xf7, 0xc0, 0xd9, 0xe3, 0x5e, + 0xa9, 0x72, 0xbc, 0xaf, 0x92, 0x74, 0xf5, 0x04, 0x49, 0xba, 0x17, 0xf6, 0xd4, 0xa3, 0x87, 0xce, + 0xb2, 0x27, 0xb3, 0x05, 0x11, 0xb4, 0x75, 0x09, 0xea, 0x43, 0xf2, 0x91, 0xe7, 0xec, 0xfb, 0x2a, + 0x4c, 0xb6, 0x68, 0x70, 0x3b, 0x45, 0x2e, 0x43, 0x9b, 0x84, 0x44, 0xa7, 0x22, 0x53, 0x5f, 0xc0, + 0x0c, 0x76, 0x59, 0xb8, 0x8f, 0xa4, 0xdc, 0x71, 0x63, 0xb2, 0x87, 0x99, 0x4a, 0x57, 0xab, 0x7c, + 0xba, 0x4c, 0x69, 0x55, 0xc3, 0x69, 0xd9, 0xd3, 0x72, 0x55, 0x18, 0x5e, 0x15, 0x6b, 0xc6, 0xd7, + 0x15, 0xa8, 0xf5, 0x7a, 0x98, 0x79, 0x20, 0x77, 0xf5, 0xc7, 0xe5, 0x3d, 0x58, 0xd2, 0xc5, 0x9d, + 0xfb, 0x30, 0xd3, 0x13, 0xbe, 0xf4, 0xc2, 0x9a, 0x83, 0x5a, 0x4f, 0x65, 0xf2, 0x9a, 0xfd, 0x58, + 0x85, 0xf3, 0x2d, 0x1a, 0xac, 0xfa, 0xfe, 0xe9, 0x6a, 0x37, 0xff, 0x55, 0x0d, 0x33, 0x6b, 0x41, + 0xf4, 0xa0, 0x62, 0x6d, 0xf2, 0xba, 0xfd, 0x54, 0x11, 0x93, 0xa2, 0x45, 0xfc, 0x70, 0xa7, 0xb3, + 0x19, 0xb3, 0xc4, 0x76, 0x19, 0x2a, 0xd5, 0x9a, 0x96, 0x01, 0xb6, 0x23, 0xe2, 0xed, 0x3a, 0xa9, + 0xcb, 0x90, 0x9c, 0x9d, 0xf6, 0xb8, 0x58, 0xe1, 0x54, 0xc6, 0x25, 0x38, 0x97, 0xee, 0x61, 0x1c, + 0xe2, 0x40, 0x02, 0x44, 0xe6, 0xed, 0x09, 0xb5, 0x26, 0x20, 0xcb, 0x00, 0x08, 0xfb, 0x4e, 0x42, + 0xa2, 0xd0, 0x93, 0x4d, 0xfa, 0xff, 0xf6, 0x38, 0xc2, 0xfe, 0xa6, 0x58, 0x50, 0x0d, 0xb6, 0xcf, + 0xc3, 0x3c, 0x80, 0x9f, 0x47, 0x61, 0x26, 0x9f, 0x89, 0x5c, 0x5c, 0x7e, 0xf2, 0xbf, 0x0b, 0x8b, + 0x49, 0xcc, 0x12, 0x27, 0x41, 0x69, 0x48, 0x7c, 0x27, 0x20, 0xfb, 0x3c, 0x83, 0xd8, 0x43, 0xc5, + 0x90, 0xe6, 0x39, 0x64, 0x53, 0x20, 0xee, 0xe6, 0x00, 0xe1, 0xfe, 0x5b, 0x30, 0x5f, 0x54, 0x47, + 0x09, 0xf1, 0xda, 0x4e, 0x84, 0x70, 0xc0, 0xda, 0x22, 0xda, 0xaa, 0x5d, 0xeb, 0xea, 0xae, 0x73, + 0xe9, 0x86, 0x10, 0x1a, 0x6f, 0xc2, 0x5c, 0x51, 0x91, 0x32, 0x37, 0x65, 0x8e, 0xc8, 0x9c, 0x48, + 0x42, 0xd5, 0x9e, 0xed, 0xea, 0x6d, 0x71, 0xe1, 0x1a, 0x97, 0x19, 0x37, 0xa1, 0xd6, 0x63, 0x0f, + 0xfb, 0x4a, 0x69, 0x4c, 0x28, 0x19, 0x05, 0x63, 0xd8, 0x17, 0x2a, 0xd6, 0x32, 0x2c, 0x6a, 0x72, + 0x94, 0xe7, 0xf0, 0x97, 0x2a, 0xfc, 0xaf, 0x45, 0x83, 0xad, 0x03, 0x37, 0x29, 0x93, 0xb7, 0x0f, + 0x01, 0x28, 0xc2, 0xec, 0x24, 0x07, 0xb6, 0xf6, 0xf4, 0xa8, 0x3e, 0xad, 0x58, 0x72, 0x15, 0xcb, + 0x1e, 0xe7, 0x3f, 0xe4, 0x41, 0xbd, 0x0f, 0x53, 0x29, 0xf2, 0x50, 0xb8, 0x8f, 0x7c, 0x45, 0x58, + 0x3d, 0x61, 0x07, 0xe8, 0x55, 0xb3, 0xec, 0xc9, 0x6c, 0x41, 0x12, 0xef, 0xc0, 0x84, 0x34, 0x59, + 0x3c, 0x77, 0xeb, 0xe5, 0xcf, 0x9d, 0x51, 0x74, 0x5f, 0x9d, 0x36, 0x11, 0xbf, 0x3a, 0xea, 0x5f, + 0x55, 0x60, 0x36, 0x0e, 0xb1, 0x23, 0xad, 0xf3, 0xfd, 0xae, 0x2c, 0x8e, 0x09, 0x8b, 0x1f, 0x95, + 0xb7, 0xb8, 0x28, 0x2d, 0xea, 0x48, 0x2d, 0xdb, 0x88, 0x43, 0x6c, 0x67, 0xab, 0xea, 0x9c, 0x4f, + 0x8b, 0x1e, 0xcc, 0xcb, 0x98, 0x97, 0x76, 0x57, 0x9c, 0x8e, 0x3b, 0xc8, 0x23, 0x71, 0x1c, 0x52, + 0x1a, 0x12, 0x5c, 0x76, 0xa0, 0x72, 0x68, 0x27, 0xde, 0x26, 0x91, 0xba, 0x17, 0x17, 0xa1, 0x62, + 0x9d, 0x43, 0xe5, 0x3f, 0x72, 0x9b, 0xf5, 0x1b, 0xcb, 0x7d, 0xf9, 0xab, 0x02, 0x0b, 0x7c, 0x1b, + 0x62, 0xbe, 0x27, 0x0b, 0xad, 0xe8, 0xc1, 0x1e, 0xa2, 0xec, 0x54, 0x4c, 0x8b, 0x75, 0x18, 0x2b, + 0x5e, 0x82, 0x9a, 0x25, 0x6b, 0x66, 0x4b, 0x6d, 0xd5, 0xb1, 0x06, 0xe2, 0x54, 0x69, 0xf8, 0xad, + 0x02, 0xcb, 0xf9, 0x69, 0x94, 0xd7, 0x77, 0x9a, 0x1d, 0xc8, 0xd2, 0xa9, 0x58, 0x85, 0xe5, 0x28, + 0xb3, 0xe0, 0xa4, 0xfc, 0x56, 0xe5, 0x46, 0x8e, 0x68, 0xc7, 0xb2, 0x3d, 0x88, 0xcc, 0x9c, 0xb1, + 0xcd, 0xa8, 0xeb, 0x86, 0xc0, 0x6c, 0x10, 0x6f, 0x57, 0x36, 0x09, 0x63, 0x1d, 0xea, 0x83, 0x14, + 0x1e, 0x6f, 0x6f, 0x51, 0x46, 0x52, 0x15, 0x24, 0x4b, 0xfd, 0x24, 0xb7, 0x05, 0x48, 0xd2, 0x58, + 0x17, 0x61, 0x65, 0x58, 0x54, 0x2a, 0xf0, 0x6f, 0x64, 0xfd, 0x57, 0x7d, 0x5f, 0x3d, 0x5a, 0x84, + 0xe2, 0x73, 0x04, 0x7d, 0x9b, 0xf7, 0x0a, 0xce, 0xa0, 0xfc, 0xa3, 0xf3, 0xa3, 0x17, 0xab, 0xd7, + 0x26, 0x6e, 0x2d, 0xf5, 0xd7, 0xbf, 0xc7, 0xce, 0x64, 0x5a, 0xf8, 0x95, 0x15, 0x69, 0xc0, 0x99, + 0xac, 0x25, 0x56, 0xc4, 0xcc, 0xdc, 0x42, 0x6c, 0x4b, 0x5d, 0xf4, 0x3f, 0x69, 0xa7, 0x88, 0xb6, + 0x49, 0xe4, 0x1b, 0x2f, 0xf4, 0x7a, 0x9a, 0xbb, 0xb5, 0x01, 0xe3, 0x2c, 0x03, 0xa9, 0xc3, 0xd2, + 0x28, 0xf1, 0xd6, 0xb8, 0x83, 0x3c, 0xbb, 0x4b, 0x60, 0xdc, 0x81, 0xb1, 0xd4, 0x65, 0x21, 0x51, + 0x7b, 0xb1, 0x2c, 0x93, 0x54, 0x56, 0xd7, 0x6d, 0x5d, 0x18, 0x79, 0xa8, 0xbf, 0x56, 0x44, 0xdb, + 0x90, 0xc5, 0x94, 0x9b, 0x76, 0x68, 0x88, 0xa7, 0xfd, 0xe4, 0xc9, 0x9b, 0x4e, 0x31, 0x94, 0x2c, + 0xcc, 0x5b, 0x3f, 0x4c, 0x40, 0xb5, 0x45, 0x03, 0xc3, 0x85, 0xf3, 0xfd, 0xef, 0x62, 0xab, 0xdf, + 0xfb, 0xc1, 0x17, 0x8a, 0xf9, 0xf2, 0xb3, 0x31, 0x99, 0x29, 0x23, 0x81, 0x59, 0xed, 0x83, 0xef, + 0xea, 0xb3, 0x39, 0x04, 0xd0, 0x6c, 0x9e, 0x10, 0x98, 0x5b, 0xb4, 0x01, 0x0a, 0xcf, 0xa5, 0x65, + 0x8d, 0x7a, 0x57, 0x6c, 0xbe, 0x74, 0xac, 0x38, 0xe7, 0xfc, 0x14, 0xce, 0xf5, 0x5c, 0xe7, 0xeb, + 0x1a, 0xb5, 0x22, 0xc0, 0xbc, 0xfa, 0x0c, 0x40, 0xce, 0xfc, 0x1e, 0x9c, 0x11, 0x77, 0x8d, 0x39, + 0x8d, 0x02, 0x17, 0x98, 0xf5, 0x21, 0x82, 0x9c, 0xc1, 0x87, 0x0b, 0x03, 0x33, 0xed, 0xb2, 0x46, + 0xa9, 0x1f, 0x64, 0xbe, 0x72, 0x02, 0x50, 0x6e, 0xa5, 0x0d, 0xe7, 0xfb, 0x9a, 0xb8, 0x71, 0x5d, + 0xa3, 0xaf, 0x1f, 0x68, 0xda, 0x1d, 0x33, 0x64, 0x26, 0x18, 0x0c, 0x66, 0x34, 0x9d, 0xd3, 0xb8, + 0xa1, 0xa3, 0x18, 0x3a, 0x37, 0xcc, 0xc6, 0x49, 0xe1, 0xdd, 0xf8, 0xfa, 0xfa, 0x9f, 0x36, 0x3e, + 0x7d, 0xc3, 0xd6, 0xc6, 0x37, 0xa4, 0x9d, 0xf2, 0x43, 0xd7, 0xff, 0xc4, 0xd0, 0x1d, 0xba, 0x3e, + 0x8c, 0xd6, 0xc4, 0x90, 0x87, 0x00, 0xdf, 0x12, 0x03, 0x8f, 0x80, 0xcb, 0x43, 0x13, 0xd2, 0x05, + 0x69, 0xb7, 0xc4, 0xb0, 0xab, 0xb2, 0xf1, 0x25, 0x2c, 0x0c, 0xff, 0xda, 0xf8, 0xea, 0x50, 0x26, + 0x0d, 0xda, 0x7c, 0xa3, 0x0c, 0xba, 0xd8, 0x5b, 0xb4, 0x43, 0x49, 0x77, 0xf8, 0x74, 0x40, 0x6d, + 0x6f, 0x39, 0x6e, 0x3e, 0x18, 0x2e, 0xd4, 0x8a, 0x0d, 0xf5, 0xf8, 0x86, 0x50, 0x44, 0x6a, 0x1b, + 0x82, 0xae, 0x37, 0xaf, 0xad, 0x3e, 0x7c, 0xbc, 0x52, 0x79, 0xf4, 0x78, 0xa5, 0xf2, 0xe7, 0xe3, + 0x95, 0xca, 0x77, 0x4f, 0x56, 0x46, 0x1e, 0x3d, 0x59, 0x19, 0xf9, 0xfd, 0xc9, 0xca, 0xc8, 0x67, + 0xc5, 0x01, 0xb0, 0x15, 0xee, 0x78, 0x6d, 0x37, 0xc4, 0xcd, 0xec, 0x93, 0xf0, 0xa1, 0xf8, 0x28, + 0x2c, 0xa6, 0xc0, 0xf6, 0x59, 0xf1, 0x45, 0xf8, 0xf5, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xe4, + 0xdc, 0x24, 0x04, 0x8b, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2928,6 +2930,16 @@ func (m *MsgSetSymmetryThreshold) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + { + size := m.Ratio.Size() + i -= size + if _, err := m.Ratio.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a { size := m.Threshold.Size() i -= size @@ -3425,6 +3437,8 @@ func (m *MsgSetSymmetryThreshold) Size() (n int) { } l = m.Threshold.Size() n += 1 + l + sovTx(uint64(l)) + l = m.Ratio.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -6087,6 +6101,40 @@ func (m *MsgSetSymmetryThreshold) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ratio", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + 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 ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Ratio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:])