@layerswap/wallets 1.0.0 → 1.0.2

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 CHANGED
@@ -7,40 +7,89 @@ Unified entry point for all Layerswap wallet providers. Import providers for mul
7
7
  Install the aggregator and common peer dependencies used by EVM wallets:
8
8
 
9
9
  ```bash
10
- npm install @layerswap/wallets wagmi viem @tanstack/react-query
10
+ npm install @layerswap/wallets wagmi viem @tanstack/react-query @bigmi/client @bigmi/core @bigmi/react
11
11
  # or
12
- yarn add @layerswap/wallets wagmi viem @tanstack/react-query
12
+ yarn add @layerswap/wallets wagmi viem @tanstack/react-query @bigmi/client @bigmi/core @bigmi/react
13
13
  # or
14
- pnpm add @layerswap/wallets wagmi viem @tanstack/react-query
14
+ pnpm add @layerswap/wallets wagmi viem @tanstack/react-query @bigmi/client @bigmi/core @bigmi/react
15
15
  ```
16
16
 
17
- Notes:
18
- - You also need `react` and `react-dom` in your app.
19
- - Some networks may require additional peers (e.g. Solana adapters, TON libs) which are pulled by the individual wallet packages as needed.
20
-
21
17
  ## Quick start
22
18
 
19
+ ## Convenience function
20
+
21
+ For a quick setup with all providers, use `getDefaultProviders()`:
22
+
23
+ ```tsx
24
+ import { getDefaultProviders } from "@layerswap/wallets";
25
+ import { LayerswapProvider, Swap } from "@layerswap/widget";
26
+
27
+ export default function Page() {
28
+ const walletProviders = getDefaultProviders({
29
+ walletConnect: {
30
+ projectId: "your-project-id",
31
+ name: "Your App",
32
+ description: "Your app description",
33
+ url: "https://your-app.com",
34
+ icons: ["https://your-app.com/icon.png"]
35
+ },
36
+ ton: {
37
+ tonApiKey: "your-ton-api-key",
38
+ manifestUrl: "https://your-app.com/tonconnect-manifest.json"
39
+ }
40
+ });
41
+
42
+ return (
43
+ <LayerswapProvider walletProviders={walletProviders}>
44
+ <Swap />
45
+ </LayerswapProvider>
46
+ );
47
+ }
48
+ ```
49
+
23
50
  Render the Layerswap Widget with the wallet providers you want to enable. Only the providers you include are bundled (tree-shakeable).
24
51
 
25
52
  ```tsx
26
53
  import { LayerswapProvider, Swap } from "@layerswap/widget";
27
54
  import {
28
- EVMProvider,
29
- StarknetProvider,
30
- SVMProvider,
31
- TonProvider,
32
- TronProvider,
55
+ createEVMProvider,
56
+ createStarknetProvider,
57
+ createSVMProvider,
58
+ createTONProvider,
59
+ createTronProvider,
33
60
  } from "@layerswap/wallets";
34
61
 
35
62
  export default function Page() {
63
+
64
+ const walletConnectConfigs = {
65
+ projectId: "your-project-id",
66
+ name: "Your App",
67
+ description: "Your app description",
68
+ url: "https://your-app.com",
69
+ icons: ["https://your-app.com/icon.png"]
70
+ }
71
+
72
+ const walletProviders = [
73
+ createEVMProvider({
74
+ walletConnectConfigs
75
+ }),
76
+ createStarknetProvider({
77
+ walletConnectConfigs
78
+ }),
79
+ createSVMProvider({
80
+ walletConnectConfigs
81
+ }),
82
+ createTONProvider({
83
+ tonConfigs: {
84
+ tonApiKey: "your-ton-api-key",
85
+ manifestUrl: "https://your-app.com/tonconnect-manifest.json"
86
+ }
87
+ }),
88
+ createTronProvider(),
89
+ ];
90
+
36
91
  return (
37
- <LayerswapProvider walletProviders={[
38
- EVMProvider,
39
- StarknetProvider,
40
- SVMProvider,
41
- TonProvider,
42
- TronProvider,
43
- ]}>
92
+ <LayerswapProvider walletProviders={walletProviders}>
44
93
  <Swap />
45
94
  </LayerswapProvider>
46
95
  );
@@ -49,18 +98,20 @@ export default function Page() {
49
98
 
50
99
  ## Usage by network
51
100
 
52
- All providers are exported from `@layerswap/wallets` and can be passed directly to `LayerswapProvider`:
53
-
54
- - EVM (Ethereum, L2s): `EVMProvider`
55
- - Starknet: `StarknetProvider`
56
- - Solana: `SVMProvider`
57
- - TON: `TonProvider`
58
- - Tron: `TronProvider`
59
- - Fuel: `FuelProvider`
60
- - Bitcoin: `BitcoinProvider`
61
- - Paradex: `ParadexProvider`
62
- - Immutable X: `ImtblXProvider`
63
- - Immutable Passport: `ImtblPassportProvider`
101
+ All provider factories are exported from `@layerswap/wallets`:
102
+
103
+ - EVM (Ethereum, L2s): `createEVMProvider()`
104
+ - Starknet: `createStarknetProvider()`
105
+ - Solana: `createSVMProvider()`
106
+ - TON: `createTONProvider()`
107
+ - Tron: `createTronProvider()`
108
+ - Fuel: `createFuelProvider()`
109
+ - Bitcoin: `createBitcoinProvider()`
110
+ - Paradex: `createParadexProvider()`
111
+ - Immutable X: `createImmutableXProvider()`
112
+ - Immutable Passport: `createImmutablePassportProvider()`
113
+ - Loopring (module): `createLoopringModule()` - use with `createEVMProvider()`
114
+ - zkSync (module): `createZkSyncModule()` - use with `createEVMProvider()`
64
115
 
65
116
  You can mix and match any subset depending on your app needs.
66
117
 
@@ -83,5 +134,4 @@ All providers ship type definitions. You can import types either from specific p
83
134
 
84
135
  ## Versioning and updates
85
136
 
86
- This package auto-bumps when any of the individual wallet packages receives a release, so you always get the latest providers with a single upgrade.
87
-
137
+ This package auto-bumps when any of the individual wallet packages receives a release, so you always get the latest providers with a single upgrade.