Skip to content

feat: minimal single-feature transport examples (Vite + React) - #15

Closed
mariano-aguero wants to merge 4 commits into
mainfrom
feat/embedded-transport-examples
Closed

mariano-aguero wants to merge 4 commits into
mainfrom
feat/embedded-transport-examples

Conversation

@mariano-aguero

@mariano-aguero mariano-aguero commented Jun 18, 2026

Copy link
Copy Markdown

What this adds

Six minimal, single-feature demos (Vite + React) moved from the jaw-mono monorepo. Each shows one post-connect action and the embedded-iframe (default) vs popup transport explicitly.

Example Transport Shows
wagmi-sign-message iframe personal_sign via the wagmi connector
wagmi-siwe-popup popup Sign-In with Ethereum (EIP-4361)
wagmi-gasless-sendcalls iframe gasless batched wallet_sendCalls (EIP-5792) + ERC-20 paymaster
wagmi-grant-permissions-popup popup grant a scoped permission (ERC-7715)
wagmi-ens-identity iframe resolve the account's ENS subname
core-popup-capabilities popup wallet_getCapabilities (EIP-5792) via the raw provider, no wagmi
  • Deps switched workspace:*latest; READMEs use the jaw-examples pattern (npx nx dev <name> + .env.local); .env.example added per example.
  • Root README.md index + Quick Start updated.
  • Counterpart change in jaw-mono removes examples/ (now lives here).

Six focused demos moved from jaw-mono: sign-message, siwe-popup, gasless-

sendcalls, grant-permissions-popup, ens-identity (wagmi) and core-popup-

capabilities (raw provider). Each shows one post-connect action and the

embedded-iframe vs popup transport explicitly.

HELD pending release: these use transportMode / embedded-iframe, which lands

in @jaw.id/core after the iframe-transport PR ships. Pin @jaw.id/core and

@jaw.id/wagmi to that published version (currently latest=0.4.5 lacks it) and

re-run bun install before merging.
@mariano-aguero mariano-aguero self-assigned this Jun 18, 2026
@mariano-aguero
mariano-aguero requested a review from Ghadi8 June 18, 2026 21:28

@justalab-agents justalab-agents Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR adds six minimal, single-feature Vite + React example apps to the repository (wagmi-sign-message, wagmi-siwe-popup, wagmi-gasless-sendcalls, wagmi-grant-permissions-popup, wagmi-ens-identity, and core-popup-capabilities), each demonstrating one JAW SDK integration with either iframe or popup transport. The README and bun.lock are updated accordingly to document and register the new examples. Notably, the CI build is currently broken — the nextjs-permissions job fails because its working directory doesn't exist on the runner, which cascades and cancels the entire matrix build.

Comment thread examples/core-popup-capabilities/package.json Outdated
Comment thread examples/wagmi-ens-identity/package.json Outdated
Comment thread examples/wagmi-ens-identity/package.json Outdated
Comment thread examples/wagmi-gasless-sendcalls/package.json Outdated
Comment thread examples/wagmi-gasless-sendcalls/package.json Outdated
Comment thread examples/wagmi-grant-permissions-popup/package.json Outdated
Comment thread examples/wagmi-sign-message/package.json Outdated
Comment thread examples/wagmi-sign-message/package.json Outdated
Comment thread examples/wagmi-siwe-popup/package.json Outdated
Comment thread examples/wagmi-siwe-popup/package.json Outdated
@mariano-aguero mariano-aguero changed the title WIP: minimal single-feature transport examples (Vite + React) feat: minimal single-feature transport examples (Vite + React) Jun 29, 2026
@mariano-aguero
mariano-aguero marked this pull request as ready for review June 29, 2026 19:59
The hardcoded matrix referenced example dirs that no longer exist, so
every build job failed instantly. Discover buildable examples at runtime
(any package.json with a build script) and pin the @jaw.id/core and
@jaw.id/wagmi deps to ^1.0.3 instead of the unpinned latest tag.
- Add DOM to the tsc lib so ox's WebAuthn source (shipped as .ts, not skipped by
  skipLibCheck) resolves window/AuthenticatorAttestationResponse/BufferSource.
- eip7702/node-quickstart: assert env vars guaranteed by the boot guard, await
  getCallStatus (it returns a Promise), and bridge the workspace viem version
  skew on the LocalAccount signer argument with a typed cast.

(cherry picked from commit 2ad435b)
- nextjs-wagmi: align with the current SDK shape — permissions use permissionId
  and a top-level spends array, narrow the account union before reading
  capabilities, discriminate the SIWE response by signature, and assert the
  isAddress-validated string.
- nextjs-headless-mode: widen the recipient state off the const-literal address;
  cast the dynamically-built typed-data args past viem's strict generics.
- nextjs-reown: declare @wagmi/core (bun doesn't resolve undeclared transitive
  deps), keeping the storage types compatible with the Reown wagmi adapter.
- eip7702/privy-nextjs: stub the optional @farcaster/mini-app-solana connector
  and render the route dynamically so the Privy provider isn't prerendered.

(cherry picked from commit f82d380)
@mariano-aguero
mariano-aguero deleted the feat/embedded-transport-examples branch June 30, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant