Struct gekko::runtime::kusama::extrinsics::council::Propose [−][src]
pub struct Propose<A, B, C> where
A: Encode + Decode,
B: Encode + Decode,
C: Encode + Decode, {
pub threshold: A,
pub proposal: B,
pub length_bound: C,
}
Expand description
Add a new proposal to either be voted on or executed directly.
Documentation (provided by the runtime metadata)
Add a new proposal to either be voted on or executed directly.
Requires the sender to be member.
threshold
determines whether proposal
is executed directly (threshold < 2
)
or put up for voting.
Weight
O(B + M + P1)
orO(B + M + P2)
where:B
isproposal
size in bytes (length-fee-bounded)M
is members-count (code- and governance-bounded)- branching is influenced by
threshold
where:P1
is proposal execution complexity (threshold < 2
)P2
is proposals-count (code-bounded) (threshold >= 2
)
- DB:
- 1 storage read
is_member
(codecO(M)
) - 1 storage read
ProposalOf::contains_key
(codecO(1)
) - DB accesses influenced by
threshold
:- EITHER storage accesses done by
proposal
(threshold < 2
) - OR proposal insertion (
threshold <= 2
)- 1 storage mutation
Proposals
(codecO(P2)
) - 1 storage mutation
ProposalCount
(codecO(1)
) - 1 storage write
ProposalOf
(codecO(B)
) - 1 storage write
Voting
(codecO(M)
)
- 1 storage mutation
- EITHER storage accesses done by
- 1 event
- 1 storage read
Type Disclaimer
This library makes no assumptions about parameter types and must be specified manually as generic types. Each field contains a type description which can serve as a hint on what type is being expected, as provided by the runtime meatadata. See the common
module for common types which can be used.
Fields
threshold: A
Type description: Compact<MemberCount>
proposal: B
Type description: Box<<T as Config<I>>::Proposal>
length_bound: C
Type description: Compact<u32>
Trait Implementations
impl<A: Eq, B: Eq, C: Eq> Eq for Propose<A, B, C> where
A: Encode + Decode,
B: Encode + Decode,
C: Encode + Decode,
Auto Trait Implementations
impl<A, B, C> RefUnwindSafe for Propose<A, B, C> where
A: RefUnwindSafe,
B: RefUnwindSafe,
C: RefUnwindSafe,
impl<A, B, C> UnwindSafe for Propose<A, B, C> where
A: UnwindSafe,
B: UnwindSafe,
C: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.