Repository navigation
feat(cli): sync ABIs and the store factory pin to dotns v0.8.0 - #317
Conversation
CI Summary
Release - PassedTest this PR Download artifact (GitHub CLI required): gh run download 35830239599 -n cli-release-0.0.0-pr.317 -R paritytech/dotns-sdkInstall globally: npm install -g ./parity-dotns-cli-0.0.0-pr.317.tgzVerify: dotns --helpDeploy Example — Passed
Labelspkg: cli, type: test, dependencies Test - Passed345 passed, 0 failed across 345 tests. |
|
Looks good, Though in UserStore, apart from the access modifier for version(), getter protocolRegistry() is added and also the initialize got the new protocolRegistry_ param (moved from the constructor). Ig no on calls UserStore.initialize directly apart from the on-chain call though would be better if we make a note of this. |
noted in the PR description now, but nowhere in the SDK code since the SDK never calls them and no call site is affected |
Agreed |
Description
Both testnets run dotns v0.8.0 (Paseo upgraded in place, previewnet from genesis), so the SDK catches up.
v0.8.0release viascripts/sync-abis.mjspinned to the tag. The script now covers the whole vendored set:DotnsPopResolver,LabelStore, andUserStorewere imported by the CLI but never refreshed, and its "store ABIs are not published" comment was stale, v0.8.0 publishes both.STORE_FACTORYmoves to the UUPS proxy at0x99605a92…71f6, which the protocol registry on both chains reports; the pre-proxy factory is retired. Previewnet's per-network override from fix(cli): point previewnet at its own StoreFactory #307 collapses, so the two environments share one book again, and the pinned-address test asserts exactly that.deployments/expected.json), matching what they actually pin, with the protocol registry named as the runtime authority. Test titles updated to match.Type
Package
@parity/dotns-cliRelated Issues
Fixes
Completes the v0.8.0 upgrade SDK follow-up.
Checklist
Code
bun run lintpassesbun run formatpassesbun run typecheckpassesDocumentation
Breaking Changes
Breaking changes:
Testing
345 unit tests, typecheck and lint green. Both factory pins verified against the live chains' protocol registries.
Notes
Version bumped to 0.9.6 for the release guard.
All ABI changes are additive for the SDK's call sites: the store reads,
claimUserStore, and lookup paths are unchanged. The visible diffs areversion()moving from pure to view everywhere, one new registrar error, the factory's proxy surface, and the store implementations' initializers:UserStore.initialize(likeLabelStore's) now takes the protocol registry as a second parameter, moved out of the constructor for the beacon-proxy pattern, with aprotocolRegistry()getter added. The SDK never calls the store initializers, the factory invokes them on chain at deploy time, so no call site changes.