@openocean.finance/widget 1.0.43 → 1.0.45
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/esm/App.js.map +1 -1
- package/dist/esm/AppDrawer.style.d.ts +1 -1
- package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
- package/dist/esm/components/AmountInput/AmountInput.style.d.ts +1 -1
- package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +1 -1
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +37 -33
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.style.d.ts +1 -1
- package/dist/esm/components/Avatar/SmallAvatar.d.ts +1 -1
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +1 -1
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
- package/dist/esm/components/ButtonTertiary.d.ts +1 -1
- package/dist/esm/components/Card/CardHeader.d.ts +1 -1
- package/dist/esm/components/Card/CardIconButton.d.ts +1 -1
- package/dist/esm/components/Card/InputCard.d.ts +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.style.d.ts +1 -1
- package/dist/esm/components/Header/Header.style.d.ts +2 -2
- package/dist/esm/components/Header/SettingsButton.style.d.ts +2 -2
- package/dist/esm/components/Header/WalletHeader.js +4 -4
- package/dist/esm/components/Header/WalletHeader.js.map +1 -1
- package/dist/esm/components/ListItem/ListItem.d.ts +1 -1
- package/dist/esm/components/Messages/WarningMessages.js +1 -0
- package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
- package/dist/esm/components/Messages/useMessageQueue.js +1 -1
- package/dist/esm/components/Messages/useMessageQueue.js.map +1 -1
- package/dist/esm/components/Search/SearchInput.style.d.ts +1 -1
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
- package/dist/esm/components/SendToWallet/SendToWallet.style.d.ts +1 -1
- package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +3 -3
- package/dist/esm/components/StepActions/StepActions.style.d.ts +1 -1
- package/dist/esm/components/Tabs/Tabs.style.d.ts +2 -2
- package/dist/esm/components/TokenList/TokenList.style.d.ts +2 -2
- package/dist/esm/components/TransactionDetails.js +4 -1
- package/dist/esm/components/TransactionDetails.js.map +1 -1
- package/dist/esm/config/defaultChainIds.js +3 -0
- package/dist/esm/config/defaultChainIds.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/cross/adapters/AcrossAdapter.js +21 -22
- package/dist/esm/cross/adapters/AcrossAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/BaseSwapAdapter.d.ts +17 -9
- package/dist/esm/cross/adapters/BaseSwapAdapter.js +15 -4
- package/dist/esm/cross/adapters/BaseSwapAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/DebridgeAdapter.js +8 -7
- package/dist/esm/cross/adapters/DebridgeAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/LifiAdapter.js +7 -6
- package/dist/esm/cross/adapters/LifiAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/MayanAdapter.js +1 -2
- package/dist/esm/cross/adapters/MayanAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/NearIntentsAdapter.d.ts +13 -6
- package/dist/esm/cross/adapters/NearIntentsAdapter.js +252 -75
- package/dist/esm/cross/adapters/NearIntentsAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/OptimexAdapter.js +2 -1
- package/dist/esm/cross/adapters/OptimexAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/OrbiterAdapter.js +9 -8
- package/dist/esm/cross/adapters/OrbiterAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/RelayAdapter.js +40 -15
- package/dist/esm/cross/adapters/RelayAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/SymbiosisAdapter.js +13 -14
- package/dist/esm/cross/adapters/SymbiosisAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/XYFinanceAdapter.js +13 -17
- package/dist/esm/cross/adapters/XYFinanceAdapter.js.map +1 -1
- package/dist/esm/cross/adapters/index.d.ts +2 -0
- package/dist/esm/cross/adapters/index.js +2 -1
- package/dist/esm/cross/adapters/index.js.map +1 -1
- package/dist/esm/cross/constants/index.d.ts +3 -1
- package/dist/esm/cross/constants/index.js +2 -0
- package/dist/esm/cross/constants/index.js.map +1 -1
- package/dist/esm/cross/crossChainQuote.d.ts +1 -1
- package/dist/esm/cross/crossChainQuote.js +75 -12
- package/dist/esm/cross/crossChainQuote.js.map +1 -1
- package/dist/esm/cross/factory.d.ts +3 -1
- package/dist/esm/cross/factory.js +10 -12
- package/dist/esm/cross/factory.js.map +1 -1
- package/dist/esm/cross/registry.d.ts +1 -1
- package/dist/esm/hooks/useAvailableChains.js +47 -40
- package/dist/esm/hooks/useAvailableChains.js.map +1 -1
- package/dist/esm/hooks/useChains.js.map +1 -1
- package/dist/esm/hooks/useRoutes.js +11 -3
- package/dist/esm/hooks/useRoutes.js.map +1 -1
- package/dist/esm/hooks/useSwapOnly.js +8 -2
- package/dist/esm/hooks/useSwapOnly.js.map +1 -1
- package/dist/esm/hooks/useTokenAddressBalance.js.map +1 -1
- package/dist/esm/hooks/useTokens.d.ts +1 -0
- package/dist/esm/hooks/useTokens.js +14 -0
- package/dist/esm/hooks/useTokens.js.map +1 -1
- package/dist/esm/i18n/en.json +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pages/MainPage/MainWarningMessages.js.map +1 -1
- package/dist/esm/pages/SendToWallet/BookmarksPage.js +1 -1
- package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +2 -2
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +2 -2
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +5 -5
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +1 -1
- package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
- package/dist/esm/services/ExecuteRoute.d.ts +1 -0
- package/dist/esm/services/ExecuteRoute.js +292 -9
- package/dist/esm/services/ExecuteRoute.js.map +1 -1
- package/dist/esm/services/OpenOceanService.js +30 -4
- package/dist/esm/services/OpenOceanService.js.map +1 -1
- package/dist/esm/stores/bookmarks/createBookmarkStore.js.map +1 -1
- package/dist/esm/types/widget.d.ts +1 -1
- package/dist/esm/types/widget.js.map +1 -1
- package/dist/esm/utils/chainType.d.ts +1 -0
- package/dist/esm/utils/chainType.js +15 -0
- package/dist/esm/utils/chainType.js.map +1 -1
- package/dist/esm/utils/getPriceImpact.js +3 -3
- package/dist/esm/utils/getPriceImpact.js.map +1 -1
- package/package.json +19 -7
- package/src/App.tsx +0 -1
- package/src/components/AmountInput/AmountInputEndAdornment.tsx +39 -34
- package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +3 -2
- package/src/components/Header/WalletHeader.tsx +4 -4
- package/src/components/Messages/WarningMessages.tsx +1 -0
- package/src/components/Messages/useMessageQueue.ts +1 -1
- package/src/components/TransactionDetails.tsx +8 -4
- package/src/config/defaultChainIds.ts +3 -0
- package/src/config/version.ts +1 -1
- package/src/cross/adapters/AcrossAdapter.ts +21 -22
- package/src/cross/adapters/BaseSwapAdapter.ts +24 -8
- package/src/cross/adapters/DebridgeAdapter.ts +11 -11
- package/src/cross/adapters/LifiAdapter.ts +11 -10
- package/src/cross/adapters/MayanAdapter.ts +1 -2
- package/src/cross/adapters/NearIntentsAdapter.ts +303 -129
- package/src/cross/adapters/OptimexAdapter.ts +12 -11
- package/src/cross/adapters/OrbiterAdapter.ts +17 -16
- package/src/cross/adapters/RelayAdapter.ts +42 -17
- package/src/cross/adapters/SymbiosisAdapter.ts +13 -14
- package/src/cross/adapters/XYFinanceAdapter.ts +15 -19
- package/src/cross/adapters/index.ts +2 -1
- package/src/cross/constants/index.ts +4 -0
- package/src/cross/crossChainQuote.ts +79 -21
- package/src/cross/factory.ts +12 -12
- package/src/cross/registry.ts +1 -1
- package/src/hooks/useAvailableChains.ts +50 -43
- package/src/hooks/useChains.ts +0 -1
- package/src/hooks/useExplorer.ts +6 -6
- package/src/hooks/useRoutes.ts +12 -4
- package/src/hooks/useSwapOnly.ts +9 -2
- package/src/hooks/useTokenAddressBalance.ts +1 -1
- package/src/hooks/useTokens.ts +20 -5
- package/src/i18n/en.json +2 -2
- package/src/index.ts +0 -1
- package/src/pages/MainPage/MainWarningMessages.tsx +0 -1
- package/src/pages/SendToWallet/BookmarksPage.tsx +1 -1
- package/src/pages/SendToWallet/RecentWalletsPage.tsx +2 -2
- package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +2 -2
- package/src/providers/WidgetProvider/WidgetProvider.tsx +0 -1
- package/src/services/ExecuteRoute.ts +426 -64
- package/src/services/OpenOceanService.ts +31 -7
- package/src/stores/bookmarks/createBookmarkStore.ts +15 -15
- package/src/types/widget.ts +2 -1
- package/src/utils/chainType.ts +25 -1
- package/src/utils/getPriceImpact.ts +3 -3
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -73,7 +73,22 @@ export class OpenOceanService {
|
|
|
73
73
|
const response = await fetch(`${this.API_V4_URL}/${chainName}/tokenList`);
|
|
74
74
|
const data = await response.json();
|
|
75
75
|
if (data.code !== 200) {
|
|
76
|
-
|
|
76
|
+
if (chain === '20000000000001') {
|
|
77
|
+
data.data = [
|
|
78
|
+
{
|
|
79
|
+
address: 'bitcoin',
|
|
80
|
+
symbol: 'BTC',
|
|
81
|
+
decimals: 8,
|
|
82
|
+
isNative: true,
|
|
83
|
+
name: 'Bitcoin',
|
|
84
|
+
icon: 'https://assets.coingecko.com/coins/images/1/standard/bitcoin.png',
|
|
85
|
+
usd: '109559',
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
throw new Error('Failed to fetch token list');
|
|
91
|
+
}
|
|
77
92
|
}
|
|
78
93
|
return data.data.map((token) => {
|
|
79
94
|
let address = token.address;
|
|
@@ -105,7 +120,7 @@ export class OpenOceanService {
|
|
|
105
120
|
return response.json();
|
|
106
121
|
}
|
|
107
122
|
static async getGasPrice(chain) {
|
|
108
|
-
if (!chain || chain === '1151111081099710') {
|
|
123
|
+
if (!chain || chain === '1151111081099710' || chain === '20000000000001') {
|
|
109
124
|
return {
|
|
110
125
|
data: {
|
|
111
126
|
gasPrice: '1000000000000000000',
|
|
@@ -148,7 +163,11 @@ export class OpenOceanService {
|
|
|
148
163
|
* @returns Promise<Record<string, string>> returns an object where key is token address and value is price
|
|
149
164
|
*/
|
|
150
165
|
static async getTokensPrice(chain, tokenAddresses) {
|
|
151
|
-
|
|
166
|
+
let chainName = this.getChainName(chain);
|
|
167
|
+
if (chain === '20000000000001') {
|
|
168
|
+
tokenAddresses = ['0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'];
|
|
169
|
+
chainName = '1';
|
|
170
|
+
}
|
|
152
171
|
const tokenAddressesStr = tokenAddresses.join(',');
|
|
153
172
|
const response = await fetch(`${this.API_V3_URL}/${chainName}/designated_tokenList?tokens=${tokenAddressesStr}`);
|
|
154
173
|
const data = await response.json();
|
|
@@ -157,7 +176,12 @@ export class OpenOceanService {
|
|
|
157
176
|
}
|
|
158
177
|
const prices = data.data.reduce((acc, token) => {
|
|
159
178
|
if (token.address && token.usd) {
|
|
160
|
-
|
|
179
|
+
if (chain === '20000000000001') {
|
|
180
|
+
acc.bitcoin = token.usd;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
acc[token.address.toLowerCase()] = token.usd;
|
|
184
|
+
}
|
|
161
185
|
}
|
|
162
186
|
return acc;
|
|
163
187
|
}, {});
|
|
@@ -171,5 +195,7 @@ OpenOceanService.API_V4_URL = 'https://open-api.openocean.finance/v4';
|
|
|
171
195
|
// Chain ID to OpenOcean chain name mapping
|
|
172
196
|
OpenOceanService.CHAIN_ID_MAP = {
|
|
173
197
|
1151111081099710: 'solana', // Solana mainnet
|
|
198
|
+
20000000000001: 'bitcoin', // Bitcoin mainnet
|
|
199
|
+
20000000000006: 'near', // Near mainnet
|
|
174
200
|
};
|
|
175
201
|
//# sourceMappingURL=OpenOceanService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenOceanService.js","sourceRoot":"","sources":["../../../src/services/OpenOceanService.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"OpenOceanService.js","sourceRoot":"","sources":["../../../src/services/OpenOceanService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBookmarkStore.js","sourceRoot":"","sources":["../../../../src/stores/bookmarks/createBookmarkStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAK1D,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAK7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,UAAU,EACV,SAAS,GACY,EAAE,EAAE,CACzB,oBAAoB,CAClB,OAAO,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACb,gBAAgB,EAAE,SAAS;IAC3B,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"createBookmarkStore.js","sourceRoot":"","sources":["../../../../src/stores/bookmarks/createBookmarkStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { CoinbaseWalletParameters, MetaMaskParameters, WalletConnectParamet
|
|
|
6
6
|
import type { LanguageKey, LanguageResources } from '../providers/I18nProvider/types.js';
|
|
7
7
|
import type { DefaultFieldValues } from '../stores/form/types.js';
|
|
8
8
|
export type WidgetVariant = 'compact' | 'wide' | 'drawer';
|
|
9
|
-
export type WidgetSubvariant = 'default' | 'bridge' | 'split' | 'custom' | 'refuel';
|
|
9
|
+
export type WidgetSubvariant = 'default' | 'swap' | 'bridge' | 'split' | 'custom' | 'refuel';
|
|
10
10
|
export type SplitSubvariant = 'bridge' | 'swap';
|
|
11
11
|
export type CustomSubvariant = 'checkout' | 'deposit';
|
|
12
12
|
export interface SubvariantOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,QAYX;AAZD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,mDAAuC,CAAA;IACvC,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,2DAA+C,CAAA;IAC/C,uDAA2C,CAAA;IAC3C,2DAA+C,CAAA;AACjD,CAAC,EAZW,QAAQ,KAAR,QAAQ,QAYnB;AAGD,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,qCAAuB,CAAA;AACzB,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB"}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { isUTXOAddress } from '@bigmi/core';
|
|
2
2
|
import { ChainId, ChainType, isSVMAddress } from '@openocean.finance/widget-sdk';
|
|
3
3
|
import { isAddress as isEVMAddress } from 'viem';
|
|
4
|
+
const isNearAddress = (address) => {
|
|
5
|
+
if (!address) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
// Implicit accounts are 64-char hex strings
|
|
9
|
+
const isImplicitAccount = /^[0-9a-f]{64}$/i.test(address);
|
|
10
|
+
if (isImplicitAccount) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
// Named accounts must be lowercase and end with a TLD (e.g. .near, .testnet, custom subdomain)
|
|
14
|
+
const isNamedAccount = /^[a-z0-9_-]+(\.[a-z0-9_-]+)*(\.near|\.testnet|\.chain|\.btc)?$/.test(address);
|
|
15
|
+
return isNamedAccount;
|
|
16
|
+
};
|
|
4
17
|
const chainTypeAddressValidation = {
|
|
5
18
|
[ChainType.EVM]: isEVMAddress,
|
|
6
19
|
[ChainType.SVM]: isSVMAddress,
|
|
7
20
|
[ChainType.UTXO]: isUTXOAddress,
|
|
8
21
|
[ChainType.MVM]: () => false,
|
|
22
|
+
[ChainType.NVM]: isNearAddress,
|
|
9
23
|
};
|
|
10
24
|
export const getChainTypeFromAddress = (address) => {
|
|
11
25
|
for (const chainType in chainTypeAddressValidation) {
|
|
@@ -20,5 +34,6 @@ export const defaultChainIdsByType = {
|
|
|
20
34
|
[ChainType.SVM]: ChainId.SOL,
|
|
21
35
|
[ChainType.UTXO]: ChainId.BTC,
|
|
22
36
|
[ChainType.MVM]: ChainId.SUI,
|
|
37
|
+
[ChainType.NVM]: ChainId.NEAR,
|
|
23
38
|
};
|
|
24
39
|
//# sourceMappingURL=chainType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainType.js","sourceRoot":"","sources":["../../../src/utils/chainType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,MAAM,CAAA;AAEhD,MAAM,
|
|
1
|
+
{"version":3,"file":"chainType.js","sourceRoot":"","sources":["../../../src/utils/chainType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,MAAM,CAAA;AAEhD,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAED,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+FAA+F;IAC/F,MAAM,cAAc,GAClB,gEAAgE,CAAC,IAAI,CACnE,OAAO,CACR,CAAA;IACH,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,0BAA0B,GAG5B;IACF,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY;IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY;IAC7B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa;IAC/B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,aAAa;CAC/B,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,OAAe,EACQ,EAAE;IACzB,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,CAAC;QACnD,MAAM,WAAW,GACf,0BAA0B,CAAC,SAAsB,CAAC,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,SAAsB,CAAA;QAC/B,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI;CAC9B,CAAA"}
|
|
@@ -5,9 +5,9 @@ export const getPriceImpact = ({ fromToken, toToken, fromAmount, toAmount, }) =>
|
|
|
5
5
|
if (!fromTokenPrice || !toTokenPrice) {
|
|
6
6
|
return 0;
|
|
7
7
|
}
|
|
8
|
-
console.log('fromTokenPrice', fromTokenPrice)
|
|
9
|
-
console.log('toTokenPrice', toTokenPrice)
|
|
10
|
-
console.log('fromTokenPrice / toTokenPrice', fromTokenPrice / toTokenPrice)
|
|
8
|
+
// console.log('fromTokenPrice', fromTokenPrice)
|
|
9
|
+
// console.log('toTokenPrice', toTokenPrice)
|
|
10
|
+
// console.log('fromTokenPrice / toTokenPrice', fromTokenPrice / toTokenPrice)
|
|
11
11
|
const priceImpact = toTokenPrice / fromTokenPrice - 1;
|
|
12
12
|
return priceImpact;
|
|
13
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPriceImpact.js","sourceRoot":"","sources":["../../../src/utils/getPriceImpact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAS9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,GACa,EAAE,EAAE;IACzB,MAAM,cAAc,GAAG,gBAAgB,CACrC,UAAU,EACV,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,QAAQ,CACnB,CAAA;IACD,MAAM,YAAY,GAAG,gBAAgB,CACnC,QAAQ,EACR,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,CACjB,CAAA;IAED,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"getPriceImpact.js","sourceRoot":"","sources":["../../../src/utils/getPriceImpact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAS9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,GACa,EAAE,EAAE;IACzB,MAAM,cAAc,GAAG,gBAAgB,CACrC,UAAU,EACV,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,QAAQ,CACnB,CAAA;IACD,MAAM,YAAY,GAAG,gBAAgB,CACnC,QAAQ,EACR,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,CACjB,CAAA;IAED,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,gDAAgD;IAChD,4CAA4C;IAC5C,8EAA8E;IAC9E,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,CAAC,CAAA;IAErD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openocean.finance/widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.45",
|
|
4
4
|
"description": "Openocean Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/esm/index.js",
|
|
@@ -51,14 +51,18 @@
|
|
|
51
51
|
"@mui/icons-material": "6.0.2",
|
|
52
52
|
"@mui/material": "^6.4.8",
|
|
53
53
|
"@mui/system": "^6.4.8",
|
|
54
|
-
"@openocean.finance/wallet-management": "^1.0.13",
|
|
55
|
-
"@openocean.finance/widget-sdk": "^1.0.13",
|
|
56
54
|
"@near-wallet-selector/react-hook": "^9.0.0",
|
|
55
|
+
"@openocean.finance/wallet-management": "^1.0.14",
|
|
56
|
+
"@openocean.finance/widget-sdk": "^1.0.14",
|
|
57
|
+
"@relayprotocol/relay-bitcoin-wallet-adapter": "^11.0.1",
|
|
57
58
|
"@reservoir0x/relay-sdk": "^2.4.0",
|
|
59
|
+
"@relayprotocol/relay-sdk": "^3.1.1",
|
|
58
60
|
"@reservoir0x/relay-solana-wallet-adapter": "^2.0.5",
|
|
61
|
+
"@solana/spl-token": "^0.4.14",
|
|
59
62
|
"@solana/wallet-adapter-base": "^0.9.24",
|
|
60
63
|
"@solana/web3.js": "^1.98.0",
|
|
61
64
|
"@tanstack/react-virtual": "^3.13.4",
|
|
65
|
+
"bitcoinjs-lib": "^7.0.0-rc.0",
|
|
62
66
|
"ethers": "^6.13.5",
|
|
63
67
|
"i18next": "^24.2.3",
|
|
64
68
|
"microdiff": "^1.5.0",
|
|
@@ -66,7 +70,7 @@
|
|
|
66
70
|
"react-i18next": "^15.4.1",
|
|
67
71
|
"react-intersection-observer": "^9.16.0",
|
|
68
72
|
"react-router-dom": "^6.30.0",
|
|
69
|
-
"viem": "^2.
|
|
73
|
+
"viem": "^2.40.3",
|
|
70
74
|
"zustand": "^5.0.3"
|
|
71
75
|
},
|
|
72
76
|
"devDependencies": {
|
|
@@ -86,8 +90,16 @@
|
|
|
86
90
|
"wagmi": "^2.14.0"
|
|
87
91
|
},
|
|
88
92
|
"peerDependenciesMeta": {
|
|
89
|
-
"react": {
|
|
90
|
-
|
|
93
|
+
"react": {
|
|
94
|
+
"optional": false
|
|
95
|
+
},
|
|
96
|
+
"react-dom": {
|
|
97
|
+
"optional": false
|
|
98
|
+
}
|
|
91
99
|
},
|
|
92
|
-
"files": [
|
|
100
|
+
"files": [
|
|
101
|
+
"dist/**",
|
|
102
|
+
"src/**",
|
|
103
|
+
"!tsconfig.json"
|
|
104
|
+
]
|
|
93
105
|
}
|
package/src/App.tsx
CHANGED
|
@@ -66,6 +66,9 @@ export const AmountInputEndAdornment = ({ formType }: FormTypeProps) => {
|
|
|
66
66
|
) {
|
|
67
67
|
return 0n
|
|
68
68
|
}
|
|
69
|
+
if(!token){
|
|
70
|
+
return 0n
|
|
71
|
+
}
|
|
69
72
|
let srcChainTokenInAmount: any = token.amount || 0
|
|
70
73
|
const asUsd =
|
|
71
74
|
Number(token.priceUSD) * (Number(token.amount) / 10 ** token.decimals)
|
|
@@ -99,42 +102,44 @@ export const AmountInputEndAdornment = ({ formType }: FormTypeProps) => {
|
|
|
99
102
|
|
|
100
103
|
const chain = getChainById(fromChainId)
|
|
101
104
|
let maxAmount = token.amount
|
|
102
|
-
|
|
103
105
|
let gas = 0n
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
106
|
+
if (
|
|
107
|
+
state === 'bridge' &&
|
|
108
|
+
fromChainId !== toChainId &&
|
|
109
|
+
fromTokenAddress &&
|
|
110
|
+
toTokenAddress
|
|
111
|
+
) {
|
|
112
|
+
// if(fromChainId === 20000000000001) {
|
|
113
|
+
// gas = 22000n
|
|
114
|
+
// }
|
|
115
|
+
// if (routes) {
|
|
116
|
+
// const router: any = routes[0] || {
|
|
117
|
+
// toAmount: 0,
|
|
118
|
+
// toToken: { decimals: 18 },
|
|
119
|
+
// }
|
|
120
|
+
// if (
|
|
121
|
+
// router &&
|
|
122
|
+
// router.data &&
|
|
123
|
+
// router.data.prependedOperatingExpenseCost
|
|
124
|
+
// ) {
|
|
125
|
+
// prependedOperatingExpenseCost =
|
|
126
|
+
// router.data.prependedOperatingExpenseCost
|
|
127
|
+
// }
|
|
128
|
+
// }
|
|
124
129
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
// gas = BigInt(
|
|
131
|
+
// Number.parseInt(
|
|
132
|
+
// (1.15 * Number(prependedOperatingExpenseCost)).toString()
|
|
133
|
+
// )
|
|
134
|
+
// )
|
|
135
|
+
// if (chain?.nativeToken?.address === fromTokenAddress) {
|
|
136
|
+
// if (fromChainId === 1151111081099710) {
|
|
137
|
+
// gas += 15000000n + (8157120n + 4000000n + 890880n)
|
|
138
|
+
// } else if (fromChainId === 8453) {
|
|
139
|
+
// gas += 1000000000000000n + 1000000000000n
|
|
140
|
+
// }
|
|
141
|
+
// }
|
|
142
|
+
}
|
|
138
143
|
|
|
139
144
|
if (state === 'swap' || fromChainId === toChainId) {
|
|
140
145
|
if (
|
|
@@ -18,14 +18,15 @@ export const BaseTransactionButton: React.FC<BaseTransactionButtonProps> = ({
|
|
|
18
18
|
const [fromChainId] = useFieldValues('fromChain')
|
|
19
19
|
const { chain } = useChain(fromChainId)
|
|
20
20
|
const { account } = useAccount({ chainType: chain?.chainType })
|
|
21
|
-
|
|
22
21
|
const handleClick = async () => {
|
|
23
22
|
if (account.isConnected) {
|
|
24
23
|
onClick?.()
|
|
25
24
|
} else if (walletConfig?.onConnect) {
|
|
26
25
|
walletConfig.onConnect()
|
|
27
26
|
} else {
|
|
28
|
-
openWalletMenu(
|
|
27
|
+
openWalletMenu(
|
|
28
|
+
chain?.chainType ? { chainType: chain.chainType } : undefined
|
|
29
|
+
)
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -42,9 +42,9 @@ const useInternalWalletManagement = () => {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export const WalletHeader: React.FC = () => {
|
|
45
|
-
const { shouldShowWalletMenu
|
|
45
|
+
const { shouldShowWalletMenu } = useInternalWalletManagement()
|
|
46
46
|
|
|
47
|
-
return shouldShowWalletMenu
|
|
47
|
+
return shouldShowWalletMenu ? (
|
|
48
48
|
<HeaderAppBar elevation={0} sx={{ justifyContent: 'flex-end' }}>
|
|
49
49
|
<WalletMenuButton />
|
|
50
50
|
</HeaderAppBar>
|
|
@@ -52,8 +52,8 @@ export const WalletHeader: React.FC = () => {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
export const SplitWalletMenuButton: React.FC = () => {
|
|
55
|
-
const { shouldShowWalletMenu
|
|
56
|
-
return shouldShowWalletMenu
|
|
55
|
+
const { shouldShowWalletMenu } = useInternalWalletManagement()
|
|
56
|
+
return shouldShowWalletMenu ? <WalletMenuButton /> : null
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
export const WalletMenuButton: React.FC = () => {
|
|
@@ -52,6 +52,7 @@ export const WarningMessages: React.FC<WarningMessagesProps> = ({
|
|
|
52
52
|
/>
|
|
53
53
|
)
|
|
54
54
|
case 'TO_ADDRESS_REQUIRED':
|
|
55
|
+
// return <ToAddressRequiredMessage {...props} />
|
|
55
56
|
const fromChainId = route?.fromChainId
|
|
56
57
|
const toChainId = route?.toChainId
|
|
57
58
|
if (fromChainId && toChainId && fromChainId !== toChainId) {
|
|
@@ -12,7 +12,7 @@ import { useServerErrorStore } from '../../stores/useServerErrorStore.js'
|
|
|
12
12
|
export const useStorePriceImpactAcknowledged = create((set) => ({
|
|
13
13
|
priceImpactAcknowledged: false,
|
|
14
14
|
setPriceImpactAcknowledged: (v: boolean) =>
|
|
15
|
-
set((
|
|
15
|
+
set(() => {
|
|
16
16
|
return {
|
|
17
17
|
priceImpactAcknowledged: v,
|
|
18
18
|
}
|
|
@@ -68,10 +68,10 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
let gasCostUSD = 0
|
|
71
|
-
const feeCosts = []
|
|
71
|
+
const feeCosts:any = []
|
|
72
72
|
const combinedFeesUSD =
|
|
73
|
-
gasCostUSD + feeCosts.reduce((sum, fee) => sum + fee.costUSD, 0)
|
|
74
|
-
const feeCostUSD = feeCosts.reduce((sum, fee) => sum + fee.costUSD, 0)
|
|
73
|
+
gasCostUSD + feeCosts.reduce((sum:number, fee:any) => sum + fee.costUSD, 0)
|
|
74
|
+
const feeCostUSD = feeCosts.reduce((sum:number, fee:any) => sum + fee.costUSD, 0)
|
|
75
75
|
const estimatedGas =
|
|
76
76
|
(route as any)?.estimatedGas || (route as any)?.data?.estimatedGas
|
|
77
77
|
if (token && gasPrice && estimatedGas) {
|
|
@@ -110,6 +110,10 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
|
|
|
110
110
|
const showIntegratorFeeCollectionDetails =
|
|
111
111
|
(feeAmountUSD || Number.isFinite(feeConfig?.fee)) && !hasGaslessSupport
|
|
112
112
|
|
|
113
|
+
if(!Number(route.toAmount)){
|
|
114
|
+
return null
|
|
115
|
+
}
|
|
116
|
+
|
|
113
117
|
return (
|
|
114
118
|
<Card selectionColor="secondary" {...props}>
|
|
115
119
|
<Box
|
|
@@ -317,7 +321,7 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
|
|
|
317
321
|
</Typography>
|
|
318
322
|
<Typography variant="body2" sx={{ fontWeight: 600 }}>
|
|
319
323
|
{t('format.percent', {
|
|
320
|
-
value: route.steps[0].action.slippage / 100,
|
|
324
|
+
value: route.steps[0]?.action?.slippage ? route.steps[0].action.slippage / 100 : 0,
|
|
321
325
|
})}
|
|
322
326
|
</Typography>
|
|
323
327
|
</Box>
|
package/src/config/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@openocean.finance/widget'
|
|
2
|
-
export const version = '1.0.
|
|
2
|
+
export const version = '1.0.45'
|
|
@@ -22,19 +22,19 @@ import {
|
|
|
22
22
|
const transferFunction = 'function transfer(address to, uint256 amount)'
|
|
23
23
|
|
|
24
24
|
// Create Interface instances
|
|
25
|
-
const erc20Interface = new ethers.
|
|
25
|
+
const erc20Interface = new ethers.Interface([transferFunction])
|
|
26
26
|
|
|
27
27
|
const multicalHandlerContract: Record<string, `0x${string}`> = {
|
|
28
|
-
[ChainId.
|
|
29
|
-
[ChainId.
|
|
30
|
-
[ChainId.
|
|
31
|
-
[ChainId.
|
|
32
|
-
[ChainId.
|
|
33
|
-
[ChainId.ZKSYNC]: '0x863859ef502F0Ee9676626ED5B418037252eFeb2',
|
|
34
|
-
[ChainId.
|
|
35
|
-
[ChainId.
|
|
36
|
-
[ChainId.
|
|
37
|
-
[ChainId.
|
|
28
|
+
[ChainId.ETH]: '0x924a9f036260DdD5808007E1AA95f08eD08aA569',
|
|
29
|
+
[ChainId.ARB]: '0x924a9f036260DdD5808007E1AA95f08eD08aA569',
|
|
30
|
+
[ChainId.OPT]: '0x924a9f036260DdD5808007E1AA95f08eD08aA569',
|
|
31
|
+
[ChainId.LNA]: '0x1015c58894961F4F7Dd7D68ba033e28Ed3ee1cDB',
|
|
32
|
+
[ChainId.POL]: '0x924a9f036260DdD5808007E1AA95f08eD08aA569',
|
|
33
|
+
// [ChainId.ZKSYNC]: '0x863859ef502F0Ee9676626ED5B418037252eFeb2',
|
|
34
|
+
[ChainId.BAS]: '0x1015c58894961F4F7Dd7D68ba033e28Ed3ee1cDB',
|
|
35
|
+
[ChainId.SCL]: '0x1015c58894961F4F7Dd7D68ba033e28Ed3ee1cDB',
|
|
36
|
+
[ChainId.BLS]: '0x1015c58894961F4F7Dd7D68ba033e28Ed3ee1cDB',
|
|
37
|
+
[ChainId.UNI]: '0x1015c58894961F4F7Dd7D68ba033e28Ed3ee1cDB',
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export class AcrossAdapter extends BaseSwapAdapter {
|
|
@@ -46,7 +46,7 @@ export class AcrossAdapter extends BaseSwapAdapter {
|
|
|
46
46
|
integratorId: `0x008a`,
|
|
47
47
|
chains: [mainnet, arbitrum, optimism, linea, polygon, zksync, base, scroll, blast, unichain],
|
|
48
48
|
rpcUrls: {
|
|
49
|
-
[ChainId.
|
|
49
|
+
[ChainId.BAS]: 'https://base.drpc.org',
|
|
50
50
|
},
|
|
51
51
|
})
|
|
52
52
|
}
|
|
@@ -59,16 +59,15 @@ export class AcrossAdapter extends BaseSwapAdapter {
|
|
|
59
59
|
}
|
|
60
60
|
getSupportedChains(): Chain[] {
|
|
61
61
|
return [
|
|
62
|
-
ChainId.
|
|
63
|
-
ChainId.
|
|
64
|
-
ChainId.
|
|
65
|
-
ChainId.
|
|
66
|
-
ChainId.
|
|
67
|
-
ChainId.
|
|
68
|
-
ChainId.
|
|
69
|
-
ChainId.
|
|
70
|
-
ChainId.
|
|
71
|
-
ChainId.UNICHAIN,
|
|
62
|
+
ChainId.ETH,
|
|
63
|
+
ChainId.ARB,
|
|
64
|
+
ChainId.OPT,
|
|
65
|
+
ChainId.LNA,
|
|
66
|
+
ChainId.POL,
|
|
67
|
+
ChainId.BAS,
|
|
68
|
+
ChainId.SCL,
|
|
69
|
+
ChainId.BLS,
|
|
70
|
+
ChainId.UNI,
|
|
72
71
|
]
|
|
73
72
|
}
|
|
74
73
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { useWalletSelector } from '@near-wallet-selector/react-hook'
|
|
2
2
|
import { ChainId } from '@openocean.finance/widget-sdk'
|
|
3
|
-
import type { AdaptedWallet } from '@
|
|
3
|
+
// import type { AdaptedWallet } from '@relayprotocol/relay-sdk'
|
|
4
4
|
import type { WalletAdapterProps } from '@solana/wallet-adapter-base'
|
|
5
5
|
import type { Connection } from '@solana/web3.js'
|
|
6
6
|
import type { WalletClient } from 'viem'
|
|
@@ -14,10 +14,14 @@ import type {
|
|
|
14
14
|
import type { Quote } from '../registry.js'
|
|
15
15
|
|
|
16
16
|
export enum NonEvmChain {
|
|
17
|
-
Near =
|
|
17
|
+
Near = 20000000000006,
|
|
18
18
|
Bitcoin = 20000000000001,
|
|
19
19
|
Solana = 1151111081099710,
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export enum NewEvmChain {
|
|
20
23
|
Plasma = 9745,
|
|
24
|
+
Monad = 143,
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
export const BitcoinToken = {
|
|
@@ -27,7 +31,7 @@ export const BitcoinToken = {
|
|
|
27
31
|
logo: 'https://storage.googleapis.com/ks-setting-1d682dca/285205e7-a16d-421c-a794-67439cd6b54f1751515894455.png',
|
|
28
32
|
}
|
|
29
33
|
|
|
30
|
-
export type Chain = ChainId | NonEvmChain
|
|
34
|
+
export type Chain = ChainId | NonEvmChain | NewEvmChain
|
|
31
35
|
export type Currency =
|
|
32
36
|
| EvmCurrency
|
|
33
37
|
| NearToken
|
|
@@ -49,12 +53,22 @@ export const NonEvmChainInfo: {
|
|
|
49
53
|
name: 'Solana',
|
|
50
54
|
icon: 'https://solana.com/favicon.png',
|
|
51
55
|
},
|
|
52
|
-
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const NewEvmChainInfo: {
|
|
59
|
+
[key in NewEvmChain]: { name: string; icon: string }
|
|
60
|
+
} = {
|
|
61
|
+
[NewEvmChain.Plasma]: {
|
|
53
62
|
name: 'Plasma',
|
|
54
63
|
icon: 'https://storage.googleapis.com/ks-setting-1d682dca/285205e7-a16d-421c-a794-67439cd6b54f1751515894455.png',
|
|
55
64
|
},
|
|
65
|
+
[NewEvmChain.Monad]: {
|
|
66
|
+
name: 'Monad',
|
|
67
|
+
icon: 'https://storage.googleapis.com/ks-setting-1d682dca/285205e7-a16d-421c-a794-67439cd6b54f1751515894455.png',
|
|
68
|
+
},
|
|
56
69
|
}
|
|
57
70
|
|
|
71
|
+
|
|
58
72
|
export const NOT_SUPPORTED_CHAINS_PRICE_SERVICE = [
|
|
59
73
|
ChainId.FTM,
|
|
60
74
|
ChainId.SCL,
|
|
@@ -64,7 +78,8 @@ export const NOT_SUPPORTED_CHAINS_PRICE_SERVICE = [
|
|
|
64
78
|
NonEvmChain.Solana,
|
|
65
79
|
NonEvmChain.Bitcoin,
|
|
66
80
|
NonEvmChain.Near,
|
|
67
|
-
|
|
81
|
+
NewEvmChain.Plasma,
|
|
82
|
+
NewEvmChain.Monad,
|
|
68
83
|
]
|
|
69
84
|
|
|
70
85
|
export interface QuoteParams {
|
|
@@ -75,12 +90,13 @@ export interface QuoteParams {
|
|
|
75
90
|
toToken: Currency
|
|
76
91
|
amount: string
|
|
77
92
|
slippage: number
|
|
78
|
-
walletClient?:
|
|
93
|
+
walletClient?: WalletClient
|
|
79
94
|
tokenInUsd: number
|
|
80
95
|
tokenOutUsd: number
|
|
81
96
|
sender: string
|
|
82
97
|
recipient: string
|
|
83
98
|
publicKey?: string
|
|
99
|
+
isNative: boolean
|
|
84
100
|
}
|
|
85
101
|
|
|
86
102
|
export interface EvmQuoteParams extends QuoteParams {
|
|
@@ -89,7 +105,7 @@ export interface EvmQuoteParams extends QuoteParams {
|
|
|
89
105
|
}
|
|
90
106
|
|
|
91
107
|
export interface NearQuoteParams extends QuoteParams {
|
|
92
|
-
nearTokens: NearToken[]
|
|
108
|
+
// nearTokens: NearToken[]
|
|
93
109
|
}
|
|
94
110
|
|
|
95
111
|
export interface NormalizedQuote {
|
|
@@ -111,7 +127,7 @@ export interface NormalizedQuote {
|
|
|
111
127
|
|
|
112
128
|
rawQuote: any
|
|
113
129
|
|
|
114
|
-
protocolFee: number
|
|
130
|
+
protocolFee: string | number
|
|
115
131
|
protocolFeeString?: string
|
|
116
132
|
platformFeePercent: number
|
|
117
133
|
}
|