@tuwaio/nova-connect 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -45
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Nova Connect
|
|
1
|
+
# TUWA Nova Connect
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@tuwaio/nova-connect)
|
|
4
4
|
[](./LICENSE)
|
|
@@ -26,7 +26,6 @@ Built on top of the Satellite Connect ecosystem, Nova Connect offers a unified i
|
|
|
26
26
|
- **♿ Accessibility**: Full ARIA and keyboard navigation support.
|
|
27
27
|
- **🎭 Internationalization**: Support for multiple languages.
|
|
28
28
|
- **🔄 State Management**: Zustand-based store for efficient state management.
|
|
29
|
-
- **📱 Responsiveness**: Mobile-first design.
|
|
30
29
|
|
|
31
30
|
---
|
|
32
31
|
|
|
@@ -34,7 +33,7 @@ Built on top of the Satellite Connect ecosystem, Nova Connect offers a unified i
|
|
|
34
33
|
|
|
35
34
|
### Requirements
|
|
36
35
|
- React 19+
|
|
37
|
-
- Node.js
|
|
36
|
+
- Node.js 20+
|
|
38
37
|
- TypeScript 5.9+
|
|
39
38
|
|
|
40
39
|
```bash
|
|
@@ -56,55 +55,66 @@ yarn add @tuwaio/nova-connect @tuwaio/satellite-core @tuwaio/orbit-core @tuwaio/
|
|
|
56
55
|
|
|
57
56
|
```tsx
|
|
58
57
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
59
|
-
import { satelliteEVMAdapter } from '@tuwaio/satellite-evm';
|
|
60
|
-
import {
|
|
58
|
+
import { satelliteEVMAdapter, createDefaultTransports, initAllConnectors } from '@tuwaio/satellite-evm';
|
|
59
|
+
import { NovaConnectProvider } from '@tuwaio/nova-connect';
|
|
60
|
+
import { SatelliteConnectProvider } from '@tuwaio/nova-connect/satellite';
|
|
61
61
|
import { EVMWalletsWatcher } from '@tuwaio/nova-connect/evm';
|
|
62
62
|
import { SolanaWalletsWatcher } from '@tuwaio/nova-connect/solana';
|
|
63
|
-
import {
|
|
64
|
-
import { createDefaultTransports, initAllConnectors } from '@tuwaio/satellite-evm';
|
|
65
|
-
import { createConfig } from '@wagmi/core';
|
|
66
|
-
import { ReactNode } from 'react';
|
|
63
|
+
import { satelliteSolanaAdapter } from '@tuwaio/satellite-solana';
|
|
67
64
|
import { WagmiProvider } from 'wagmi';
|
|
68
|
-
import {
|
|
65
|
+
import { ReactNode } from 'react';
|
|
66
|
+
import { createConfig, http } from '@wagmi/core';
|
|
67
|
+
import { mainnet, sepolia } from 'viem/chains';
|
|
68
|
+
import type { Chain } from 'viem/chains';
|
|
69
69
|
|
|
70
70
|
export const appConfig = {
|
|
71
|
-
appName: '
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
export const solanaRPCUrls = {
|
|
75
|
-
mainnet: 'https://api.mainnet-beta.solana.com',
|
|
71
|
+
appName: 'Satellite EVM Test App',
|
|
72
|
+
// Ensure you have WalletConnect Project ID in your environment variables
|
|
73
|
+
projectId: process.env.NEXT_PUBLIC_WALLET_PROJECT_ID ?? 'YOUR_OWN_PROJECT_ID',
|
|
76
74
|
};
|
|
77
75
|
|
|
78
|
-
export const appEVMChains = [
|
|
76
|
+
export const appEVMChains = [
|
|
77
|
+
mainnet,
|
|
78
|
+
sepolia,
|
|
79
|
+
] as readonly [Chain, ...Chain[]];
|
|
79
80
|
|
|
80
81
|
export const wagmiConfig = createConfig({
|
|
81
82
|
connectors: initAllConnectors({
|
|
82
83
|
...appConfig,
|
|
84
|
+
// Optional: Add app details for WalletConnect modal
|
|
85
|
+
description: 'My awesome dApp',
|
|
86
|
+
appUrl: '[https://my-dapp.com](https://my-dapp.com)',
|
|
87
|
+
appIcons: ['[https://my-dapp.com/icon.png](https://my-dapp.com/icon.png)'],
|
|
83
88
|
}),
|
|
84
|
-
transports: createDefaultTransports(appEVMChains),
|
|
89
|
+
transports: createDefaultTransports(appEVMChains), // Automatically creates http transports
|
|
85
90
|
chains: appEVMChains,
|
|
86
|
-
ssr: true,
|
|
87
|
-
syncConnectedChain: true,
|
|
91
|
+
ssr: true, // Enable SSR support if needed (e.g., in Next.js)
|
|
88
92
|
});
|
|
89
93
|
|
|
90
|
-
const
|
|
94
|
+
export const solanaRPCUrls = {
|
|
95
|
+
devnet: 'https://api.devnet.solana.com',
|
|
96
|
+
};
|
|
91
97
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
...appConfig,
|
|
95
|
-
});
|
|
98
|
+
|
|
99
|
+
const queryClient = new QueryClient();
|
|
96
100
|
|
|
97
101
|
export function Providers({ children }: { children: ReactNode }) {
|
|
98
102
|
return (
|
|
99
103
|
<WagmiProvider config={wagmiConfig}>
|
|
100
104
|
<QueryClientProvider client={queryClient}>
|
|
101
105
|
<SatelliteConnectProvider
|
|
102
|
-
|
|
103
|
-
|
|
106
|
+
adapter={[satelliteEVMAdapter(wagmiConfig), satelliteSolanaAdapter({ rpcUrls: solanaRPCUrls })]}
|
|
107
|
+
autoConnect={true}
|
|
104
108
|
>
|
|
105
|
-
<EVMWalletsWatcher />
|
|
109
|
+
<EVMWalletsWatcher wagmiConfig={wagmiConfig} />
|
|
106
110
|
<SolanaWalletsWatcher />
|
|
107
|
-
<NovaConnectProvider
|
|
111
|
+
<NovaConnectProvider
|
|
112
|
+
appChains={appEVMChains}
|
|
113
|
+
solanaRPCUrls={solanaRPCUrls}
|
|
114
|
+
withImpersonated
|
|
115
|
+
withBalance
|
|
116
|
+
withChain
|
|
117
|
+
>
|
|
108
118
|
{children}
|
|
109
119
|
</NovaConnectProvider>
|
|
110
120
|
</SatelliteConnectProvider>
|
|
@@ -117,18 +127,12 @@ export function Providers({ children }: { children: ReactNode }) {
|
|
|
117
127
|
### Using ConnectButton
|
|
118
128
|
|
|
119
129
|
```tsx
|
|
120
|
-
import { ConnectButton } from '@tuwaio/nova-connect';
|
|
130
|
+
import { ConnectButton } from '@tuwaio/nova-connect/components';
|
|
121
131
|
|
|
122
132
|
function App() {
|
|
123
133
|
return (
|
|
124
134
|
<div>
|
|
125
|
-
<ConnectButton
|
|
126
|
-
appChains={appEVMChains}
|
|
127
|
-
solanaRPCUrls={solanaRPCUrls}
|
|
128
|
-
withImpersonated
|
|
129
|
-
withBalance
|
|
130
|
-
withChain
|
|
131
|
-
/>
|
|
135
|
+
<ConnectButton />
|
|
132
136
|
</div>
|
|
133
137
|
);
|
|
134
138
|
}
|
|
@@ -141,7 +145,6 @@ function App() {
|
|
|
141
145
|
### 1. **ConnectButton**
|
|
142
146
|
|
|
143
147
|
- Main component for wallet connection.
|
|
144
|
-
- Built-in support for balance display and network selector.
|
|
145
148
|
- Full customization system.
|
|
146
149
|
|
|
147
150
|
### 2. **NovaConnectProvider**
|
|
@@ -150,10 +153,6 @@ function App() {
|
|
|
150
153
|
- Customizable error handling.
|
|
151
154
|
- Flexible internationalization system.
|
|
152
155
|
|
|
153
|
-
### 3. **Hooks**
|
|
154
|
-
|
|
155
|
-
- `useWalletBalance`: Get the wallet balance.
|
|
156
|
-
|
|
157
156
|
-----
|
|
158
157
|
|
|
159
158
|
## 🌍 Internationalization
|
|
@@ -198,7 +197,3 @@ If you find this library useful, please consider supporting its development. Eve
|
|
|
198
197
|
## 📄 License
|
|
199
198
|
|
|
200
199
|
This project is licensed under the **Apache-2.0 License** - see the [LICENSE](./LICENSE) file for details.
|
|
201
|
-
|
|
202
|
-
## 👥 Contributors
|
|
203
|
-
|
|
204
|
-
- **Oleksandr Tkach** - [GitHub](https://github.com/Argeare5)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuwaio/nova-connect",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Oleksandr Tkach",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -232,8 +232,8 @@
|
|
|
232
232
|
"tw-animate-css": "^1.4.0",
|
|
233
233
|
"typescript": "^5.9.3",
|
|
234
234
|
"tsup": "^8.5.0",
|
|
235
|
-
"@tuwaio/nova-core": "^0.1.
|
|
236
|
-
"@tuwaio/nova-transactions": "^0.1.
|
|
235
|
+
"@tuwaio/nova-core": "^0.1.1",
|
|
236
|
+
"@tuwaio/nova-transactions": "^0.1.1"
|
|
237
237
|
},
|
|
238
238
|
"scripts": {
|
|
239
239
|
"start": "tsup src/index.ts --watch",
|