Skip to content

Feat/sdk vue adapter#273

Open
Aboyeji-Isaac wants to merge 3 commits into
Miracle656:mainfrom
Aboyeji-Isaac:feat/sdk-vue-adapter
Open

Feat/sdk vue adapter#273
Aboyeji-Isaac wants to merge 3 commits into
Miracle656:mainfrom
Aboyeji-Isaac:feat/sdk-vue-adapter

Conversation

@Aboyeji-Isaac

Copy link
Copy Markdown

Closes #173

  • Extracts framework-agnostic wallet logic into sdk/src/core/InvisibleWalletCore.ts
  • Adds sdk/vue/@veil/invisible-wallet-vue package with useInvisibleWallet Vue 3 composable
  • Adds runnable Vite + Vue 3 example app at sdk/src/examples/vue/ (register, login, deploy, send)
  • sdk/vue/dist/ is gitignored — build output is not committed

@Aboyeji-Isaac Aboyeji-Isaac requested a review from Miracle656 as a code owner June 1, 2026 12:41
@vercel

vercel Bot commented Jun 1, 2026

Copy link
Copy Markdown

@Aboyeji-Isaac is attempting to deploy a commit to the miracle656's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 1, 2026

Copy link
Copy Markdown

@Aboyeji-Isaac Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Miracle656 Miracle656 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks for the Vue adapter — a framework-agnostic adapter is genuinely wanted, and the sdk/vue/ package + example app look well-structured.

The blocker is sdk/src/core/InvisibleWalletCore.ts — this PR introduces an 882-line parallel reimplementation of the wallet core, including the WebAuthn signAuthEntry / sigVec assembly that feeds the contract's __check_auth. That signing path has six non-obvious correctness requirements (custom-account host-fn invocation, low-S normalization, signature expiration, footprint via re-simulation, sequence handling, and exact sigVec length), and a second implementation that can silently drift from the canonical one in useInvisibleWallet.ts is a real security/maintenance risk.

Could you restructure so the Vue adapter consumes the existing core logic rather than duplicating it? If a framework-agnostic core extraction is the goal, that's a worthwhile change but it should be its own focused PR (factoring useInvisibleWallet into a shared core that both React and Vue import — not a fork of it), so the signing path stays single-sourced and can get a dedicated security review. Happy to review that core-extraction PR separately. Moving this one to changes-requested in the meantime.

@Miracle656

Copy link
Copy Markdown
Owner

Friendly nudge — this has been waiting on the adapter-forks-the-core feedback for a few weeks. Good news: #315 just merged the React adapter with the pattern to follow — a shared VeilProvider + useVeilContext consuming the single useInvisibleWallet core (see sdk/react/). Please refactor the Vue adapter to consume that shared core rather than reimplementing the signing path.

If you're still up for it, please rebase on the latest main and address the review by 2026-07-01 — otherwise I'll close this to keep the queue tidy (you can always reopen). Thanks for contributing! 🙏

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.

Add Vue 3 adapter for invisible-wallet-sdk

2 participants