Open
Description
Right now, you have two options (expedited and "normal"). These exist and both have their own Quorums (by default the expedited required quorum is higher than "normal"). So the basic design is that "if you want a faster prop, you need more quorum".
This feature would be extending the governance module to allow a new way to submit props with a "deadline" and using some kind of step function / lerp or configurable logic to determine what the required quorum for this prop should be
// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary
// proposal Content.
message MsgSubmitProposal {
option (cosmos.msg.v1.signer) = "proposer";
option (amino.name) = "cosmos-sdk/v1/MsgSubmitProposal";
// messages are the arbitrary messages to be executed if proposal passes.
repeated google.protobuf.Any messages = 1;
// initial_deposit is the deposit value that must be paid at proposal submission.
repeated cosmos.base.v1beta1.Coin initial_deposit = 2 [
(gogoproto.nullable) = false,
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins",
(amino.dont_omitempty) = true,
(amino.encoding) = "legacy_coins"
];
// proposer is the account address of the proposer.
string proposer = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"];
// metadata is any arbitrary metadata attached to the proposal.
string metadata = 4;
// title is the title of the proposal.
string title = 5 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.47"];
// summary is the summary of the proposal
string summary = 6 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.47"];
// expedited defines if the proposal is expedited or not
bool expedited = 7 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.50"];
// NEW optional field that can be used to set a desired proposal duration which
// will be used to generate the required quorum for passing
google.protobuf.Duration duration = 7;
}
Metadata
Metadata
Assignees
Labels
No labels