Skip to content

chore(release): version packages - #208

Merged
pasevin merged 1 commit into
mainfrom
changeset-release/main
Aug 6, 2026
Merged

chore(release): version packages#208
pasevin merged 1 commit into
mainfrom
changeset-release/main

Conversation

@oz-release-app

@oz-release-app oz-release-app Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

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

@openzeppelin/ui-types@3.5.0

Minor Changes

  • #206 f2d90e3 Thanks @pasevin! - Add the shared write-completion vocabulary and widen IRSCapability.deployOnchainId to a
    completion-keyed result.

    New exports

    • WriteCompletion'submitted' | 'confirmed'. How far a write must progress before the
      capability call resolves; absent ≡ 'confirmed', so today's behaviour is unchanged.
    • WriteCompletionOptions — the known keys (completion, onSubmitted) for
      RelayerExecutionConfig.transactionOptions.
    • DeployOnchainIdConfirmedResult / DeployOnchainIdSubmittedResult /
      DeployOnchainIdOutcome — the completion-keyed union returned by deployOnchainId.

    RelayerExecutionConfig.transactionOptions is now typed as known-keys-plus-passthrough
    (WriteCompletionOptions & Record<string, unknown>). Known keys become compile-checked across
    consumers and adapters; residual keys remain passthrough, so existing callers keep compiling.

    IRSCapability.deployOnchainId now returns Promise<DeployOnchainIdOutcome> instead of
    Promise<DeployOnchainIdResult>.

    This is the migration-relevant change. DeployOnchainIdResult is unchanged and still exported —
    it is the confirmed arm's base — but the method's return type is now a union, because on the
    submit-only path the ONCHAINID address does not exist yet. The submit-only arm therefore has
    no onchainId property at all rather than an optional onchainId?: string on one shared
    shape, so a caller cannot read a fabricated or empty address without narrowing first.

    Migration — narrow on completion before reading onchainId:

    // Before
    const { onchainId } = await irs.deployOnchainId({ holder }, executionConfig);
    use(onchainId);
    
    // After
    const outcome = await irs.deployOnchainId({ holder }, executionConfig);
    if (outcome.completion === 'confirmed') {
      use(outcome.onchainId); // required on this arm
    } else {
      // submit-only: persist outcome.id and resolve the address on resume
      // (e.g. via findIdentityByWallet once the deployment is mined)
    }

    Callers that never request submit-only still only ever receive the 'confirmed' arm at runtime,
    so the narrowing is the only change required. Code that already destructured onchainId
    directly will now fail to compile until the check above is added — that is intentional, and is
    what prevents a submit-only deploy from silently yielding an undefined address.

    Vocabulary and result shapes only: receipt-waiting, IRS / ERC-3643 behaviour, and per-operation
    semantics stay in the adapters.

@oz-release-app
oz-release-app Bot requested a review from a team as a code owner August 6, 2026 11:25
@netlify

netlify Bot commented Aug 6, 2026

Copy link
Copy Markdown

Deploy Preview for openzeppelin-ui ready!

Name Link
🔨 Latest commit 4a72014
🔍 Latest deploy log https://app.netlify.com/projects/openzeppelin-ui/deploys/6a746f3316594800084505c3
😎 Deploy Preview https://deploy-preview-208--openzeppelin-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@pasevin
pasevin merged commit 13207dd into main Aug 6, 2026
14 checks passed
@pasevin
pasevin deleted the changeset-release/main branch August 6, 2026 11:31
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant