Skip to content

[pull] master from unlock-protocol:master#146

Merged
pull[bot] merged 2 commits into
searchableguy:masterfrom
unlock-protocol:master
Jun 29, 2026
Merged

[pull] master from unlock-protocol:master#146
pull[bot] merged 2 commits into
searchableguy:masterfrom
unlock-protocol:master

Conversation

@pull

@pull pull Bot commented Jun 29, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

julien51 and others added 2 commits June 29, 2026 11:55
…1, 2026) (#16538)

* chore(locksmith): remove OpenZeppelin Defender relayer, sign with local purchaser

Defender sunsets July 1, 2026. Locksmith only used Defender's Relayer to sign
transactions, and the local PURCHASER_CREDENTIALS wallet is already wired as the
fallback signer. Collapse getPurchaser/getAllPurchasers onto that local signer
and drop the Defender SDK, config, and env vars.

- dispatcher.ts: remove Defender branch; both helpers delegate to getLocalPurchaser
- config.ts: remove defenderRelayCredentials interface/loader + now-unused networks import
- package.json: drop @openzeppelin/defender-sdk
- .op.env.production: remove all DEFENDER_RELAY_* vars
- tests: pin local-signer-only contract for getPurchaser/getAllPurchasers

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(unlock-app): warn + re-authorize when credit-card key granter is missing

When a lock has Stripe connected but the credit-card key granter is no longer
authorized on the lock (e.g. after the granter address changed in the Defender
relayer migration), card purchases fail while the Payments UI still shows
"enabled". Add a banner in the CONNECTED state that detects the missing granter
and lets the manager re-authorize in one click (reuses the existing
addKeyGranter flow).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(locksmith): compare purchaser address case-insensitively

getPurchaser compared the requested address to wallet.getAddress() with strict
equality, so a lowercased address (e.g. from the DB/subgraph) would wrongly throw
"unavailable" against the checksummed wallet address. Normalize both sides.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jun 29, 2026
@pull pull Bot added the ⤵️ pull label Jun 29, 2026
@pull pull Bot merged commit ffa61af into searchableguy:master Jun 29, 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