mukan-sdk/x/distribution/autocli.go
Mukan Erkin Törük abb1ff956e
Some checks are pending
Build SimApp / build (amd64) (push) Waiting to run
Build SimApp / build (arm64) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Build & Push / build (push) Waiting to run
Run Gosec / Gosec (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Checks dependencies and mocks generation / Check go mod tidy (push) Waiting to run
Checks dependencies and mocks generation / Check up to date mocks (push) Waiting to run
System Tests / setup (push) Waiting to run
System Tests / test-system (push) Blocked by required conditions
System Tests / test-system-legacy (push) Blocked by required conditions
Tests / Code Coverage / split-test-files (push) Waiting to run
Tests / Code Coverage / tests (00) (push) Blocked by required conditions
Tests / Code Coverage / tests (01) (push) Blocked by required conditions
Tests / Code Coverage / tests (02) (push) Blocked by required conditions
Tests / Code Coverage / tests (03) (push) Blocked by required conditions
Tests / Code Coverage / test-integration (push) Waiting to run
Tests / Code Coverage / test-e2e (push) Waiting to run
Tests / Code Coverage / repo-analysis (push) Blocked by required conditions
Tests / Code Coverage / test-sim-nondeterminism (push) Waiting to run
Tests / Code Coverage / test-clientv2 (push) Waiting to run
Tests / Code Coverage / test-core (push) Waiting to run
Tests / Code Coverage / test-depinject (push) Waiting to run
Tests / Code Coverage / test-errors (push) Waiting to run
Tests / Code Coverage / test-math (push) Waiting to run
Tests / Code Coverage / test-schema (push) Waiting to run
Tests / Code Coverage / test-collections (push) Waiting to run
Tests / Code Coverage / test-cosmovisor (push) Waiting to run
Tests / Code Coverage / test-confix (push) Waiting to run
Tests / Code Coverage / test-store (push) Waiting to run
Tests / Code Coverage / test-log (push) Waiting to run
Tests / Code Coverage / test-x-tx (push) Waiting to run
Tests / Code Coverage / test-x-nft (push) Waiting to run
Tests / Code Coverage / test-x-circuit (push) Waiting to run
Tests / Code Coverage / test-x-feegrant (push) Waiting to run
Tests / Code Coverage / test-x-evidence (push) Waiting to run
Tests / Code Coverage / test-x-upgrade (push) Waiting to run
Tests / Code Coverage / test-tools-benchmark (push) Waiting to run
refactor: complete sovereign stack cleanup — all github.com upstream refs purged
2026-05-11 03:46:06 +03:00

160 lines
6.6 KiB
Go

package distribution
import (
"fmt"
autocliv1 "cosmossdk.io/api/cosmos/autocli/v1"
distributionv1beta1 "cosmossdk.io/api/cosmos/distribution/v1beta1"
"git.cw.tr/mukan-network/mukan-sdk/version"
)
// AutoCLIOptions implements the autocli.HasAutoCLIConfig interface.
func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions {
return &autocliv1.ModuleOptions{
Query: &autocliv1.ServiceCommandDescriptor{
Service: distributionv1beta1.Query_ServiceDesc.ServiceName,
RpcCommandOptions: []*autocliv1.RpcCommandOptions{
{
RpcMethod: "Params",
Use: "params",
Short: "Query the current distribution parameters.",
},
{
RpcMethod: "ValidatorDistributionInfo",
Use: "validator-distribution-info [validator]",
Short: "Query validator distribution info",
Example: fmt.Sprintf(`Example: $ %s query distribution validator-distribution-info [validator-address]`, version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "validator_address"},
},
},
{
RpcMethod: "ValidatorOutstandingRewards",
Use: "validator-outstanding-rewards [validator]",
Short: "Query distribution outstanding (un-withdrawn) rewards for a validator and all their delegations",
Example: fmt.Sprintf(`$ %s query distribution validator-outstanding-rewards [validator-address]`, version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "validator_address"},
},
},
{
RpcMethod: "ValidatorCommission",
Use: "commission [validator]",
Short: "Query distribution validator commission",
Example: fmt.Sprintf(`$ %s query distribution commission [validator-address]`, version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "validator_address"},
},
},
{
RpcMethod: "ValidatorSlashes",
Use: "slashes [validator] [start-height] [end-height]",
Short: "Query distribution validator slashes",
Example: fmt.Sprintf(`$ %s query distribution slashes [validator-address] 0 100`, version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "validator_address"},
{ProtoField: "starting_height"},
{ProtoField: "ending_height"},
},
},
{
RpcMethod: "DelegationRewards",
Use: "rewards-by-validator [delegator-addr] [validator-addr]",
Short: "Query all distribution delegator from a particular validator",
Example: fmt.Sprintf("$ %s query distribution rewards [delegator-address] [validator-address]", version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "delegator_address"},
{ProtoField: "validator_address"},
},
},
{
RpcMethod: "DelegationTotalRewards",
Use: "rewards [delegator-addr]",
Short: "Query all distribution delegator rewards",
Long: "Query all rewards earned by a delegator",
Example: fmt.Sprintf("$ %s query distribution rewards [delegator-address]", version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "delegator_address"},
},
},
{
RpcMethod: "CommunityPool",
Use: "community-pool",
Short: "Query the amount of coins in the community pool",
Example: fmt.Sprintf(`$ %s query distribution community-pool`, version.AppName),
},
},
},
Tx: &autocliv1.ServiceCommandDescriptor{
Service: distributionv1beta1.Msg_ServiceDesc.ServiceName,
RpcCommandOptions: []*autocliv1.RpcCommandOptions{
{
RpcMethod: "SetWithdrawAddress",
Use: "set-withdraw-addr [withdraw-addr]",
Short: "Change the default withdraw address for rewards associated with an address",
Example: fmt.Sprintf("%s tx distribution set-withdraw-addr cosmos1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p --from mykey", version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "withdraw_address"},
},
},
{
RpcMethod: "WithdrawDelegatorReward",
Use: "withdraw-rewards [validator-addr]",
Short: "Withdraw rewards from a given delegation address",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "validator_address"},
},
},
{
RpcMethod: "WithdrawValidatorCommission",
Use: "withdraw-validator-commission [validator-addr]",
Short: "Withdraw commissions from a validator address (must be a validator operator)",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "validator_address"},
},
},
{
RpcMethod: "DepositValidatorRewardsPool",
Use: "fund-validator-rewards-pool [validator-addr] [amount]",
Short: "Fund the validator rewards pool with the specified amount",
Example: fmt.Sprintf("%s tx distribution fund-validator-rewards-pool cosmosvaloper1x20lytyf6zkcrv5edpkfkn8sz578qg5sqfyqnp 100uatom --from mykey", version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "validator_address"},
{ProtoField: "amount", Varargs: true},
},
},
{
RpcMethod: "FundCommunityPool",
Use: "fund-community-pool [amount]",
Short: "Funds the community pool with the specified amount",
Example: fmt.Sprintf(`$ %s tx distribution fund-community-pool 100uatom --from mykey`, version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "amount", Varargs: true},
},
},
{
RpcMethod: "UpdateParams",
Use: "update-params-proposal [params]",
Short: "Submit a proposal to update distribution module params. Note: the entire params must be provided.",
Example: fmt.Sprintf(`%s tx distribution update-params-proposal '{ "community_tax": "20000", "base_proposer_reward": "0", "bonus_proposer_reward": "0", "withdraw_addr_enabled": true }'`, version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "params"}},
GovProposal: true,
},
{
RpcMethod: "CommunityPoolSpend",
Use: "community-pool-spend-proposal [recipient] [amount]",
Example: fmt.Sprintf(`$ %s tx distribution community-pool-spend-proposal [recipient] 100uatom`, version.AppName),
Short: "Submit a proposal to spend from the community pool",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
{ProtoField: "recipient"},
{ProtoField: "amount", Varargs: true},
},
GovProposal: true,
},
},
EnhanceCustomCommand: true,
},
}
}