chore: new release candidate #2

Merged
peersky merged 1 commit from changeset-release/main into main 2026-09-07 08:40:41 +00:00

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@peeramid-labs/multipass@1.0.0

Major Changes

  • c6f79c4: Security and data-model overhaul of the record lifecycle (single typehash migration):

    • Wallet bound into registrar signature. _TYPEHASH now includes address wallet; register() can no longer be front-run by submitting a signed record under a different wallet.
    • renewRecord() now writes. Renewals route through _setRecord, and the signed record must match the resolved record's id and wallet (new idMismatch/walletMismatch errors) — a fresh signature for another identity can no longer be settled against someone else's query.
    • Signed nonce is stored. _setRecord requires record.nonce > storedNonce and persists the signed value instead of incrementing a counter. Renewal signatures cannot be replayed, and deleteName's nonce bump now actually invalidates outstanding signatures. First registration therefore requires nonce >= 1.
    • nameToId hygiene. _setRecord deletes the previous name mapping before writing (rotated names/commitments stop resolving), and skips the nameToId write for zero names so nameless records don't collide on nameToId[0].
    • bytes32 payload added to Record and the typehash; stored per id and returned by resolveRecord.

    Resulting typehash: registerName(bytes32 name,bytes32 id,bytes32 domainName,uint256 validUntil,uint96 nonce,address wallet,bytes32 payload).

This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @peeramid-labs/multipass@1.0.0 ### Major Changes - c6f79c4: Security and data-model overhaul of the record lifecycle (single typehash migration): - **Wallet bound into registrar signature.** `_TYPEHASH` now includes `address wallet`; `register()` can no longer be front-run by submitting a signed record under a different wallet. - **`renewRecord()` now writes.** Renewals route through `_setRecord`, and the signed record must match the resolved record's `id` and `wallet` (new `idMismatch`/`walletMismatch` errors) — a fresh signature for another identity can no longer be settled against someone else's query. - **Signed nonce is stored.** `_setRecord` requires `record.nonce > storedNonce` and persists the signed value instead of incrementing a counter. Renewal signatures cannot be replayed, and `deleteName`'s nonce bump now actually invalidates outstanding signatures. First registration therefore requires `nonce >= 1`. - **`nameToId` hygiene.** `_setRecord` deletes the previous name mapping before writing (rotated names/commitments stop resolving), and skips the `nameToId` write for zero names so nameless records don't collide on `nameToId[0]`. - **`bytes32 payload` added** to `Record` and the typehash; stored per id and returned by `resolveRecord`. Resulting typehash: `registerName(bytes32 name,bytes32 id,bytes32 domainName,uint256 validUntil,uint96 nonce,address wallet,bytes32 payload)`.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
peeramid-labs/multipass!2
No description provided.