Problem
E2E tests are consistently failing on paseo-next-v2 with the following error pattern (visible in Sentry dashboard):
This environment does not allow DotNS self-attestation (Preview/Paseo Next v2 POP_RULES owner-gated setUserPopStatus).
<label>.dot requires ProofOfPersonhoodLite, but this signer is NoStatus.
Affected labels (from e2e/cli/fixtures/accounts.ts):
e2echs00.dot (chaos test)
e2efnd00.dot (foundry)
e2ecol00.dot (collision)
e2ered00.dot (redeploy)
The E2E deployer account (DEDICATED_E2E_DEPLOYER_MNEMONIC//e2e-deployer, SS58 5DtoCFYY2gqk65CkrJAc44LCPZDvrxQCkCvTc2AoX28bCu65) is NoStatus. All the affected labels have a 6-character base (e.g. e2echs), which DotNS classifies as PopLite — requiring at least ProofOfPersonhoodLite.
On paseo-next-v2, self-attestation is owner-gated (setUserPopStatus is restricted to the POP_RULES contract owner), so the account cannot self-grant.
Root cause
The label base names are 6 characters long + 2 trailing digits = PopLite tier. The signer has no PoP status and cannot self-attest on this environment.
Fix options
Option A — Rename labels to NoStatus-compatible (self-contained, no external dependency)
DotNS classifies labels with a base of ≥ 9 characters + exactly 2 trailing digits as NoStatus-compatible. Rename all E2E labels accordingly, e.g.:
| Current |
Suggested |
e2echs00 |
e2echaos00 |
e2efnd00 |
e2efndry00 |
e2ecol00 |
e2ecolsn00 |
e2ered00 |
e2eredep00 |
e2epre00 |
e2eprefl00 |
e2estr00 |
e2estorg00 |
This requires no external grant and works across all environments.
Option B — Grant the deployer ProofOfPersonhoodLite
Contact the paseo-next-v2 environment operator to grant 5DtoCFYY2gqk65CkrJAc44LCPZDvrxQCkCvTc2AoX28bCu65 at least ProofOfPersonhoodLite. This is a one-time op but creates an external dependency and will need repeating if the account ever changes.
Note: the faucet likely won't work here because the account is derived (//e2e-deployer path) and faucets typically don't support derivation paths yet.
Recommendation
Option A — rename the labels. It's a one-line change per label in accounts.ts, removes the environment dependency, and the new names stay descriptive.
Problem
E2E tests are consistently failing on paseo-next-v2 with the following error pattern (visible in Sentry dashboard):
Affected labels (from
e2e/cli/fixtures/accounts.ts):e2echs00.dot(chaos test)e2efnd00.dot(foundry)e2ecol00.dot(collision)e2ered00.dot(redeploy)The E2E deployer account (
DEDICATED_E2E_DEPLOYER_MNEMONIC//e2e-deployer, SS585DtoCFYY2gqk65CkrJAc44LCPZDvrxQCkCvTc2AoX28bCu65) isNoStatus. All the affected labels have a 6-character base (e.g.e2echs), which DotNS classifies as PopLite — requiring at leastProofOfPersonhoodLite.On paseo-next-v2, self-attestation is owner-gated (
setUserPopStatusis restricted to the POP_RULES contract owner), so the account cannot self-grant.Root cause
The label base names are 6 characters long + 2 trailing digits = PopLite tier. The signer has no PoP status and cannot self-attest on this environment.
Fix options
Option A — Rename labels to NoStatus-compatible (self-contained, no external dependency)
DotNS classifies labels with a base of ≥ 9 characters + exactly 2 trailing digits as NoStatus-compatible. Rename all E2E labels accordingly, e.g.:
e2echs00e2echaos00e2efnd00e2efndry00e2ecol00e2ecolsn00e2ered00e2eredep00e2epre00e2eprefl00e2estr00e2estorg00This requires no external grant and works across all environments.
Option B — Grant the deployer ProofOfPersonhoodLite
Contact the paseo-next-v2 environment operator to grant
5DtoCFYY2gqk65CkrJAc44LCPZDvrxQCkCvTc2AoX28bCu65at leastProofOfPersonhoodLite. This is a one-time op but creates an external dependency and will need repeating if the account ever changes.Note: the faucet likely won't work here because the account is derived (
//e2e-deployerpath) and faucets typically don't support derivation paths yet.Recommendation
Option A — rename the labels. It's a one-line change per label in
accounts.ts, removes the environment dependency, and the new names stay descriptive.