@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 +83 -33
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
53
|
-
|
|
54
|
-
- EVM (Ethereum, L2s): `
|
|
55
|
-
- Starknet: `
|
|
56
|
-
- Solana: `
|
|
57
|
-
- TON: `
|
|
58
|
-
- Tron: `
|
|
59
|
-
- Fuel: `
|
|
60
|
-
- Bitcoin: `
|
|
61
|
-
- Paradex: `
|
|
62
|
-
- Immutable X: `
|
|
63
|
-
- Immutable Passport: `
|
|
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.
|