| Report Date | 2026/07/19 |
| Submitted by | Damilare Akinlose |
@dharjeezy/:matrix.org12GyGD3QhT4i2JJpNzvMf96sxxBLWymz4RdGCxRH5Rj5agKW12024-04-292026/04/25FRAME/Runtime & NodeI am applying for Rank I retention.
During this period, most of my work continued the try_state invariant initiative (issue #239). I merged two more try_state hooks, for pallet-beefy-mmr and pallet-membership, and opened nine more try_state PRs across consensus, governance, collectives, and utility pallets. Each one defines and asserts the storage invariants that hold for the pallet. Alongside this, my litep2p QUIC DNS support was merged, and I continued the pallet-conviction-voting migration to the fungible traits.
Below is a summary of my key contributions:
try_state Hook for Pallet BEEFY MMRThe try_state hook for the BEEFY MMR pallet, which was open and under review at the time of my last report, was merged in PR #11734. The PR defines and asserts the storage invariants that hold for the pallet, as part of issue #239.
try_state Hook for Pallet MembershipI completed and merged a try_state hook for pallet-membership in PR #5850. The change verifies the pallet's key storage invariants, including the relationship between the Members set and the Prime member.
try_state Hook for Pallet Conviction VotingI opened PR #12418 adding a try_state hook to pallet-conviction-voting, defining and asserting the invariants across its voting and delegation storage. The PR is open and under review.
try_state Hook for Pallet Core FellowshipI opened PR #12419 adding a try_state hook to pallet-core-fellowship, verifying the consistency of member ranking and parameter storage. The PR is open and under review.
try_state Hook for Pallet Child BountiesI opened PR #12233 adding a try_state hook to pallet-child-bounties, asserting invariants such as the accounting relationship between parent bounties and their children. The PR is open and under review.
try_state Hook for Pallet GRANDPAI opened PR #12422 adding a try_state hook to pallet-grandpa, covering the invariants of its authority-set and session state. The PR is open and under review.
try_state Hook for Pallet DerivativesI opened PR #12421 adding a try_state hook to pallet-derivatives, defining and asserting the invariants that hold for the pallet. The PR is open and under review.
try_state Hook for Pallet OracleI opened PR #12631 adding a try_state hook to pallet-oracle, asserting the consistency of its feed and value storage. The PR is open and under review.
try_state Hook for Pallet I'm OnlineI opened PR #12632 adding a try_state hook to pallet-im-online, verifying the invariants of its heartbeat and authored-block tracking. The PR is open and under review.
try_state Hook for Pallet IndicesI opened PR #12633 adding a try_state hook to pallet-indices, asserting the invariants around index-to-account assignments and their deposits. The PR is open and under review.
try_state Hook for Pallet LotteryI opened PR #12634 adding a try_state hook to pallet-lottery, verifying the consistency of ticket, participant, and pot accounting. The PR is open and under review.
pallet-conviction-voting to Fungible TraitsI continued work on PR #11142, which migrates pallet-conviction-voting from the legacy Currency and LockableCurrency traits to the fungible traits, replacing locks with freezes via fungible::MutateFreeze. The PR introduces a FreezeReason::ConvictionVoting composite enum, converts all lock operations to their freeze equivalents, and adds a SteppedMigration (LazyMigrationV0ToV1) that lazily converts existing locks to freezes at runtime upgrade, along with its benchmark and a storage version bump. Review iteration continued through this cycle. This contributes to the broader fungibles migration tracked in issue #226.
litep2p: Support Dialing DNS Addresses Over QUICMy extension of the litep2p QUIC transport to resolve DNS multiaddresses (/dns/, /dns4/, /dns6/) before connecting was merged in PR #542. This brings QUIC to feature parity with the existing TCP and WebSocket transports, closes issue #406, and removes a limitation that previously required QUIC peers to be addressed by raw IPs.
| Ranks | Activity thresholds | Agreement thresholds | Member's voting activities | Comments |
|---|---|---|---|---|
| I | 90% | N/A | I have voted on 0 out of 0 referenda in which I was eligible to vote (i.e undefined% voting activity). Out of xx referenda in which members of higher ranks were in complete agreement, I have voted in line with the consensus x times (i.e undefined% voting agreement). | |
| II | 80% | N/A | ||
| III | 70% | 100% | ||
| IV | 60% | 90% | ||
| V | 50% | 80% | ||
| VI | 40% | 70% |
Threshold