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.