Skip to content

Council pallet

Derived from live runtime metadata on TRN root (pallet index 57, captured 2026-05-02). For prose-style documentation see Council on the curated reference side.

Pallet index
57
Calls
6
Events
7
Errors
10
Storage items
6
Constants
1

Calls (extrinsics)

Council.set_members

See [Pallet::set_members].

ts
api.tx.council.set_members(new_members: Vec<SeedPrimitivesSignatureAccountId20>, prime: Option<SeedPrimitivesSignatureAccountId20>, old_count: u32)
ArgumentTypeDoc
new_membersVec&lt;SeedPrimitivesSignatureAccountId20&gt;Vec<T::AccountId>
primeOption&lt;SeedPrimitivesSignatureAccountId20&gt;Option<T::AccountId>
old_countu32MemberCount

Call index: 0

Council.execute

See [Pallet::execute].

ts
api.tx.council.execute(proposal: Call, length_bound: Compact<u32>)
ArgumentTypeDoc
proposalCallBox<<T as Config<I>>::Proposal>
length_boundCompact&lt;u32&gt;u32

Call index: 1

Council.propose

See [Pallet::propose].

ts
api.tx.council.propose(threshold: Compact<u32>, proposal: Call, length_bound: Compact<u32>)
ArgumentTypeDoc
thresholdCompact&lt;u32&gt;MemberCount
proposalCallBox<<T as Config<I>>::Proposal>
length_boundCompact&lt;u32&gt;u32

Call index: 2

Council.vote

See [Pallet::vote].

ts
api.tx.council.vote(proposal: H256, index: Compact<u32>, approve: bool)
ArgumentTypeDoc
proposalH256T::Hash
indexCompact&lt;u32&gt;ProposalIndex
approveboolbool

Call index: 3

Council.disapprove_proposal

See [Pallet::disapprove_proposal].

ts
api.tx.council.disapprove_proposal(proposal_hash: H256)
ArgumentTypeDoc
proposal_hashH256T::Hash

Call index: 5

Council.close

See [Pallet::close].

ts
api.tx.council.close(proposal_hash: H256, index: Compact<u32>, proposal_weight_bound: {"refTime":"Compact<u64>","proofSize":"Compact<u64>"}, length_bound: Compact<u32>)
ArgumentTypeDoc
proposal_hashH256T::Hash
indexCompact&lt;u32&gt;ProposalIndex
proposal_weight_bound{"refTime":"Compact&lt;u64&gt;","proofSize":"Compact&lt;u64&gt;"}Weight
length_boundCompact&lt;u32&gt;u32

Call index: 6

Events

Council.Proposed

A motion (given hash) has been proposed (by given account) with a threshold (given MemberCount).

FieldTypeDoc
account[u8;20]
proposal_indexu32
proposal_hashH256
thresholdu32

Council.Voted

A motion (given hash) has been voted on by given account, leaving a tally (yes votes and no votes given respectively as MemberCount).

FieldTypeDoc
account[u8;20]
proposal_hashH256
votedbool
yesu32
nou32

Council.Approved

A motion was approved by the required threshold.

FieldTypeDoc
proposal_hashH256

Council.Disapproved

A motion was not approved by the required threshold.

FieldTypeDoc
proposal_hashH256

Council.Executed

A motion was executed; result will be Ok if it returned without error.

FieldTypeDoc
proposal_hashH256
resultResult&lt;Null, SpRuntimeDispatchError&gt;

Council.MemberExecuted

A single member did some action; result will be Ok if it returned without error.

FieldTypeDoc
proposal_hashH256
resultResult&lt;Null, SpRuntimeDispatchError&gt;

Council.Closed

A proposal was closed because its threshold was reached or after its duration was up.

FieldTypeDoc
proposal_hashH256
yesu32
nou32

Errors

Council.NotMember

Account is not a member

Council.DuplicateProposal

Duplicate proposals not allowed

Council.ProposalMissing

Proposal must exist

Council.WrongIndex

Mismatched index

Council.DuplicateVote

Duplicate vote ignored

Council.AlreadyInitialized

Members are already initialized!

Council.TooEarly

The close call was made too early, before the end of the voting.

Council.TooManyProposals

There can only be a maximum of MaxProposals active proposals.

Council.WrongProposalWeight

The given weight bound for the proposal was too low.

Council.WrongProposalLength

The given length bound for the proposal was too low.

Storage

Council.Proposals

The hashes of the active proposals.

ts
await api.query.council.proposals()

Returns: Vec<H256>

Modifier: Default

Council.ProposalOf

Actual proposal for a given hash, if it's current.

ts
await api.query.council.proposalOf(key1)
  • Key: H256 (hasher: Identity)
  • Returns: Call

Modifier: Optional

Council.Voting

Votes on a given proposal, if it is ongoing.

ts
await api.query.council.voting(key1)
  • Key: H256 (hasher: Identity)
  • Returns: {"index":"u32","threshold":"u32","ayes":"Vec<SeedPrimitivesSignatureAccountId20>","nays":"Vec<SeedPrimitivesSignatureAccountId20>","end":"u32"}

Modifier: Optional

Council.ProposalCount

Proposals so far.

ts
await api.query.council.proposalCount()

Returns: u32

Modifier: Default

Council.Members

The current members of the collective. This is stored sorted (just by value).

ts
await api.query.council.members()

Returns: Vec<SeedPrimitivesSignatureAccountId20>

Modifier: Default

Council.Prime

The prime member that helps determine the default vote behavior in case of absentations.

ts
await api.query.council.prime()

Returns: [u8;20]

Modifier: Optional

Constants

Council.MaxProposalWeight

The maximum weight of a dispatch call that can be proposed and executed.

Type: {"refTime":"Compact<u64>","proofSize":"Compact<u64>"}
SCALE-encoded value: 0x070088526a7413ffffffffffffff7f

Source: live chain metadata from wss://root.rootnet.live/archive/ws · captured 2026-05-02

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.