Skip to content

[Feat]: Track originIsRoot reaching the release line the production runtime uses #251

Description

@re-gius

Component

Proof of Personhood

Priority

P0

Summary

DotnsPopController has to recognise a Substrate Root dispatch as an authority to allow governance updates through specific tracks. The only Root check in earlier pallet-revive releases is callerIsRoot, which answers solely for the contract that is the direct callee of the dispatch. The controller is a UUPS proxy, so its implementation executes inside the proxy's delegatecall frame and cannot ask the precompile from its own frame, which is the entire reason RootGatewayDispatcher exists.

originIsRoot (paritytech/polkadot-sdk#12281) returns true whenever the top-level dispatch was Root, regardless of how many contract or delegatecall frames separate the precompile from it. That lets the controller check Root authority directly, and it is the same mechanism any future governance-gated entrypoint would use.

The method is only useful once it exists on the chain dotNS runs on, which means it has to travel a chain of hops in more than one repository. This issue tracks that, so the state is visible in one place rather than spread across pull requests.

Proposal

Follow the method through each hop:

Two dotNS issues depend on the last hop and should not be completed before it:

Acceptance criteria

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions