-
Notifications
You must be signed in to change notification settings - Fork 2
feat: ton connector #495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: ton connector #495
Conversation
🦋 Changeset detectedLatest commit: d94a757 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request introduces TON blockchain support through a new TonConnect-based connector and migrates the test infrastructure from jsdom to browser-based testing using Vitest's browser mode with Playwright.
Key Changes:
- Implementation of TON connector using TonConnect UI library with transaction signing capabilities
- Migration from jsdom/MSW node to browser-based testing with MSW browser and Vitest browser mode
- Refactoring of connector storage mechanisms from custom localStorage service to Wagmi's native storage API across all connectors (Substrate, Solana, Tron, Cardano, Safe, external providers)
- Dependency updates including React 19.2, Vitest 4.0, and related testing libraries
Reviewed changes
Copilot reviewed 56 out of 57 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/widget/src/providers/misc/ton-connector.ts | New TON blockchain connector implementation using TonConnect UI |
| packages/widget/src/providers/misc/ton-connector-meta.ts | Type definitions and metadata for TON connector |
| packages/widget/src/providers/sk-wallet/index.tsx | Integration of TON connector with transaction signing flow |
| packages/widget/tests/mocks/worker.ts | Migration from MSW node server to MSW browser worker |
| packages/widget/tests/utils/test-utils.tsx | Updated to use vitest-browser-react instead of @testing-library/react |
| packages/widget/tests/utils/setup.ts | Simplified browser test setup removing jsdom-specific polyfills |
| packages/widget/tests/fixtures/index.ts | New centralized test fixture functions replacing scattered mock usage |
| packages/widget/vite/vite.config.base.ts | Configured Vitest browser mode with Playwright provider |
| packages/widget/src/providers/[substrate/solana/tron/cardano]/connector.ts | Migrated storage from custom localStorage to Wagmi storage API |
| packages/widget/src/services/local-storage.ts | Removed connector-specific storage keys now handled by Wagmi |
| packages/widget/src/providers/virtual-scroll/index.tsx | Removed test-specific virtual scroll provider |
| packages/widget/package.json | Updated dependencies including React, Vitest, testing libraries, and added TON packages |
| .github/workflows/ci.yml | Added Playwright installation step for browser-based tests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The merge-base changed after approval.
2ceacaa to
d94a757
Compare
jdomingos
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Nice work
This pull request introduces TON blockchain support to the StakeKit widget by adding a TonConnect wallet connector. The main changes include new dependencies for TON, implementation of the TonConnect connector logic, updates to transaction types, and integration into the widget's configuration and wallet provider. This enables users to connect and sign TON transactions via TonConnect within the widget.
TON Integration
@ton/core,@tonconnect/uiand related packages) to bothpackage.jsonandpnpm-lock.yamlto support TonConnect functionality. [1] [2] [3] [4] [5] [6] [7] [8]ton-connector.tsto provide a TonConnect wallet connector, including transaction signing, connection, disconnection, and account management logic.ton-connector-meta.ts.Widget Integration
tonConnectManifestUrlsetting, and added TON-specific logic to the wallet provider for transaction signing. [1] [2] [3] [4] [5] [6] [7] [8] [9]Changelog