@skip-go/widget 1.2.1-alpha.7 → 1.2.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 +167 -167
- package/build/ast/_constants.d.ts +1 -0
- package/build/ast/_types.d.ts +14 -0
- package/build/ast/get-chains-paths.d.ts +6 -0
- package/build/ast/parse-asset-list-json.d.ts +7 -0
- package/build/ast/parse-chain-json.d.ts +7 -0
- package/build/ast/parse-chain-paths.d.ts +9 -0
- package/build/ast/validate-chains-paths.d.ts +6 -0
- package/build/ast/write-entrypoints.d.ts +7 -0
- package/build/chains/assets.d.ts +3 -0
- package/build/chains/chain-infos.d.ts +3 -0
- package/build/chains/chains.d.ts +3 -0
- package/build/chains/explorers.d.ts +3 -0
- package/build/chains/index.d.ts +7 -0
- package/build/chains/pretty.d.ts +2 -0
- package/build/chains/types.d.ts +6 -0
- package/build/constants/abis.d.ts +2 -0
- package/build/constants/defaults.d.ts +5 -0
- package/build/constants/finality.d.ts +2 -0
- package/build/constants/gas.d.ts +3 -0
- package/build/constants/ledger-warning.d.ts +2 -0
- package/build/constants/swap-venues.d.ts +4 -0
- package/build/constants/wagmi.d.ts +2 -0
- package/build/hooks/use-account.d.ts +46 -0
- package/build/hooks/use-assets.d.ts +4 -0
- package/build/hooks/use-auto-set-address.d.ts +11 -0
- package/build/hooks/use-balances-by-chain.d.ts +15 -0
- package/build/hooks/use-bridges.d.ts +7 -0
- package/build/hooks/use-broadcasted-txs.d.ts +24 -0
- package/build/hooks/use-chains.d.ts +10 -0
- package/build/hooks/use-finality-time-estimate.d.ts +2 -0
- package/build/hooks/use-fix-radix-ui-wheel-event.d.ts +1 -0
- package/build/hooks/use-inject-fonts-to-document-head.d.ts +1 -0
- package/build/hooks/use-make-wallets.d.ts +21 -0
- package/build/hooks/use-route.d.ts +20 -0
- package/build/hooks/use-skip-client.d.ts +9 -0
- package/build/hooks/use-swap-widget.d.ts +81 -0
- package/build/hooks/use-usd-value.d.ts +8 -0
- package/build/index.d.ts +5 -0
- package/build/index.es.js +5201 -0
- package/build/index.es.js.map +1 -0
- package/build/lib/cosmos-kit.d.ts +3 -0
- package/build/lib/react-query.d.ts +2 -0
- package/build/lib/solana-adapter.d.ts +2 -0
- package/build/lib/viem/chains.d.ts +66 -0
- package/build/lib/wagmi.d.ts +8986 -0
- package/build/provider/assets.d.ts +16 -0
- package/build/provider/index.d.ts +25 -0
- package/build/provider/skip-provider.d.ts +12 -0
- package/build/provider/wallet/cosmos.d.ts +6 -0
- package/build/provider/wallet/evm.d.ts +6 -0
- package/build/provider/wallet/solana.d.ts +6 -0
- package/build/scripts/codegen.d.ts +1 -0
- package/build/store/disclosures.d.ts +44 -0
- package/build/store/settings.d.ts +17 -0
- package/build/store/swap-widget.d.ts +107 -0
- package/build/store/track-wallet.d.ts +24 -0
- package/build/store/tx-history.d.ts +36 -0
- package/build/styles/fonts.d.ts +1 -0
- package/build/ui/AdaptiveLink.d.ts +5 -0
- package/build/ui/AssetInput.d.ts +20 -0
- package/build/ui/AssetSelect/AssetSelectContent.d.ts +11 -0
- package/build/ui/AssetSelect/index.d.ts +11 -0
- package/build/ui/AssetValue.d.ts +7 -0
- package/build/ui/Button/HistoryButton.d.ts +2 -0
- package/build/ui/Button/SettingsButton.d.ts +2 -0
- package/build/ui/Button/ShareButton.d.ts +3 -0
- package/build/ui/ChainSelect/ChainSelectContent.d.ts +8 -0
- package/build/ui/ChainSelect/ChainSelectTrigger.d.ts +7 -0
- package/build/ui/ChainSelect/index.d.ts +9 -0
- package/build/ui/ChainSymbol.d.ts +5 -0
- package/build/ui/ConnectedWalletButton.d.ts +8 -0
- package/build/ui/ConversionRate.d.ts +22 -0
- package/build/ui/CraftedBySkip.d.ts +1 -0
- package/build/ui/Dialog/Dialog.d.ts +7 -0
- package/build/ui/Dialog/DialogContent.d.ts +7 -0
- package/build/ui/Dialog/DialogTrigger.d.ts +5 -0
- package/build/ui/Dialog/context.d.ts +7 -0
- package/build/ui/HistoryDialog/DescriptionList.d.ts +5 -0
- package/build/ui/HistoryDialog/HistoryClearButton.d.ts +4 -0
- package/build/ui/HistoryDialog/HistoryList.d.ts +14 -0
- package/build/ui/HistoryDialog/RenderDate.d.ts +5 -0
- package/build/ui/HistoryDialog/SyncState.d.ts +4 -0
- package/build/ui/HistoryDialog/index.d.ts +1 -0
- package/build/ui/Icon/ExpandArrow.d.ts +2 -0
- package/build/ui/Icon/GearIcon.d.ts +1 -0
- package/build/ui/Icon/HistoryIcon.d.ts +2 -0
- package/build/ui/Icon/ShareIcon.d.ts +2 -0
- package/build/ui/Icon/SkipLogo.d.ts +2 -0
- package/build/ui/Icon/SpinnerIcon.d.ts +2 -0
- package/build/ui/JsonDialog.d.ts +1 -0
- package/build/ui/PreviewRoute/AlertCollapse.d.ts +13 -0
- package/build/ui/PreviewRoute/ChainStep.d.ts +30 -0
- package/build/ui/PreviewRoute/SetAddressDialog.d.ts +12 -0
- package/build/ui/PreviewRoute/index.d.ts +25 -0
- package/build/ui/PreviewRoute/make-actions.d.ts +29 -0
- package/build/ui/PreviewRoute/make-chain-ids-with-actions.d.ts +11 -0
- package/build/ui/PreviewRoute/make-step-state.d.ts +17 -0
- package/build/ui/PreviewRoute/types.d.ts +21 -0
- package/build/ui/PriceImpactWarning.d.ts +7 -0
- package/build/ui/SettingsDialog/GasSetting.d.ts +1 -0
- package/build/ui/SettingsDialog/PurgeSetting.d.ts +1 -0
- package/build/ui/SettingsDialog/SaveIndicator.d.ts +1 -0
- package/build/ui/SettingsDialog/SlippageSetting.d.ts +1 -0
- package/build/ui/SettingsDialog/index.d.ts +1 -0
- package/build/ui/SimpleTooltip.d.ts +11 -0
- package/build/ui/SwapDetails.d.ts +11 -0
- package/build/ui/TransactionDialog.d.ts +13 -0
- package/build/ui/UsdValue.d.ts +27 -0
- package/build/ui/WalletModal/WalletListItem.d.ts +8 -0
- package/build/ui/WalletModal/WalletModal.d.ts +10 -0
- package/build/ui/WalletModal/context.d.ts +13 -0
- package/build/ui/WalletModal/index.d.ts +3 -0
- package/build/ui/WebComponent.d.ts +16 -0
- package/build/ui/Widget.d.ts +1 -0
- package/build/ui/index.d.ts +5 -0
- package/build/utils/assert.d.ts +2 -0
- package/build/utils/chain.d.ts +9 -0
- package/build/utils/clients.d.ts +4 -0
- package/build/utils/error.d.ts +1 -0
- package/build/utils/explorer.d.ts +5 -0
- package/build/utils/intl.d.ts +4 -0
- package/build/utils/ledger-warning.d.ts +3 -0
- package/build/utils/link.d.ts +4 -0
- package/build/utils/number.d.ts +4 -0
- package/build/utils/os.d.ts +3 -0
- package/build/utils/random.d.ts +1 -0
- package/build/utils/ui.d.ts +2 -0
- package/build/utils/usd.d.ts +5 -0
- package/build/utils/wallet.d.ts +7 -0
- package/package.json +2 -6
package/README.md
CHANGED
|
@@ -1,167 +1,167 @@
|
|
|
1
|
-
# Skip Go Widget
|
|
2
|
-
|
|
3
|
-
The `@skip-go/widget` package is an npm package providing a React component for a full swap interface using the [Skip Go API](https://skip.build/).
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
To install the package, run the following command:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install @skip-go/widget
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## React Component usage
|
|
14
|
-
|
|
15
|
-
import the `SwapWidget` from `'@skip-go/widget'` to render the swap interface:
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
import { SwapWidget } from '@skip-go/widget';
|
|
19
|
-
|
|
20
|
-
const SwapPage = () => {
|
|
21
|
-
return (
|
|
22
|
-
<div
|
|
23
|
-
style={{
|
|
24
|
-
width: '450px',
|
|
25
|
-
height: '820px',
|
|
26
|
-
}}
|
|
27
|
-
>
|
|
28
|
-
<SwapWidget
|
|
29
|
-
colors={{
|
|
30
|
-
primary: '#FF4FFF',
|
|
31
|
-
}}
|
|
32
|
-
/>
|
|
33
|
-
</div>
|
|
34
|
-
);
|
|
35
|
-
};
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### SwapWidget props
|
|
39
|
-
|
|
40
|
-
The `SwapWidget` component accepts the following props:
|
|
41
|
-
|
|
42
|
-
````tsx
|
|
43
|
-
interface SwapWidgetProps {
|
|
44
|
-
colors?: {
|
|
45
|
-
primary?: string; // Custom primary color for the widget. Defaults to `#FF486E`.
|
|
46
|
-
};
|
|
47
|
-
defaultRoute?: {
|
|
48
|
-
// Default route for the widget.
|
|
49
|
-
amountIn?: number;
|
|
50
|
-
amountOut?: number;
|
|
51
|
-
srcChainID?: string;
|
|
52
|
-
srcAssetDenom?: string;
|
|
53
|
-
destChainID?: string;
|
|
54
|
-
destAssetDenom?: string;
|
|
55
|
-
};
|
|
56
|
-
routeConfig?: {
|
|
57
|
-
experimentalFeatures?: ['hyperlane'];
|
|
58
|
-
allowMultiTx?: boolean;
|
|
59
|
-
allowUnsafe?: boolean;
|
|
60
|
-
bridges?: ('IBC' | 'AXELAR' | 'CCTP' | 'HYPERLANE')[];
|
|
61
|
-
swapVenues?: {
|
|
62
|
-
name: string;
|
|
63
|
-
chainID: string;
|
|
64
|
-
}[];
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Filter chains and assets in selection
|
|
68
|
-
*
|
|
69
|
-
* Record<chainID, assetDenoms>
|
|
70
|
-
* if assetDenoms is undefined, all assets are allowed
|
|
71
|
-
* @example
|
|
72
|
-
* ```ts
|
|
73
|
-
* {
|
|
74
|
-
* source: {
|
|
75
|
-
* 'noble-1': undefined,
|
|
76
|
-
* },
|
|
77
|
-
* destination: {
|
|
78
|
-
* 'cosmoshub-4': [
|
|
79
|
-
* 'uatom',
|
|
80
|
-
* 'ibc/2181AAB0218EAC24BC9F86BD1364FBBFA3E6E3FCC25E88E3E68C15DC6E752D86',
|
|
81
|
-
* ],
|
|
82
|
-
* 'agoric-3': [
|
|
83
|
-
* 'ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9',
|
|
84
|
-
* ],
|
|
85
|
-
* 'osmosis-1': undefined,
|
|
86
|
-
* }
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
filter?: {
|
|
90
|
-
source?: Record<string, string[] | undefined>;
|
|
91
|
-
destination?: Record<string, string[] | undefined>;
|
|
92
|
-
};
|
|
93
|
-
className?: string;
|
|
94
|
-
style?: React.CSSProperties;
|
|
95
|
-
settings?: {
|
|
96
|
-
customGasAmount?: number; // custom gas amount for validation defaults to 200_000
|
|
97
|
-
slippage?: number; //percentage of slippage 0-100. defaults to 3
|
|
98
|
-
};
|
|
99
|
-
onlyTestnet?: boolean; // Only show testnet chains
|
|
100
|
-
toasterProps?: {
|
|
101
|
-
// Refer to [ToasterProps](https://react-hot-toast.com/docs/toast-options) for more details. Defaults to `{ position: 'top-right' }`
|
|
102
|
-
position?: ToastPosition;
|
|
103
|
-
toastOptions?: DefaultToastOptions;
|
|
104
|
-
reverseOrder?: boolean;
|
|
105
|
-
gutter?: number;
|
|
106
|
-
containerStyle?: React.CSSProperties;
|
|
107
|
-
containerClassName?: string;
|
|
108
|
-
children?: (toast: Toast) => JSX.Element;
|
|
109
|
-
};
|
|
110
|
-
endpointOptions?: {
|
|
111
|
-
// Endpoint options to override endpoints. Defaults to Skip proxied endpoints. Please reach out to us first if you want to be whitelisted.
|
|
112
|
-
endpoints?: Record<string, EndpointOptions>;
|
|
113
|
-
getRpcEndpointForChain?: (chainID: string) => Promise<string>;
|
|
114
|
-
getRestEndpointForChain?: (chainID: string) => Promise<string>;
|
|
115
|
-
};
|
|
116
|
-
apiURL?: string; // Custom API URL to override Skip API endpoint. Defaults to Skip proxied endpoints. Please reach out to us first if you want to be whitelisted.
|
|
117
|
-
}
|
|
118
|
-
````
|
|
119
|
-
|
|
120
|
-
# Experimental features (still in development)
|
|
121
|
-
|
|
122
|
-
## Web Component usage
|
|
123
|
-
|
|
124
|
-
The web component is created with the `@r2wc/react-to-web-component` library.
|
|
125
|
-
|
|
126
|
-
In order to register the web-component, you must first call the `initializeSwapWidget` function:
|
|
127
|
-
|
|
128
|
-
```tsx
|
|
129
|
-
import { initializeSwapWidget } from '@skip-go/widget';
|
|
130
|
-
|
|
131
|
-
initializeSwapWidget();
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
et voilà! you can now use the `swap-widget` web-component as `<swap-widget></swap-widget>`
|
|
135
|
-
|
|
136
|
-
The props for the web component are the same as `SwapWidgetProps` except that all props
|
|
137
|
-
are passed to the web-component via attributes in kebab-case as strings or stringified objects ie.
|
|
138
|
-
|
|
139
|
-
```tsx
|
|
140
|
-
<SwapWidget
|
|
141
|
-
className="test-class"
|
|
142
|
-
onlyTestnet={true}
|
|
143
|
-
colors={{
|
|
144
|
-
primary: '#FF4FFF',
|
|
145
|
-
}}
|
|
146
|
-
defaultRoute={{
|
|
147
|
-
srcChainID: 'osmosis-1',
|
|
148
|
-
srcAssetDenom:
|
|
149
|
-
'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4',
|
|
150
|
-
}}
|
|
151
|
-
/>
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
becomes
|
|
155
|
-
|
|
156
|
-
```tsx
|
|
157
|
-
<swap-widget
|
|
158
|
-
class-name="test-class"
|
|
159
|
-
onlyTestnet="true"
|
|
160
|
-
colors='{"primary":"#FF4FFF"}'
|
|
161
|
-
default-route={JSON.stringify({
|
|
162
|
-
srcChainID: 'osmosis-1',
|
|
163
|
-
srcAssetDenom:
|
|
164
|
-
'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4',
|
|
165
|
-
})}
|
|
166
|
-
></swap-widget>
|
|
167
|
-
```
|
|
1
|
+
# Skip Go Widget
|
|
2
|
+
|
|
3
|
+
The `@skip-go/widget` package is an npm package providing a React component for a full swap interface using the [Skip Go API](https://skip.build/).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
To install the package, run the following command:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @skip-go/widget
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## React Component usage
|
|
14
|
+
|
|
15
|
+
import the `SwapWidget` from `'@skip-go/widget'` to render the swap interface:
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { SwapWidget } from '@skip-go/widget';
|
|
19
|
+
|
|
20
|
+
const SwapPage = () => {
|
|
21
|
+
return (
|
|
22
|
+
<div
|
|
23
|
+
style={{
|
|
24
|
+
width: '450px',
|
|
25
|
+
height: '820px',
|
|
26
|
+
}}
|
|
27
|
+
>
|
|
28
|
+
<SwapWidget
|
|
29
|
+
colors={{
|
|
30
|
+
primary: '#FF4FFF',
|
|
31
|
+
}}
|
|
32
|
+
/>
|
|
33
|
+
</div>
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### SwapWidget props
|
|
39
|
+
|
|
40
|
+
The `SwapWidget` component accepts the following props:
|
|
41
|
+
|
|
42
|
+
````tsx
|
|
43
|
+
interface SwapWidgetProps {
|
|
44
|
+
colors?: {
|
|
45
|
+
primary?: string; // Custom primary color for the widget. Defaults to `#FF486E`.
|
|
46
|
+
};
|
|
47
|
+
defaultRoute?: {
|
|
48
|
+
// Default route for the widget.
|
|
49
|
+
amountIn?: number;
|
|
50
|
+
amountOut?: number;
|
|
51
|
+
srcChainID?: string;
|
|
52
|
+
srcAssetDenom?: string;
|
|
53
|
+
destChainID?: string;
|
|
54
|
+
destAssetDenom?: string;
|
|
55
|
+
};
|
|
56
|
+
routeConfig?: {
|
|
57
|
+
experimentalFeatures?: ['hyperlane'];
|
|
58
|
+
allowMultiTx?: boolean;
|
|
59
|
+
allowUnsafe?: boolean;
|
|
60
|
+
bridges?: ('IBC' | 'AXELAR' | 'CCTP' | 'HYPERLANE')[];
|
|
61
|
+
swapVenues?: {
|
|
62
|
+
name: string;
|
|
63
|
+
chainID: string;
|
|
64
|
+
}[];
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Filter chains and assets in selection
|
|
68
|
+
*
|
|
69
|
+
* Record<chainID, assetDenoms>
|
|
70
|
+
* if assetDenoms is undefined, all assets are allowed
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* {
|
|
74
|
+
* source: {
|
|
75
|
+
* 'noble-1': undefined,
|
|
76
|
+
* },
|
|
77
|
+
* destination: {
|
|
78
|
+
* 'cosmoshub-4': [
|
|
79
|
+
* 'uatom',
|
|
80
|
+
* 'ibc/2181AAB0218EAC24BC9F86BD1364FBBFA3E6E3FCC25E88E3E68C15DC6E752D86',
|
|
81
|
+
* ],
|
|
82
|
+
* 'agoric-3': [
|
|
83
|
+
* 'ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9',
|
|
84
|
+
* ],
|
|
85
|
+
* 'osmosis-1': undefined,
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
filter?: {
|
|
90
|
+
source?: Record<string, string[] | undefined>;
|
|
91
|
+
destination?: Record<string, string[] | undefined>;
|
|
92
|
+
};
|
|
93
|
+
className?: string;
|
|
94
|
+
style?: React.CSSProperties;
|
|
95
|
+
settings?: {
|
|
96
|
+
customGasAmount?: number; // custom gas amount for validation defaults to 200_000
|
|
97
|
+
slippage?: number; //percentage of slippage 0-100. defaults to 3
|
|
98
|
+
};
|
|
99
|
+
onlyTestnet?: boolean; // Only show testnet chains
|
|
100
|
+
toasterProps?: {
|
|
101
|
+
// Refer to [ToasterProps](https://react-hot-toast.com/docs/toast-options) for more details. Defaults to `{ position: 'top-right' }`
|
|
102
|
+
position?: ToastPosition;
|
|
103
|
+
toastOptions?: DefaultToastOptions;
|
|
104
|
+
reverseOrder?: boolean;
|
|
105
|
+
gutter?: number;
|
|
106
|
+
containerStyle?: React.CSSProperties;
|
|
107
|
+
containerClassName?: string;
|
|
108
|
+
children?: (toast: Toast) => JSX.Element;
|
|
109
|
+
};
|
|
110
|
+
endpointOptions?: {
|
|
111
|
+
// Endpoint options to override endpoints. Defaults to Skip proxied endpoints. Please reach out to us first if you want to be whitelisted.
|
|
112
|
+
endpoints?: Record<string, EndpointOptions>;
|
|
113
|
+
getRpcEndpointForChain?: (chainID: string) => Promise<string>;
|
|
114
|
+
getRestEndpointForChain?: (chainID: string) => Promise<string>;
|
|
115
|
+
};
|
|
116
|
+
apiURL?: string; // Custom API URL to override Skip API endpoint. Defaults to Skip proxied endpoints. Please reach out to us first if you want to be whitelisted.
|
|
117
|
+
}
|
|
118
|
+
````
|
|
119
|
+
|
|
120
|
+
# Experimental features (still in development)
|
|
121
|
+
|
|
122
|
+
## Web Component usage
|
|
123
|
+
|
|
124
|
+
The web component is created with the `@r2wc/react-to-web-component` library.
|
|
125
|
+
|
|
126
|
+
In order to register the web-component, you must first call the `initializeSwapWidget` function:
|
|
127
|
+
|
|
128
|
+
```tsx
|
|
129
|
+
import { initializeSwapWidget } from '@skip-go/widget';
|
|
130
|
+
|
|
131
|
+
initializeSwapWidget();
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
et voilà! you can now use the `swap-widget` web-component as `<swap-widget></swap-widget>`
|
|
135
|
+
|
|
136
|
+
The props for the web component are the same as `SwapWidgetProps` except that all props
|
|
137
|
+
are passed to the web-component via attributes in kebab-case as strings or stringified objects ie.
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
<SwapWidget
|
|
141
|
+
className="test-class"
|
|
142
|
+
onlyTestnet={true}
|
|
143
|
+
colors={{
|
|
144
|
+
primary: '#FF4FFF',
|
|
145
|
+
}}
|
|
146
|
+
defaultRoute={{
|
|
147
|
+
srcChainID: 'osmosis-1',
|
|
148
|
+
srcAssetDenom:
|
|
149
|
+
'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4',
|
|
150
|
+
}}
|
|
151
|
+
/>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
becomes
|
|
155
|
+
|
|
156
|
+
```tsx
|
|
157
|
+
<swap-widget
|
|
158
|
+
class-name="test-class"
|
|
159
|
+
onlyTestnet="true"
|
|
160
|
+
colors='{"primary":"#FF4FFF"}'
|
|
161
|
+
default-route={JSON.stringify({
|
|
162
|
+
srcChainID: 'osmosis-1',
|
|
163
|
+
srcAssetDenom:
|
|
164
|
+
'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4',
|
|
165
|
+
})}
|
|
166
|
+
></swap-widget>
|
|
167
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const concurrency: number;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Asset, AssetList, Chain, ChainInfo, Explorer } from "@graz-sh/types";
|
|
2
|
+
export interface Variables {
|
|
3
|
+
assetlists: AssetList[];
|
|
4
|
+
chains: Chain[];
|
|
5
|
+
chainIds: string[];
|
|
6
|
+
chainNames: string[];
|
|
7
|
+
chainIdToName: Record<string, string>;
|
|
8
|
+
chainIdToPrettyName: Record<string, string>;
|
|
9
|
+
chainNameToId: Record<string, string>;
|
|
10
|
+
chainRecord: Record<string, Chain>;
|
|
11
|
+
assetsRecord: Record<string, Asset[]>;
|
|
12
|
+
explorersRecord: Record<string, Explorer[]>;
|
|
13
|
+
chainInfosRecord: Record<string, ChainInfo>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Variables } from "./_types";
|
|
2
|
+
interface Args {
|
|
3
|
+
registryPath: string;
|
|
4
|
+
chainPaths: string[];
|
|
5
|
+
initiaRegistryPath: string;
|
|
6
|
+
initiaChainPaths: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function parseChainPaths({ registryPath, chainPaths, initiaChainPaths, initiaRegistryPath, }: Args): Promise<Variables>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Asset, AssetList, Chain } from "@graz-sh/types";
|
|
2
|
+
import { ChainId } from "./types";
|
|
3
|
+
export declare function getChain(chainId: ChainId): Chain;
|
|
4
|
+
export declare function getAssets(chainId: ChainId): Asset[];
|
|
5
|
+
export declare function getChains(): Chain[];
|
|
6
|
+
export declare function getAssetLists(): AssetList[];
|
|
7
|
+
export * from "./types";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const chainIds: readonly ["acre_9052-1", "eightball-1", "agoric-3", "aioz_168-1", "akashnet-2", "akiro-1", "althea_258432-1", "andromeda-1", "andromeda-1", "arkh", "archway-1", "mantle-1", "xstaxy-1", "aura_6322-2", "beezee-1", "axelar-dojo-1", "laozi-mainnet", "bitcanna-1", "bitsong-2b", "bluechip_1", "bluzelle-9", "bostrom", "canto_7700-1", "carbon-1", "celestia", "cerberus-chain-1", "chimba", "morocco-1", "perun-1", "chihuahua-1", "cifer-2", "cifer-1", "cheqd-mainnet-1", "comdex-1", "commercio-3", "cvn_2032-1", "coreum-mainnet-1", "coss-1", "crescent-1", "centauri-1", "cosmoshub-4", "cronosmainnet_25-1", "crypto-org-chain-mainnet-1", "cudos-1", "mainnet-3", "dhealth", "dig-1", "vota-ash", "desmos-mainnet", "dyson-mainnet-01", "echelon_3000-3", "emoney-3", "dydx-mainnet-1", "dymension_1100-1", "empowerchain-1", "ethos_7003-1", "fetchhub-4", "finschia-2", "colosseum-1", "furya-1", "fxcore", "galaxy-1", "genesis_29-2", "evmos_9001-2", "wormchain", "gitopia", "govgen-1", "helichain", "highbury_710-1", "humans_1089-1", "Antora", "gravity-bridge-3", "imversed_5555555-1", "haqq_11235-1", "ixo-5", "irishub-1", "injective-1", "jackal-1", "joltify_1729-1", "kava_2222-10", "juno-1", "kichain-2", "darchub", "lambda_92000-1", "lava-mainnet-1", "kyve-1", "likecoin-mainnet-2", "kaiyo-1", "logos_7002-1", "loop-1", "loyal-main-02", "LumenX", "lum-network-1", "mars-1", "mayachain-mainnet-v1", "medasdigital-1", "meme-1", "microtick-1", "migaloo-1", "mainnet", "mun-1", "mythos_7001-1", "neura_266-1", "Neutaro-1", "cataclysm-1", "nim_1122-1", "neutron-1", "noble-1", "nois-1", "pirin-1", "nomic-stakenet-3", "nyx", "octa", "odin-mainnet-freya", "odin-mainnet-freya", "exchain-66", "omniflixhub-1", "onex-mainnet-1", "onomy-mainnet-1", "Oraichain", "panacea-3", "passage-1", "passage-2", "osmosis-1", "point_10687-1", "core-1", "planq_7070-2", "pryzm-1", "PUNDIX", "pio-mainnet-1", "pylons-mainnet-1", "quasar-1", "qwoyn-1", "realionetwork_3301-1", "quicksilver-2", "reb_1111-1", "titan-1", "regen-1", "scorum-1", "ssc-1", "secret-4", "seda-1", "pacific-1", "self-1", "sentinelhub-2", "sgenet-1", "ShareRing-VoyagerNet", "shentu-2.2", "shido_9008-1", "sifchain-1", "sixnet", "sommelier-3", "source-1", "stafihub-1", "stargaze-1", "iov-mainnet-ibc", "stratos-1", "stride-1", "sunrise-1", "tenet_1559-1", "teritori-1", "morocco-1", "columbus-5", "phoenix-1", "tgrade-mainnet-1", "thorchain-mainnet-v1", "titan_18888-1", "FUND-MainNet-2", "ununifi-beta-v1", "umee-1", "uptick_117-1", "dimension_37-1", "vidulum-1", "zetachain_7000-1", "sandbox-01", "constantine-3", "arkeo", "artela_11820-1", "aura_6321-3", "axelar-testnet-lisbon-3", "bbn-test1", "bbn-test3", "bitcanna-dev-6", "bitcanna-dev-1", "blockx_190-1", "cascadia_6102-1", "blockspacerace-0", "arabica-11", "mocha-4", "babajaga-1", "cheqd-testnet-6", "chimba-testnet", "banksy-testnet-3", "kitten-04", "coreum-testnet-1", "theta-testnet-001", "malaga-420", "coss-testnet-1", "cudos-testnet-public-3", "deardoge-testnet", "morpheus-apollo-3", "vota-testnet", "vota-vk", "dydx-testnet-4", "elystestnet-1", "circulus-1", "entrypoint-pubtest-2", "evmos_9000-4", "dorado-1", "ebony-2", "galactica_9302-1", "gitopia-janus-testnet-2", "berberis-1", "testnet-1", "prajna-1", "devnet-1", "pandora-8", "imversed-test-1", "injective-888", "canine-1", "mesomelas-1", "uni-6", "kichain-t-4", "harpoon-4", "korellia-2", "kaon-1", "lava-testnet-2", "lava-testnet-1", "likecoin-public-testnet-5", "lumenx-test", "mantra-hongbai-1", "ares-1", "narwhal-2", "neura_268-1", "neura_267-1", "pion-1", "nibiru-devnet-1", "nibiru-devnet-2", "nibiru-testnet-1", "nibiru-testnet-2", "grand-1", "nois-testnet-005", "rila-1", "sandbox", "okp4-nemeton-1", "osmo-test-4", "INVALID-ID-permtestnet-testnet-1", "test-core-1", "osmo-test-5", "test-core-2", "planq_7077-1", "indigo-1", "quasar-test-1", "rhye-2", "earendel-1", "provider", "ssc-testnet-1", "pulsar-3", "pulsar-2", "sei-devnet-3", "atlantic-1", "atlantic-2", "self-dev-1", "sge-network-3", "sge-network-4", "fivenet", "soarchaintestnet", "sourcetest-1", "elgafar-1", "stateset-1-testnet", "stride-testnet-1", "sunrise-test", "swisstronik_1291-1", "symphony-testnet-1", "temporal-test-2", "90u-4", "90u-2", "pisco-1", "titan_18889-1", "ulas", "union-testnet-8", "uptick_7000-2", "vince_1903-1", "buenavista-1", "INVALID-ID-wavehashtestnet-testnet-1", "xion-testnet-1", "athens_7001-1", "tomcat-1", "landlord-1", "miniwasm-1", "initiation-1", "minimove-1", "init-ai-1", "birdee-1", "burrito-1"];
|
|
2
|
+
export type ChainId = (typeof chainIds)[number] | (string & {});
|
|
3
|
+
export declare const chainNames: readonly ["acrechain", "8ball", "agoric", "aioz", "akash", "akiro", "althea", "andromeda", "andromeda1", "arkh", "archway", "assetmantle", "aura1", "aura", "beezee", "axelar", "bandchain", "bitcanna", "bitsong", "bluechip", "bluzelle", "bostrom", "canto", "carbon", "celestia", "cerberus", "chimba", "chronicnetwork", "chain4energy", "chihuahua", "cifer", "cifer1", "cheqd", "comdex", "commercionetwork", "conscious", "coreum", "coss", "crescent", "composable", "cosmoshub", "cronos", "cryptoorgchain", "cudos", "decentr", "dhealth", "dig", "doravota", "desmos", "dyson", "echelon", "emoney", "dydx", "dymension", "empowerchain", "ethos", "fetchhub", "finschia", "firmachain", "furya", "fxcore", "galaxy", "genesisl1", "evmos", "gateway", "gitopia", "govgen", "heli", "highbury", "humans", "idep", "gravitybridge", "imversed", "haqq", "impacthub", "irisnet", "injective", "jackal", "joltify", "kava", "juno", "kichain", "konstellation", "lambda", "lava", "kyve", "likecoin", "kujira", "logos", "loop", "loyal", "lumenx", "lumnetwork", "mars", "mayachain", "medasdigital", "meme", "microtick", "migaloo", "mises", "mun", "mythos", "neura", "neutaro", "nibiru", "nim", "neutron", "noble", "nois", "nolus", "nomic", "nyx", "octa", "odin", "odin", "okexchain", "omniflixhub", "onex", "onomy", "oraichain", "panacea", "passage1", "passage", "osmosis", "point", "persistence", "planq", "pryzm", "pundix", "provenance", "pylons", "quasar", "qwoyn", "realio", "quicksilver", "rebus", "rizon", "regen", "scorum", "saga", "secretnetwork", "seda", "sei", "self", "sentinel", "sge", "shareledger", "shentu", "shido", "sifchain", "six", "sommelier", "source", "stafihub", "stargaze", "starname", "stratos", "stride", "sunrise", "tenet", "teritori", "terpnetwork", "terra", "terra2", "tgrade", "thorchain", "titan", "unification", "ununifi", "umee", "uptick", "xpla", "vidulum", "zetachain", "akashtestnet", "archwaytestnet", "arkeonetworktestnet", "artelatestnet", "auratestnet", "axelartestnet", "babylontestnet1", "babylontestnet", "bitcannadevnet2", "bitcannadevnet", "blockxtestnet", "cascadiatestnet", "celestiatestnet", "celestiatestnet2", "celestiatestnet3", "chain4energytestnet", "cheqdtestnet", "chimbatestnet", "composabletestnet", "coolcattestnet", "coreumtestnet", "cosmoshubtestnet", "cosmwasmtestnet", "cosstestnet", "cudostestnet", "deardogetestnet", "desmostestnet", "doravotatestnet", "doravotatestnet2", "dydxtestnet", "elystestnet", "empowertestnet", "entrypointtestnet", "evmostestnet", "fetchhubtestnet", "finschiatestnet", "galacticatestnet", "gitopiatestnet", "hedgetestnet", "humanstestnet", "hypersigntestnet", "impacthubdevnet", "impacthubtestnet", "imversedtestnet", "injectivetestnet", "jackaltestnet", "jackaltestnet2", "junotestnet", "kichaintestnet", "kujiratestnet", "kyvedevnet", "kyvetestnet", "lavatestnet", "lavatestnet1", "likecointestnet", "lumenxtestnet", "mantrachaintestnet", "marstestnet", "migalootestnet", "neuradevnet", "neuratestnet", "neutrontestnet", "nibirudevnet", "nibirudevnet2", "nibirutestnet", "nibirutestnet2", "nobletestnet", "noistestnet", "nolustestnet", "nyxtestnet", "okp4testnet", "osmosistestnet4", "permtestnet", "persistencetestnet", "osmosistestnet", "persistencetestnet2", "planqtestnet", "pryzmtestnet", "quasartestnet", "quicksilvertestnet", "qwoyntestnet", "rsprovidertestnet", "sagatestnet", "secretnetworktestnet", "secretnetworktestnet2", "seidevnet3", "seitestnet", "seitestnet2", "selfchaindevnet", "sgetestnet", "sgetestnet4", "sixtestnet", "soarchaintestnet", "sourcetestnet", "stargazetestnet", "statesettestnet", "stridetestnet", "sunrisetestnet", "swisstroniktestnet", "symphonytestnet", "temporaltestnet", "terpnettestnet", "terpnettestnet2", "terra2testnet", "titantestnet", "ulastestnet", "uniontestnet", "upticktestnet", "vincechaintestnet", "wardenprotocoltestnet", "wavehashtestnet", "xiontestnet", "zetachaintestnet", "blackwing", "civitia", "miniwasm", "initia", "minimove", "init_ai", "tucana", "noon"];
|
|
4
|
+
export type ChainName = (typeof chainNames)[number] | (string & {});
|
|
5
|
+
export declare const chainIdToName: Record<ChainId, ChainName>;
|
|
6
|
+
export declare const chainNameToId: Record<ChainName, ChainId>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare function useAccount(chainID?: string): {
|
|
2
|
+
address: string | undefined;
|
|
3
|
+
isWalletConnected: boolean;
|
|
4
|
+
wallet: {
|
|
5
|
+
walletName: string;
|
|
6
|
+
walletPrettyName: string;
|
|
7
|
+
walletInfo: {
|
|
8
|
+
logo: string | {
|
|
9
|
+
major: string;
|
|
10
|
+
minor: string;
|
|
11
|
+
} | undefined;
|
|
12
|
+
};
|
|
13
|
+
isLedger: boolean | null | undefined;
|
|
14
|
+
} | undefined;
|
|
15
|
+
chainType: string;
|
|
16
|
+
connect: () => Promise<void>;
|
|
17
|
+
disconnect: () => Promise<void>;
|
|
18
|
+
} | {
|
|
19
|
+
address: `0x${string}` | undefined;
|
|
20
|
+
isWalletConnected: boolean;
|
|
21
|
+
wallet: {
|
|
22
|
+
walletName: string;
|
|
23
|
+
walletPrettyName: string;
|
|
24
|
+
walletInfo: {
|
|
25
|
+
logo: string | undefined;
|
|
26
|
+
};
|
|
27
|
+
isLedger?: undefined;
|
|
28
|
+
} | undefined;
|
|
29
|
+
chainType: string;
|
|
30
|
+
connect: () => Promise<void> | undefined;
|
|
31
|
+
disconnect: () => Promise<void> | undefined;
|
|
32
|
+
} | {
|
|
33
|
+
address: string | undefined;
|
|
34
|
+
isWalletConnected: boolean | undefined;
|
|
35
|
+
wallet: {
|
|
36
|
+
walletName: import("@solana/wallet-adapter-base").WalletName<string>;
|
|
37
|
+
walletPrettyName: import("@solana/wallet-adapter-base").WalletName<string>;
|
|
38
|
+
walletInfo: {
|
|
39
|
+
logo: string;
|
|
40
|
+
};
|
|
41
|
+
isLedger?: undefined;
|
|
42
|
+
} | undefined;
|
|
43
|
+
chainType: string;
|
|
44
|
+
connect: () => Promise<void> | undefined;
|
|
45
|
+
disconnect: () => Promise<void> | undefined;
|
|
46
|
+
} | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Chain } from '@skip-go/core';
|
|
2
|
+
import { ChainAddresses, SetChainAddressesParam } from '../ui/PreviewRoute/types';
|
|
3
|
+
export declare const useAutoSetAddress: ({ chain, chainID, index, enabled, signRequired, chainAddresses, setChainAddresses, }: {
|
|
4
|
+
chain?: Chain | undefined;
|
|
5
|
+
chainID: string;
|
|
6
|
+
index: number;
|
|
7
|
+
enabled?: boolean | undefined;
|
|
8
|
+
signRequired?: boolean | undefined;
|
|
9
|
+
chainAddresses: ChainAddresses;
|
|
10
|
+
setChainAddresses: (v: SetChainAddressesParam) => void;
|
|
11
|
+
}) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<null, Error>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Asset, SkipRouter } from '@skip-go/core';
|
|
2
|
+
import { PublicClient } from 'viem';
|
|
3
|
+
import { Chain } from './use-chains';
|
|
4
|
+
interface Args {
|
|
5
|
+
address?: string;
|
|
6
|
+
chain?: Chain;
|
|
7
|
+
assets?: Asset[];
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
solanaRpcUrl?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function useBalancesByChain({ address, chain, assets, enabled, }: Args): import("@tanstack/react-query/build/legacy/types").UseQueryResult<Record<string, string> | undefined, Error>;
|
|
12
|
+
export declare function getBalancesByChain(rpcURL: string, address: string, chainID: string, assets: Asset[]): Promise<Record<string, string>>;
|
|
13
|
+
export declare function getEvmChainBalances(skipClient: SkipRouter, publicClient: PublicClient, address: string, chainID: string): Promise<Record<string, string>>;
|
|
14
|
+
export declare const getSvmChainBalances: (rpcUrl: string, address: string, chainID: string, assets: Asset[]) => Promise<Record<string, string>>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Bridge } from '@skip-go/core';
|
|
2
|
+
export type UseBridgesQueryArgs<T = Bridge[]> = {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
select?: (arr?: Bridge[]) => T;
|
|
5
|
+
};
|
|
6
|
+
export declare function useBridges<T = Bridge[]>(args?: UseBridgesQueryArgs<T>): import("@tanstack/react-query/build/legacy/types").UseQueryResult<T, Error>;
|
|
7
|
+
export declare function useBridgeByID(bridgeID?: Bridge['id']): import("@tanstack/react-query/build/legacy/types").UseQueryResult<Bridge | undefined, Error>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChainTransaction, TransferState, StatusState } from '@skip-go/core';
|
|
2
|
+
interface TransferSequence {
|
|
3
|
+
srcChainID: string;
|
|
4
|
+
destChainID: string;
|
|
5
|
+
txs: {
|
|
6
|
+
sendTx: ChainTransaction | null;
|
|
7
|
+
receiveTx: ChainTransaction | null;
|
|
8
|
+
};
|
|
9
|
+
state: TransferState;
|
|
10
|
+
}
|
|
11
|
+
export declare const useBroadcastedTxsStatus: ({ txs, txsRequired, enabled, }: {
|
|
12
|
+
txsRequired: number;
|
|
13
|
+
txs: {
|
|
14
|
+
chainID: string;
|
|
15
|
+
txHash: string;
|
|
16
|
+
}[] | undefined;
|
|
17
|
+
enabled?: boolean | undefined;
|
|
18
|
+
}) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<{
|
|
19
|
+
isSuccess: boolean;
|
|
20
|
+
isSettled: boolean;
|
|
21
|
+
transferSequence: TransferSequence[];
|
|
22
|
+
states: StatusState[];
|
|
23
|
+
} | undefined, Error>;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Chain as SkipChain } from '@skip-go/core';
|
|
2
|
+
export type Chain = SkipChain & {
|
|
3
|
+
prettyName: string;
|
|
4
|
+
};
|
|
5
|
+
export type UseChainsQueryArgs<T = Chain[]> = {
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
select?: (arr?: Chain[]) => T;
|
|
8
|
+
};
|
|
9
|
+
export declare function useChains<T = Chain[]>(args?: UseChainsQueryArgs<T>): import("@tanstack/react-query/build/legacy/types").UseQueryResult<T, Error>;
|
|
10
|
+
export declare function useChainByID(chainID?: string): import("@tanstack/react-query/build/legacy/types").UseQueryResult<Chain | undefined, Error>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useFixRadixUiWheelEvent: () => void;
|