@shapeshiftoss/swap-widget 0.0.2 → 0.1.0
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/dist/index.d.ts +233 -0
- package/dist/index.js +63612 -0
- package/dist/style.css +1 -0
- package/package.json +69 -18
- package/Dockerfile +0 -87
- package/dist/assets/PhArrowCircleDown-B305t-Sh.js +0 -14
- package/dist/assets/PhArrowClockwise-CJPxQhr_.js +0 -14
- package/dist/assets/PhArrowDown-C4hT9BVu.js +0 -14
- package/dist/assets/PhArrowLeft-Way4Cu-r.js +0 -14
- package/dist/assets/PhArrowRight-Cp5ZME0F.js +0 -14
- package/dist/assets/PhArrowSquareOut-NnrK69c5.js +0 -14
- package/dist/assets/PhArrowUp-Dph6j8rm.js +0 -14
- package/dist/assets/PhArrowUpRight-BpJjRRRh.js +0 -14
- package/dist/assets/PhArrowsClockwise-CFUT8X7R.js +0 -14
- package/dist/assets/PhArrowsDownUp-BjBI4ckC.js +0 -14
- package/dist/assets/PhArrowsLeftRight-CuLpbKRk.js +0 -14
- package/dist/assets/PhBank-Dchr4XQJ.js +0 -14
- package/dist/assets/PhBrowser-dUu2TrC1.js +0 -14
- package/dist/assets/PhCaretDown-78IuKU3V.js +0 -14
- package/dist/assets/PhCaretLeft-_aiyH7n1.js +0 -14
- package/dist/assets/PhCaretRight-8zJQEuDX.js +0 -14
- package/dist/assets/PhCaretUp-CiCxKWwN.js +0 -14
- package/dist/assets/PhCheck-CcADx8br.js +0 -14
- package/dist/assets/PhCircleHalf-BYzSzd2h.js +0 -14
- package/dist/assets/PhClock-UItiXeJq.js +0 -14
- package/dist/assets/PhCompass-CUy3uA7t.js +0 -14
- package/dist/assets/PhCopy-C-PDgSlZ.js +0 -14
- package/dist/assets/PhCreditCard-CWRaUT6F.js +0 -14
- package/dist/assets/PhCurrencyDollar-Cqla3AXT.js +0 -14
- package/dist/assets/PhDesktop-BBIPrYLl.js +0 -14
- package/dist/assets/PhDeviceMobile-BdsPaATg.js +0 -14
- package/dist/assets/PhDotsThree-BMXCQl-0.js +0 -14
- package/dist/assets/PhEnvelope-yUsis6yU.js +0 -14
- package/dist/assets/PhFunnelSimple-Ba7BbWTp.js +0 -14
- package/dist/assets/PhGlobe-DgLxBk5U.js +0 -14
- package/dist/assets/PhIdentificationCard-Czjmq9Z3.js +0 -14
- package/dist/assets/PhImage-BAJ_erz6.js +0 -14
- package/dist/assets/PhInfo-Cr4DhVUE.js +0 -14
- package/dist/assets/PhLightbulb-BX_7duTr.js +0 -14
- package/dist/assets/PhMagnifyingGlass-Mygfryvz.js +0 -14
- package/dist/assets/PhPaperPlaneRight-BeuCA660.js +0 -14
- package/dist/assets/PhPlus-BMjcHjsT.js +0 -14
- package/dist/assets/PhPower-CGffGmdb.js +0 -14
- package/dist/assets/PhPuzzlePiece-wm_GpVSi.js +0 -14
- package/dist/assets/PhQrCode-DRwRzXCH.js +0 -14
- package/dist/assets/PhQuestion-M09j2U0T.js +0 -14
- package/dist/assets/PhQuestionMark-BP9EMB6h.js +0 -14
- package/dist/assets/PhSealCheck-BfG80yKn.js +0 -14
- package/dist/assets/PhSignOut-C5YOWlPT.js +0 -14
- package/dist/assets/PhSpinner-BXooDYzU.js +0 -14
- package/dist/assets/PhTrash-Biq6rmmL.js +0 -14
- package/dist/assets/PhUser-CAgZSpGe.js +0 -14
- package/dist/assets/PhVault-l2PHF38a.js +0 -14
- package/dist/assets/PhWallet-w25D16It.js +0 -14
- package/dist/assets/PhWarning-DPEydIPw.js +0 -14
- package/dist/assets/PhWarningCircle-BqjT745H.js +0 -14
- package/dist/assets/PhX-s-SmVExa.js +0 -14
- package/dist/assets/SwapController-If0bFrNc.js +0 -1
- package/dist/assets/ccip-BBB7uCdL.js +0 -1
- package/dist/assets/ccip-CkkdfKKI.js +0 -1
- package/dist/assets/data-capture-D4gAy-Yc.js +0 -242
- package/dist/assets/email-B1AJehis.js +0 -90
- package/dist/assets/embedded-wallet-Q6DQopDk.js +0 -410
- package/dist/assets/features-B6JAPAFb.js +0 -5
- package/dist/assets/index-5jd8RPN9.js +0 -7428
- package/dist/assets/index-B4kNtSTk.js +0 -1080
- package/dist/assets/index-B753eAob.js +0 -1
- package/dist/assets/index-BZoLTv77.js +0 -3
- package/dist/assets/index-Bcw9UURX.js +0 -3
- package/dist/assets/index-BkrV-ahK.js +0 -2
- package/dist/assets/index-CRQzQ_up.js +0 -9
- package/dist/assets/index-CSW0Gt5y.js +0 -132
- package/dist/assets/index-CZ4jTIsk.js +0 -138
- package/dist/assets/index-Cwa8SB3h.js +0 -61
- package/dist/assets/index-DEwQgT4r.js +0 -78
- package/dist/assets/index-DVfQiQ1d.js +0 -1
- package/dist/assets/index-cV3UdaMs.css +0 -1
- package/dist/assets/index-hAmu622O.js +0 -43
- package/dist/assets/onramp-XcPNCLRU.js +0 -422
- package/dist/assets/pay-with-exchange-BeHt4OF4.js +0 -280
- package/dist/assets/property-C9JG5tag.js +0 -27
- package/dist/assets/receive-7ff4he2S.js +0 -131
- package/dist/assets/send-CkMBIRXT.js +0 -554
- package/dist/assets/socials-DmmxuLrP.js +0 -250
- package/dist/assets/swaps-IHAYRQ0x.js +0 -1050
- package/dist/assets/transactions-9Cxdk7o9.js +0 -16
- package/dist/assets/v4-BOvFkHkt.js +0 -1
- package/dist/assets/w3m-modal-kJzFnBfB.js +0 -891
- package/dist/assets/wallet-standard-Dv8LMoUB.js +0 -1
- package/dist/favicon.png +0 -0
- package/dist/favicon.svg +0 -11
- package/dist/icon-192x192.png +0 -0
- package/dist/icon-512x512.png +0 -0
- package/dist/index.html +0 -33
- package/index.html +0 -32
- package/public/favicon.png +0 -0
- package/public/favicon.svg +0 -11
- package/public/icon-192x192.png +0 -0
- package/public/icon-512x512.png +0 -0
- package/railway.toml +0 -10
- package/src/api/client.ts +0 -95
- package/src/components/AddressInputModal.css +0 -173
- package/src/components/AddressInputModal.tsx +0 -250
- package/src/components/ApprovalStep.tsx +0 -92
- package/src/components/ExecutionStep.tsx +0 -27
- package/src/components/InputStep.tsx +0 -431
- package/src/components/QuoteSelector.css +0 -146
- package/src/components/QuoteSelector.tsx +0 -137
- package/src/components/QuotesModal.css +0 -250
- package/src/components/QuotesModal.tsx +0 -182
- package/src/components/SettingsModal.css +0 -145
- package/src/components/SettingsModal.tsx +0 -180
- package/src/components/StatusStep.tsx +0 -139
- package/src/components/SwapWidget.css +0 -713
- package/src/components/SwapWidget.tsx +0 -607
- package/src/components/TokenSelectModal.css +0 -438
- package/src/components/TokenSelectModal.tsx +0 -487
- package/src/components/WalletProvider.tsx +0 -92
- package/src/config/appkit.ts +0 -104
- package/src/config/wagmi.ts +0 -27
- package/src/constants/chains.ts +0 -72
- package/src/constants/defaults.ts +0 -28
- package/src/constants/swappers.ts +0 -48
- package/src/constants/viemChains.ts +0 -69
- package/src/contexts/SwapWalletContext.tsx +0 -25
- package/src/demo/App.css +0 -458
- package/src/demo/App.tsx +0 -481
- package/src/demo/main.tsx +0 -25
- package/src/hooks/useAssets.ts +0 -180
- package/src/hooks/useBalances.ts +0 -822
- package/src/hooks/useBitcoinSigning.ts +0 -276
- package/src/hooks/useMarketData.ts +0 -169
- package/src/hooks/useSolanaSigning.ts +0 -275
- package/src/hooks/useStatusPolling.ts +0 -137
- package/src/hooks/useSwapApproval.ts +0 -106
- package/src/hooks/useSwapDisplayValues.ts +0 -157
- package/src/hooks/useSwapExecution.ts +0 -199
- package/src/hooks/useSwapHandlers.ts +0 -119
- package/src/hooks/useSwapQuote.ts +0 -71
- package/src/hooks/useSwapQuoting.ts +0 -102
- package/src/hooks/useSwapRates.ts +0 -61
- package/src/index.ts +0 -43
- package/src/machines/SwapMachineContext.ts +0 -5
- package/src/machines/__tests__/guards.test.ts +0 -228
- package/src/machines/__tests__/setup.test.ts +0 -7
- package/src/machines/__tests__/swapMachine.test.ts +0 -544
- package/src/machines/__tests__/types.test.ts +0 -124
- package/src/machines/guards.ts +0 -33
- package/src/machines/swapMachine.ts +0 -288
- package/src/machines/types.ts +0 -54
- package/src/services/transactionStatus.ts +0 -322
- package/src/types/index.ts +0 -361
- package/src/utils/addressValidation.ts +0 -201
- package/src/utils/redirect.ts +0 -45
- package/src/vite-env.d.ts +0 -10
- package/tsconfig.json +0 -23
- package/tsconfig.node.json +0 -10
- package/vite.config.ts +0 -101
- package/vitest.config.ts +0 -18
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { Asset as Asset_2 } from '@shapeshiftoss/types';
|
|
2
|
+
import { AssetId } from '@shapeshiftoss/caip';
|
|
3
|
+
import { ChainId } from '@shapeshiftoss/caip';
|
|
4
|
+
import { JSX } from 'react/jsx-runtime';
|
|
5
|
+
import { UseQueryResult } from '@tanstack/react-query';
|
|
6
|
+
import { WalletClient } from 'viem';
|
|
7
|
+
|
|
8
|
+
export declare type Asset = {
|
|
9
|
+
assetId: AssetId;
|
|
10
|
+
chainId: ChainId;
|
|
11
|
+
symbol: string;
|
|
12
|
+
name: string;
|
|
13
|
+
precision: number;
|
|
14
|
+
icon?: string;
|
|
15
|
+
color?: string;
|
|
16
|
+
networkName?: string;
|
|
17
|
+
networkIcon?: string;
|
|
18
|
+
explorer?: string;
|
|
19
|
+
explorerTxLink?: string;
|
|
20
|
+
explorerAddressLink?: string;
|
|
21
|
+
relatedAssetKey?: AssetId | null;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { AssetId }
|
|
25
|
+
|
|
26
|
+
declare type AssetQueryResult<TData> = Omit<UseQueryResult<RawAssetData>, 'data'> & {
|
|
27
|
+
data: TData;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export declare type Chain = {
|
|
31
|
+
chainId: ChainId;
|
|
32
|
+
name: string;
|
|
33
|
+
icon: string;
|
|
34
|
+
color: string;
|
|
35
|
+
nativeAssetId: AssetId;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { ChainId }
|
|
39
|
+
|
|
40
|
+
declare type ChainInfo = {
|
|
41
|
+
chainId: ChainId;
|
|
42
|
+
name: string;
|
|
43
|
+
icon?: string;
|
|
44
|
+
color?: string;
|
|
45
|
+
nativeAsset: Asset;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export declare const COSMOS_CHAIN_IDS: {
|
|
49
|
+
readonly cosmos: ChainId;
|
|
50
|
+
readonly thorchain: ChainId;
|
|
51
|
+
readonly mayachain: ChainId;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export declare const EVM_CHAIN_IDS: {
|
|
55
|
+
readonly ethereum: ChainId;
|
|
56
|
+
readonly arbitrum: ChainId;
|
|
57
|
+
readonly optimism: ChainId;
|
|
58
|
+
readonly polygon: ChainId;
|
|
59
|
+
readonly base: ChainId;
|
|
60
|
+
readonly avalanche: ChainId;
|
|
61
|
+
readonly bsc: ChainId;
|
|
62
|
+
readonly gnosis: ChainId;
|
|
63
|
+
readonly monad: ChainId;
|
|
64
|
+
readonly hyperEvm: ChainId;
|
|
65
|
+
readonly plasma: ChainId;
|
|
66
|
+
readonly worldChain: ChainId;
|
|
67
|
+
readonly katana: ChainId;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export declare const formatAmount: (amount: string, decimals: number, maxDecimals?: number) => string;
|
|
71
|
+
|
|
72
|
+
export declare const getBaseAsset: (chainId: ChainId) => Asset_2 | undefined;
|
|
73
|
+
|
|
74
|
+
export declare const getChainColor: (chainId: ChainId) => string;
|
|
75
|
+
|
|
76
|
+
export declare const getChainIcon: (chainId: ChainId) => string | undefined;
|
|
77
|
+
|
|
78
|
+
export declare const getChainName: (chainId: ChainId) => string;
|
|
79
|
+
|
|
80
|
+
export declare const getChainType: (chainId: string) => 'evm' | 'utxo' | 'cosmos' | 'solana' | 'other';
|
|
81
|
+
|
|
82
|
+
export declare const getEvmNetworkId: (chainId: string) => number;
|
|
83
|
+
|
|
84
|
+
export declare const getExplorerTxLink: (chainId: ChainId) => string;
|
|
85
|
+
|
|
86
|
+
export declare const isEvmChainId: (chainId: string) => boolean;
|
|
87
|
+
|
|
88
|
+
export declare const OTHER_CHAIN_IDS: {
|
|
89
|
+
readonly solana: ChainId;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export declare const parseAmount: (amount: string, decimals: number) => string;
|
|
93
|
+
|
|
94
|
+
declare type RawAssetData = {
|
|
95
|
+
byId: Record<AssetId, Asset>;
|
|
96
|
+
ids: AssetId[];
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export declare enum SwapperName {
|
|
100
|
+
Thorchain = "THORChain",
|
|
101
|
+
Mayachain = "MAYAChain",
|
|
102
|
+
CowSwap = "CoW Swap",
|
|
103
|
+
Zrx = "0x",
|
|
104
|
+
ArbitrumBridge = "Arbitrum Bridge",
|
|
105
|
+
Portals = "Portals",
|
|
106
|
+
Chainflip = "Chainflip",
|
|
107
|
+
Jupiter = "Jupiter",
|
|
108
|
+
Relay = "Relay",
|
|
109
|
+
ButterSwap = "ButterSwap",
|
|
110
|
+
Bebop = "Bebop",
|
|
111
|
+
NearIntents = "NEAR Intents",
|
|
112
|
+
Cetus = "Cetus",
|
|
113
|
+
Sunio = "Sun.io",
|
|
114
|
+
Avnu = "AVNU"
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export declare const SwapWidget: (props: SwapWidgetProps) => JSX.Element;
|
|
118
|
+
|
|
119
|
+
export declare type SwapWidgetProps = {
|
|
120
|
+
affiliateAddress?: string;
|
|
121
|
+
affiliateBps?: string;
|
|
122
|
+
apiBaseUrl?: string;
|
|
123
|
+
defaultSellAsset?: Asset;
|
|
124
|
+
defaultBuyAsset?: Asset;
|
|
125
|
+
disabledChainIds?: ChainId[];
|
|
126
|
+
disabledAssetIds?: AssetId[];
|
|
127
|
+
allowedChainIds?: ChainId[];
|
|
128
|
+
sellDisabledChainIds?: ChainId[];
|
|
129
|
+
buyDisabledChainIds?: ChainId[];
|
|
130
|
+
sellDisabledAssetIds?: AssetId[];
|
|
131
|
+
buyDisabledAssetIds?: AssetId[];
|
|
132
|
+
sellAllowedChainIds?: ChainId[];
|
|
133
|
+
buyAllowedChainIds?: ChainId[];
|
|
134
|
+
sellAllowedAssetIds?: AssetId[];
|
|
135
|
+
buyAllowedAssetIds?: AssetId[];
|
|
136
|
+
allowedSwapperNames?: SwapperName[];
|
|
137
|
+
walletClient?: WalletClient;
|
|
138
|
+
onConnectWallet?: () => void;
|
|
139
|
+
onSwapSuccess?: (txHash: string) => void;
|
|
140
|
+
onSwapError?: (error: Error) => void;
|
|
141
|
+
onAssetSelect?: (type: 'sell' | 'buy', asset: Asset) => void;
|
|
142
|
+
theme?: ThemeMode | ThemeConfig;
|
|
143
|
+
defaultSlippage?: string;
|
|
144
|
+
showPoweredBy?: boolean;
|
|
145
|
+
enableWalletConnection?: boolean;
|
|
146
|
+
walletConnectProjectId?: string;
|
|
147
|
+
defaultReceiveAddress?: string;
|
|
148
|
+
ratesRefetchInterval?: number;
|
|
149
|
+
isBuyAssetLocked?: boolean;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
export declare type ThemeConfig = {
|
|
153
|
+
mode: ThemeMode;
|
|
154
|
+
accentColor?: string;
|
|
155
|
+
backgroundColor?: string;
|
|
156
|
+
cardColor?: string;
|
|
157
|
+
textColor?: string;
|
|
158
|
+
borderRadius?: string;
|
|
159
|
+
fontFamily?: string;
|
|
160
|
+
borderColor?: string;
|
|
161
|
+
secondaryTextColor?: string;
|
|
162
|
+
mutedTextColor?: string;
|
|
163
|
+
inputColor?: string;
|
|
164
|
+
hoverColor?: string;
|
|
165
|
+
buttonVariant?: 'filled' | 'outline';
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
export declare type ThemeMode = 'light' | 'dark';
|
|
169
|
+
|
|
170
|
+
export declare type TradeQuote = {
|
|
171
|
+
id: string;
|
|
172
|
+
rate: string;
|
|
173
|
+
swapperName: SwapperName;
|
|
174
|
+
steps: TradeQuoteStep[];
|
|
175
|
+
receiveAddress: string;
|
|
176
|
+
affiliateBps: string;
|
|
177
|
+
slippageTolerancePercentageDecimal?: string;
|
|
178
|
+
isStreaming?: boolean;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
declare type TradeQuoteStep = {
|
|
182
|
+
sellAsset: Asset;
|
|
183
|
+
buyAsset: Asset;
|
|
184
|
+
sellAmountCryptoBaseUnit: string;
|
|
185
|
+
buyAmountCryptoBaseUnit: string;
|
|
186
|
+
rate: string;
|
|
187
|
+
source: SwapperName;
|
|
188
|
+
feeData: {
|
|
189
|
+
networkFeeCryptoBaseUnit: string;
|
|
190
|
+
protocolFees?: Record<AssetId, {
|
|
191
|
+
amountCryptoBaseUnit: string;
|
|
192
|
+
}>;
|
|
193
|
+
};
|
|
194
|
+
allowanceContract?: string;
|
|
195
|
+
estimatedExecutionTimeMs?: number;
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
export declare type TradeRate = {
|
|
199
|
+
swapperName: SwapperName;
|
|
200
|
+
rate: string;
|
|
201
|
+
buyAmountCryptoBaseUnit: string;
|
|
202
|
+
sellAmountCryptoBaseUnit: string;
|
|
203
|
+
steps: number;
|
|
204
|
+
estimatedExecutionTimeMs?: number;
|
|
205
|
+
affiliateBps: string;
|
|
206
|
+
networkFeeCryptoBaseUnit?: string;
|
|
207
|
+
error?: {
|
|
208
|
+
code: string;
|
|
209
|
+
message: string;
|
|
210
|
+
};
|
|
211
|
+
id?: string;
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export declare const truncateAddress: (address: string, chars?: number) => string;
|
|
215
|
+
|
|
216
|
+
export declare const useAssetById: (assetId: AssetId | undefined) => AssetQueryResult<Asset | undefined>;
|
|
217
|
+
|
|
218
|
+
export declare const useAssets: () => AssetQueryResult<Asset[]>;
|
|
219
|
+
|
|
220
|
+
export declare const useAssetsByChainId: (chainId: ChainId | undefined) => AssetQueryResult<Asset[]>;
|
|
221
|
+
|
|
222
|
+
export declare const useAssetSearch: (query: string, chainId?: ChainId) => AssetQueryResult<Asset[]>;
|
|
223
|
+
|
|
224
|
+
export declare const useChains: () => AssetQueryResult<ChainInfo[]>;
|
|
225
|
+
|
|
226
|
+
export declare const UTXO_CHAIN_IDS: {
|
|
227
|
+
readonly bitcoin: ChainId;
|
|
228
|
+
readonly bitcoinCash: ChainId;
|
|
229
|
+
readonly dogecoin: ChainId;
|
|
230
|
+
readonly litecoin: ChainId;
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
export { }
|