Skip to content

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

Draft
mariano-aguero wants to merge 1 commit into
mainfrom
feat/embedded-transport-examples
Draft

WIP: minimal single-feature transport examples (Vite + React)#15
mariano-aguero wants to merge 1 commit into
mainfrom
feat/embedded-transport-examples

Conversation

@mariano-aguero

Copy link
Copy Markdown

⚠️ Draft — blocked until the jaw-mono iframe-transport release

Do not merge yet. These examples demo the iframe-transport feature (transportMode, embedded-iframe default) that ships in @jaw.id/core / @jaw.id/wagmi only after the jaw-mono iframe-transport PR merges and a release is published. The current @jaw.id/core@latest (0.4.5) does not have transportMode, so the popup examples don't typecheck against npm and the iframe ones don't actually exercise the embedded transport yet.

Before un-drafting / merging

  1. Publish @jaw.id/core + @jaw.id/wagmi with iframe-transport.
  2. Pin those deps in all 6 examples/*/package.json to the published version (or confirm latest now includes it), then bun install.
  3. Verify typecheck + build of all 6.

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.

"typecheck": "tsc --noEmit"
},
"dependencies": {
"@jaw.id/core": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/core" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

"typecheck": "tsc --noEmit"
},
"dependencies": {
"@jaw.id/core": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/core" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

},
"dependencies": {
"@jaw.id/core": "latest",
"@jaw.id/wagmi": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/wagmi" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

"typecheck": "tsc --noEmit"
},
"dependencies": {
"@jaw.id/core": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/core" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

},
"dependencies": {
"@jaw.id/core": "latest",
"@jaw.id/wagmi": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/wagmi" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

},
"dependencies": {
"@jaw.id/core": "latest",
"@jaw.id/wagmi": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/wagmi" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

"typecheck": "tsc --noEmit"
},
"dependencies": {
"@jaw.id/core": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/core" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

},
"dependencies": {
"@jaw.id/core": "latest",
"@jaw.id/wagmi": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/wagmi" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

"typecheck": "tsc --noEmit"
},
"dependencies": {
"@jaw.id/core": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/core" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

},
"dependencies": {
"@jaw.id/core": "latest",
"@jaw.id/wagmi": "latest",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[WARNING] dependency-risk dr-unpinned

Dependency "@jaw.id/wagmi" uses an unpinned version spec "latest". Pin to a specific semver range.

latest

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