@openocean.finance/widget 1.0.25 → 1.0.27
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/components/AmountInput/AmountInput.js +2 -2
- package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
- package/dist/esm/components/ChainSelect/useChainSelect.d.ts +2 -1
- package/dist/esm/components/Step/StepList.d.ts +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/hooks/useAvailableChains.d.ts +1 -1
- package/dist/esm/hooks/useChain.d.ts +1 -1
- package/dist/esm/hooks/useChains.d.ts +1 -1
- package/dist/esm/hooks/useGasRecommendation.d.ts +1 -1
- package/dist/esm/hooks/useGasRefuel.d.ts +3 -3
- package/dist/esm/hooks/useGasSufficiency.d.ts +1 -1
- package/dist/esm/hooks/useIsBatchingSupported.d.ts +1 -1
- package/dist/esm/hooks/useRouteExecution.d.ts +1 -1
- package/dist/esm/hooks/useRoutes.d.ts +3 -3
- package/dist/esm/hooks/useToAddressRequirements.d.ts +2 -2
- package/dist/esm/hooks/useTokenAddressBalance.d.ts +1 -1
- package/dist/esm/hooks/useTokenBalance.d.ts +1 -1
- package/dist/esm/hooks/useTokenBalances.d.ts +1 -1
- package/dist/esm/hooks/useTokens.d.ts +1 -1
- package/dist/esm/hooks/useTools.d.ts +2 -1
- package/dist/esm/hooks/useTransactionDetails.d.ts +2 -1
- package/dist/esm/hooks/useTransactionHistory.d.ts +1 -0
- package/dist/esm/services/OpenOceanService.d.ts +1 -0
- package/dist/esm/services/OpenOceanService.js +14 -5
- package/dist/esm/services/OpenOceanService.js.map +1 -1
- package/dist/esm/stores/form/useFieldController.d.ts +1 -1
- package/dist/esm/stores/routes/useExecutingRoutesIds.d.ts +1 -1
- package/dist/esm/stores/routes/useSetExecutableRoute.d.ts +1 -1
- package/dist/esm/stores/routes/utils.d.ts +6 -6
- package/dist/esm/utils/chainType.d.ts +5 -5
- package/dist/esm/utils/format.d.ts +9 -0
- package/dist/esm/utils/format.js +17 -0
- package/dist/esm/utils/format.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AmountInput/AmountInput.tsx +2 -2
- package/src/config/version.ts +1 -1
- package/src/services/OpenOceanService.ts +14 -5
- package/src/utils/format.ts +22 -0
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -10,7 +10,7 @@ import { FormKeyHelper } from '../../stores/form/types.js';
|
|
|
10
10
|
import { useFieldController } from '../../stores/form/useFieldController.js';
|
|
11
11
|
import { useFieldValues } from '../../stores/form/useFieldValues.js';
|
|
12
12
|
import { DisabledUI } from '../../types/widget.js';
|
|
13
|
-
import { formatInputAmount,
|
|
13
|
+
import { formatInputAmount, formatToTokenAmount } from '../../utils/format.js';
|
|
14
14
|
import { fitInputText } from '../../utils/input.js';
|
|
15
15
|
import { FormContainer, FormControl, Input, maxInputFontSize, minInputFontSize, } from './AmountInput.style.js';
|
|
16
16
|
import { AmountInputEndAdornment } from './AmountInputEndAdornment.js';
|
|
@@ -39,7 +39,7 @@ export const AmountInputBase = ({ formType, token, startAdornment, endAdornment,
|
|
|
39
39
|
router.toAmount !== null &&
|
|
40
40
|
router.toToken &&
|
|
41
41
|
typeof router.toToken.decimals === 'number') {
|
|
42
|
-
inputValue = String(
|
|
42
|
+
inputValue = String(formatToTokenAmount(BigInt(router.toAmount), router.toToken.decimals));
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
45
|
inputValue = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmountInput.js","sourceRoot":"","sources":["../../../../src/components/AmountInput/AmountInput.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,mDAAmD;AACnD,mDAAmD;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,aAAa,EAAsB,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AmountInput.js","sourceRoot":"","sources":["../../../../src/components/AmountInput/AmountInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { EVMChain } from '@openocean.finance/widget-sdk';
|
|
1
2
|
import type { FormType } from '../../stores/form/types.js';
|
|
2
3
|
export declare const useChainSelect: (formType: FormType) => {
|
|
3
4
|
chainOrder: number[];
|
|
4
|
-
chains:
|
|
5
|
+
chains: import("@openocean.finance/widget-sdk").ExtendedChain[];
|
|
5
6
|
getChains: () => EVMChain[];
|
|
6
7
|
isLoading: boolean;
|
|
7
8
|
setChainOrder: (chainId: number, type: FormType) => void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { RouteExtended } from '@openocean.finance/widget-sdk';
|
|
2
2
|
import type { WidgetSubvariant } from '../../types/widget.js';
|
|
3
|
-
export declare const getStepList: (route?: RouteExtended, subvariant?: WidgetSubvariant) =>
|
|
3
|
+
export declare const getStepList: (route?: RouteExtended, subvariant?: WidgetSubvariant) => import("react/jsx-runtime").JSX.Element[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@openocean.finance/widget";
|
|
2
|
-
export declare const version = "1.0.
|
|
2
|
+
export declare const version = "1.0.27";
|
|
@@ -2,7 +2,7 @@ import type { ExtendedChain } from '@openocean.finance/widget-sdk';
|
|
|
2
2
|
import { ChainType } from '@openocean.finance/widget-sdk';
|
|
3
3
|
export type GetChainById = (chainId?: number, chains?: ExtendedChain[]) => ExtendedChain | undefined;
|
|
4
4
|
export declare const useAvailableChains: (chainTypes?: ChainType[]) => {
|
|
5
|
-
chains:
|
|
5
|
+
chains: ExtendedChain[];
|
|
6
6
|
getChainById: GetChainById;
|
|
7
7
|
isLoading: boolean;
|
|
8
8
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ChainType } from '@openocean.finance/widget-sdk';
|
|
2
2
|
import type { FormType } from '../stores/form/types.js';
|
|
3
3
|
export declare const useChains: (type?: FormType, chainTypes?: ChainType[]) => {
|
|
4
|
-
chains:
|
|
4
|
+
chains: import("@openocean.finance/widget-sdk").ExtendedChain[];
|
|
5
5
|
getChainById: import("./useAvailableChains.js").GetChainById;
|
|
6
6
|
isLoading: boolean;
|
|
7
7
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type ChainId } from '@openocean.finance/widget-sdk';
|
|
2
|
-
export declare const useGasRecommendation: (toChainId?: ChainId, fromChain?: ChainId, fromToken?: string) => import("@tanstack/react-query").UseQueryResult<
|
|
2
|
+
export declare const useGasRecommendation: (toChainId?: ChainId, fromChain?: ChainId, fromToken?: string) => import("@tanstack/react-query").UseQueryResult<import("@openocean.finance/widget-sdk").GasRecommendationResponse, Error>;
|
|
@@ -8,7 +8,7 @@ export declare const useRouteExecution: ({ routeId, executeInBackground, onAccep
|
|
|
8
8
|
executeRoute: () => void;
|
|
9
9
|
restartRoute: () => void;
|
|
10
10
|
deleteRoute: () => void;
|
|
11
|
-
route: RouteExtended;
|
|
11
|
+
route: import("@openocean.finance/widget-sdk").RouteExtended;
|
|
12
12
|
status: import("../stores/routes/types.js").RouteExecutionStatus;
|
|
13
13
|
};
|
|
14
14
|
export {};
|
|
@@ -10,9 +10,9 @@ export declare const useRoutes: ({ observableRoute }?: RoutesProps) => {
|
|
|
10
10
|
dataUpdatedAt: number;
|
|
11
11
|
refetchTime: number;
|
|
12
12
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Route[], Error>>;
|
|
13
|
-
fromChain:
|
|
14
|
-
toChain:
|
|
15
|
-
queryKey: readonly ["routes", string, number, string, string, string, number, string, string, ContractCall[], string, boolean, string[], string[], string[], string[],
|
|
13
|
+
fromChain: import("@openocean.finance/widget-sdk").ExtendedChain;
|
|
14
|
+
toChain: import("@openocean.finance/widget-sdk").ExtendedChain;
|
|
15
|
+
queryKey: readonly ["routes", string, number, string, string, string, number, string, string, import("@openocean.finance/widget-sdk").ContractCall[], string, boolean, string[], string[], string[], string[], "RECOMMENDED" | "FASTEST" | "CHEAPEST" | "SAFEST", import("../index.js").WidgetSubvariant, boolean, boolean, string, number, boolean, string];
|
|
16
16
|
setReviewableRoute: (route: Route) => void;
|
|
17
17
|
};
|
|
18
18
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RouteExtended } from '@openocean.finance/widget-sdk';
|
|
2
2
|
export declare const useToAddressRequirements: (route?: RouteExtended) => {
|
|
3
3
|
requiredToAddress: boolean;
|
|
4
|
-
requiredToChainType:
|
|
5
|
-
toAddress:
|
|
4
|
+
requiredToChainType: import("@openocean.finance/widget-sdk").ChainType;
|
|
5
|
+
toAddress: string;
|
|
6
6
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { TokenAmount } from '../types/token.js';
|
|
2
2
|
export declare const useTokenAddressBalance: (chainId?: number, tokenAddress?: string) => {
|
|
3
3
|
token: TokenAmount;
|
|
4
|
-
chain:
|
|
4
|
+
chain: import("@openocean.finance/widget-types").ExtendedChain;
|
|
5
5
|
isLoading: boolean;
|
|
6
6
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<TokenAmount[], Error>>;
|
|
7
7
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Token, type TokenAmount } from '@openocean.finance/widget-sdk';
|
|
2
2
|
export declare const useTokenBalance: (accountAddress?: string, token?: Token) => {
|
|
3
|
-
token:
|
|
3
|
+
token: TokenAmount;
|
|
4
4
|
isLoading: boolean;
|
|
5
5
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<TokenAmount, Error>>;
|
|
6
6
|
refetchNewBalance: () => void;
|
|
@@ -4,7 +4,7 @@ export declare const useTokenBalances: (selectedChainId?: number) => {
|
|
|
4
4
|
tokensWithBalance: TokenAmount[];
|
|
5
5
|
featuredTokens: TokenAmount[];
|
|
6
6
|
popularTokens: TokenAmount[];
|
|
7
|
-
chain:
|
|
7
|
+
chain: import("@openocean.finance/widget-sdk").ExtendedChain;
|
|
8
8
|
isLoading: boolean;
|
|
9
9
|
isBalanceLoading: boolean;
|
|
10
10
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<TokenAmount[], Error>>;
|
|
@@ -11,6 +11,15 @@ export class OpenOceanService {
|
|
|
11
11
|
? `${this.API_V4_URL}/${chainName}`
|
|
12
12
|
: `${this.API_V4_URL}/${chainId}`;
|
|
13
13
|
}
|
|
14
|
+
static getSolanaAddress(chain, tokenAddress) {
|
|
15
|
+
if (chain === '1151111081099710' && tokenAddress === 'So11111111111111111111111111111111111111112') {
|
|
16
|
+
return '11111111111111111111111111111111';
|
|
17
|
+
}
|
|
18
|
+
else if (chain === '1151111081099710' && tokenAddress === '11111111111111111111111111111111') {
|
|
19
|
+
return 'So11111111111111111111111111111111111111112';
|
|
20
|
+
}
|
|
21
|
+
return tokenAddress;
|
|
22
|
+
}
|
|
14
23
|
static async getQuote(params) {
|
|
15
24
|
const apiUrl = this.getApiUrl(params.chain);
|
|
16
25
|
const slippage = (Number(params.slippage || 0.01)).toString();
|
|
@@ -43,9 +52,9 @@ export class OpenOceanService {
|
|
|
43
52
|
const queryParams = new URLSearchParams({
|
|
44
53
|
quoteType: 'swap',
|
|
45
54
|
inTokenSymbol: params.inTokenSymbol,
|
|
46
|
-
inTokenAddress: params.inTokenAddress,
|
|
55
|
+
inTokenAddress: this.getSolanaAddress(params.chain, params.inTokenAddress),
|
|
47
56
|
outTokenSymbol: params.outTokenSymbol,
|
|
48
|
-
outTokenAddress: params.outTokenAddress,
|
|
57
|
+
outTokenAddress: this.getSolanaAddress(params.chain, params.outTokenAddress),
|
|
49
58
|
amountDecimals: params.amount,
|
|
50
59
|
account: params.account,
|
|
51
60
|
slippage,
|
|
@@ -54,9 +63,9 @@ export class OpenOceanService {
|
|
|
54
63
|
enabledDexIds: params.enabledDexIds || '',
|
|
55
64
|
...referrer,
|
|
56
65
|
});
|
|
57
|
-
const isV1Api = Object.keys(this.CHAIN_ID_MAP).includes(params.chain.toString())
|
|
58
|
-
const swapEndpoint = isV1Api ? 'swap-quote' : 'swap'
|
|
59
|
-
const response = await fetch(`${apiUrl}
|
|
66
|
+
// const isV1Api = Object.keys(this.CHAIN_ID_MAP).includes(params.chain.toString())
|
|
67
|
+
// const swapEndpoint = isV1Api ? 'swap-quote' : 'swap'
|
|
68
|
+
const response = await fetch(`${apiUrl}/swap?${queryParams.toString()}`);
|
|
60
69
|
return response.json();
|
|
61
70
|
}
|
|
62
71
|
static async getTokenList(chain) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenOceanService.js","sourceRoot":"","sources":["../../../src/services/OpenOceanService.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,gBAAgB;IAW3B,qCAAqC;IAC7B,MAAM,CAAC,YAAY,CAAC,OAAwB;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAA;IACzD,CAAC;IAED,gCAAgC;IACxB,MAAM,CAAC,SAAS,CAAC,OAAwB;QAC/C,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChE,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YACnC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,EAAE,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAYrB;QACC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;YACtC,SAAS,EAAE,OAAO;YAClB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,cAAc,EAAE,MAAM,CAAC,MAAM;YAC7B,QAAQ;YACR,gBAAgB,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YACvC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;YAC3C,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,4CAA4C;SAC1E,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,UAAU,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACzE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAezB;QACC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAQ;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,4CAA4C;SAC1E,CAAA;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAClD,iEAAiE;QACnE,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;YACtC,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"OpenOceanService.js","sourceRoot":"","sources":["../../../src/services/OpenOceanService.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,6 @@ export declare const useFieldController: ({ name }: UseFieldControllerProps) =>
|
|
|
6
6
|
onChange: (newValue: string | number | undefined) => void;
|
|
7
7
|
onBlur: () => void;
|
|
8
8
|
name: keyof import("./types.js").DefaultValues;
|
|
9
|
-
value: string | number | ContractCall[];
|
|
9
|
+
value: string | number | import("@openocean.finance/widget-types").ContractCall[];
|
|
10
10
|
};
|
|
11
11
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useExecutingRoutesIds: () =>
|
|
1
|
+
export declare const useExecutingRoutesIds: () => string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useSetExecutableRoute: () => (route: Route, observableRouteIds?: string[]) => void;
|
|
1
|
+
export declare const useSetExecutableRoute: () => (route: import("@openocean.finance/widget-types").Route, observableRouteIds?: string[]) => void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Process, RouteExtended } from '@openocean.finance/widget-sdk';
|
|
2
|
-
export declare const isRouteDone: (route: RouteExtended) =>
|
|
3
|
-
export declare const isRoutePartiallyDone: (route: RouteExtended) =>
|
|
4
|
-
export declare const isRouteRefunded: (route: RouteExtended) =>
|
|
5
|
-
export declare const isRouteFailed: (route: RouteExtended) =>
|
|
6
|
-
export declare const isRouteActive: (route?: RouteExtended) =>
|
|
2
|
+
export declare const isRouteDone: (route: RouteExtended) => boolean;
|
|
3
|
+
export declare const isRoutePartiallyDone: (route: RouteExtended) => boolean;
|
|
4
|
+
export declare const isRouteRefunded: (route: RouteExtended) => boolean;
|
|
5
|
+
export declare const isRouteFailed: (route: RouteExtended) => boolean;
|
|
6
|
+
export declare const isRouteActive: (route?: RouteExtended) => boolean;
|
|
7
7
|
export declare const getUpdatedProcess: (currentRoute: RouteExtended, updatedRoute: RouteExtended) => Process | undefined;
|
|
8
|
-
export declare const getSourceTxHash: (route?: RouteExtended) =>
|
|
8
|
+
export declare const getSourceTxHash: (route?: RouteExtended) => string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ChainType } from '@openocean.finance/widget-sdk';
|
|
1
|
+
import { ChainId, ChainType } from '@openocean.finance/widget-sdk';
|
|
2
2
|
export declare const getChainTypeFromAddress: (address: string) => ChainType | undefined;
|
|
3
3
|
export declare const defaultChainIdsByType: {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
EVM: ChainId;
|
|
5
|
+
SVM: ChainId;
|
|
6
|
+
UTXO: ChainId;
|
|
7
|
+
MVM: ChainId;
|
|
8
8
|
};
|
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
* @returns formatted amount.
|
|
5
5
|
*/
|
|
6
6
|
export declare function formatTokenAmount(amount: bigint | undefined, decimals: number): string;
|
|
7
|
+
/**
|
|
8
|
+
* Format toToken amount with conditional decimal places for display only.
|
|
9
|
+
* When toToken value > 1000, keep 4 decimal places, otherwise keep 6 decimal places.
|
|
10
|
+
* This function only changes the display format, not the original value precision.
|
|
11
|
+
* @param amount amount to format.
|
|
12
|
+
* @param decimals token decimals.
|
|
13
|
+
* @returns formatted amount string for display.
|
|
14
|
+
*/
|
|
15
|
+
export declare function formatToTokenAmount(amount: bigint | undefined, decimals: number): string;
|
|
7
16
|
export declare function formatSlippage(slippage?: string, defaultValue?: string, returnInitial?: boolean): string;
|
|
8
17
|
export declare function formatInputAmount(amount: string, decimals?: number | null, returnInitial?: boolean): string;
|
|
9
18
|
export declare function formatTokenPrice(amount?: string | bigint, price?: string, decimals?: number): number;
|
package/dist/esm/utils/format.js
CHANGED
|
@@ -12,6 +12,23 @@ export function formatTokenAmount(amount, decimals) {
|
|
|
12
12
|
}
|
|
13
13
|
return formattedAmount;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Format toToken amount with conditional decimal places for display only.
|
|
17
|
+
* When toToken value > 1000, keep 4 decimal places, otherwise keep 6 decimal places.
|
|
18
|
+
* This function only changes the display format, not the original value precision.
|
|
19
|
+
* @param amount amount to format.
|
|
20
|
+
* @param decimals token decimals.
|
|
21
|
+
* @returns formatted amount string for display.
|
|
22
|
+
*/
|
|
23
|
+
export function formatToTokenAmount(amount, decimals) {
|
|
24
|
+
const formattedAmount = amount ? formatUnits(amount, decimals) : '0';
|
|
25
|
+
const parsedAmount = Number.parseFloat(formattedAmount);
|
|
26
|
+
if (!parsedAmount || Number.isNaN(Number(formattedAmount))) {
|
|
27
|
+
return '0';
|
|
28
|
+
}
|
|
29
|
+
const decimalPlaces = parsedAmount > 1000 ? 4 : 6;
|
|
30
|
+
return parsedAmount.toFixed(decimalPlaces);
|
|
31
|
+
}
|
|
15
32
|
export function formatSlippage(slippage = '', defaultValue = '', returnInitial = false) {
|
|
16
33
|
if (!slippage) {
|
|
17
34
|
return slippage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/utils/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/utils/format.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openocean.finance/widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.27",
|
|
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",
|
|
@@ -12,7 +12,7 @@ import { FormKeyHelper, type FormTypeProps } from '../../stores/form/types.js'
|
|
|
12
12
|
import { useFieldController } from '../../stores/form/useFieldController.js'
|
|
13
13
|
import { useFieldValues } from '../../stores/form/useFieldValues.js'
|
|
14
14
|
import { DisabledUI } from '../../types/widget.js'
|
|
15
|
-
import { formatInputAmount, formatTokenAmount } from '../../utils/format.js'
|
|
15
|
+
import { formatInputAmount, formatTokenAmount, formatToTokenAmount } from '../../utils/format.js'
|
|
16
16
|
import { fitInputText } from '../../utils/input.js'
|
|
17
17
|
|
|
18
18
|
import {
|
|
@@ -101,7 +101,7 @@ export const AmountInputBase: React.FC<
|
|
|
101
101
|
router.toToken &&
|
|
102
102
|
typeof router.toToken.decimals === 'number'
|
|
103
103
|
) {
|
|
104
|
-
inputValue = String(
|
|
104
|
+
inputValue = String(formatToTokenAmount(BigInt(router.toAmount), router.toToken.decimals))
|
|
105
105
|
} else {
|
|
106
106
|
inputValue = ''
|
|
107
107
|
}
|
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.27'
|
|
@@ -33,6 +33,15 @@ export class OpenOceanService {
|
|
|
33
33
|
: `${this.API_V4_URL}/${chainId}`
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
private static getSolanaAddress(chain: string, tokenAddress: string): string {
|
|
37
|
+
if (chain === '1151111081099710' && tokenAddress === 'So11111111111111111111111111111111111111112') {
|
|
38
|
+
return '11111111111111111111111111111111'
|
|
39
|
+
} else if (chain === '1151111081099710' && tokenAddress === '11111111111111111111111111111111') {
|
|
40
|
+
return 'So11111111111111111111111111111111111111112'
|
|
41
|
+
}
|
|
42
|
+
return tokenAddress
|
|
43
|
+
}
|
|
44
|
+
|
|
36
45
|
static async getQuote(params: {
|
|
37
46
|
chain: string
|
|
38
47
|
inTokenAddress: string
|
|
@@ -94,9 +103,9 @@ export class OpenOceanService {
|
|
|
94
103
|
const queryParams = new URLSearchParams({
|
|
95
104
|
quoteType: 'swap',
|
|
96
105
|
inTokenSymbol: params.inTokenSymbol,
|
|
97
|
-
inTokenAddress: params.inTokenAddress,
|
|
106
|
+
inTokenAddress: this.getSolanaAddress(params.chain, params.inTokenAddress),
|
|
98
107
|
outTokenSymbol: params.outTokenSymbol,
|
|
99
|
-
outTokenAddress: params.outTokenAddress,
|
|
108
|
+
outTokenAddress: this.getSolanaAddress(params.chain, params.outTokenAddress),
|
|
100
109
|
amountDecimals: params.amount,
|
|
101
110
|
account: params.account,
|
|
102
111
|
slippage,
|
|
@@ -105,9 +114,9 @@ export class OpenOceanService {
|
|
|
105
114
|
enabledDexIds: params.enabledDexIds || '',
|
|
106
115
|
...referrer,
|
|
107
116
|
})
|
|
108
|
-
const isV1Api = Object.keys(this.CHAIN_ID_MAP).includes(params.chain.toString())
|
|
109
|
-
const swapEndpoint = isV1Api ? 'swap-quote' : 'swap'
|
|
110
|
-
const response = await fetch(`${apiUrl}
|
|
117
|
+
// const isV1Api = Object.keys(this.CHAIN_ID_MAP).includes(params.chain.toString())
|
|
118
|
+
// const swapEndpoint = isV1Api ? 'swap-quote' : 'swap'
|
|
119
|
+
const response = await fetch(`${apiUrl}/swap?${queryParams.toString()}`)
|
|
111
120
|
return response.json()
|
|
112
121
|
}
|
|
113
122
|
|
package/src/utils/format.ts
CHANGED
|
@@ -18,6 +18,28 @@ export function formatTokenAmount(
|
|
|
18
18
|
return formattedAmount
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Format toToken amount with conditional decimal places for display only.
|
|
23
|
+
* When toToken value > 1000, keep 4 decimal places, otherwise keep 6 decimal places.
|
|
24
|
+
* This function only changes the display format, not the original value precision.
|
|
25
|
+
* @param amount amount to format.
|
|
26
|
+
* @param decimals token decimals.
|
|
27
|
+
* @returns formatted amount string for display.
|
|
28
|
+
*/
|
|
29
|
+
export function formatToTokenAmount(
|
|
30
|
+
amount: bigint | undefined,
|
|
31
|
+
decimals: number
|
|
32
|
+
) {
|
|
33
|
+
const formattedAmount = amount ? formatUnits(amount, decimals) : '0'
|
|
34
|
+
const parsedAmount = Number.parseFloat(formattedAmount)
|
|
35
|
+
if (!parsedAmount || Number.isNaN(Number(formattedAmount))) {
|
|
36
|
+
return '0'
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const decimalPlaces = parsedAmount > 1000 ? 4 : 6
|
|
40
|
+
return parsedAmount.toFixed(decimalPlaces)
|
|
41
|
+
}
|
|
42
|
+
|
|
21
43
|
export function formatSlippage(
|
|
22
44
|
slippage = '',
|
|
23
45
|
defaultValue = '',
|