@xswap-link/sdk 0.10.10 → 0.10.11
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/CHANGELOG.md +6 -0
- package/dist/index.global.js +187 -187
- package/dist/index.js +9 -9
- package/dist/index.mjs +9 -9
- package/package.json +1 -1
- package/src/components/Swap/SwapView/ConfirmationView/TxOverview/ArrowIcon.tsx +1 -1
- package/src/components/Swap/SwapView/ConfirmationView/TxOverview/SwapPanel/index.tsx +1 -1
- package/src/components/Swap/SwapView/SwapButton/index.tsx +0 -2
- package/src/components/TokenLogo/index.tsx +4 -1
- package/src/components/TxWidgetWC/index.tsx +32 -9
- package/src/context/SwapProvider.tsx +15 -6
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import { ArrowDownLongIcon } from "@src/assets/icons";
|
|
|
2
2
|
|
|
3
3
|
export const ArrowIcon = () => {
|
|
4
4
|
return (
|
|
5
|
-
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-
|
|
5
|
+
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 p-1 border border-solid border-t_text_primary border-opacity-10 rounded-xl bg-t_bg_secondary">
|
|
6
6
|
<div className="relative bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark w-8 h-8 rounded-xl">
|
|
7
7
|
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-white">
|
|
8
8
|
<ArrowDownLongIcon />
|
|
@@ -47,7 +47,7 @@ export const SwapPanel = ({ type }: Props) => {
|
|
|
47
47
|
<div className={`${type === "destination" && "text-t_text_secondary"}`}>
|
|
48
48
|
{value}
|
|
49
49
|
</div>
|
|
50
|
-
<div className="opacity-60">${valueUsd}</div>
|
|
50
|
+
{valueUsd && <div className="opacity-60">${valueUsd}</div>}
|
|
51
51
|
</div>
|
|
52
52
|
<div className="flex items-center gap-3">
|
|
53
53
|
<div className="flex flex-col text-right">
|
|
@@ -31,7 +31,6 @@ export const SwapButton = () => {
|
|
|
31
31
|
srcToken,
|
|
32
32
|
dstToken,
|
|
33
33
|
srcValueWei,
|
|
34
|
-
srcTokenBalanceWei,
|
|
35
34
|
isFetchingRoute,
|
|
36
35
|
isAsyncDataLoaded,
|
|
37
36
|
hasOnConnectWalletCallback,
|
|
@@ -246,7 +245,6 @@ export const SwapButton = () => {
|
|
|
246
245
|
solana.address,
|
|
247
246
|
chainId,
|
|
248
247
|
srcValueWei,
|
|
249
|
-
srcTokenBalanceWei,
|
|
250
248
|
isFetchingRoute,
|
|
251
249
|
currentTokenAllowance,
|
|
252
250
|
bridgeUI,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
2
|
import { UnknownTokenLogo } from "./Unknown";
|
|
3
3
|
import { Token } from "@src/models";
|
|
4
4
|
|
|
@@ -13,6 +13,9 @@ export const TokenLogo = ({
|
|
|
13
13
|
generatedLogoClassName,
|
|
14
14
|
}: Props) => {
|
|
15
15
|
const [errorOcurred, setErrorOccured] = useState(false);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
setErrorOccured(false);
|
|
18
|
+
}, [token?.address]);
|
|
16
19
|
if (!token) {
|
|
17
20
|
return null;
|
|
18
21
|
}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
WidgetIntegrationPayload,
|
|
6
6
|
} from "@src/models";
|
|
7
7
|
import { getChains, setApiUrl } from "@src/services";
|
|
8
|
-
import { isServer } from "@src/utils";
|
|
8
|
+
import { isServer, resolveTokenAddress } from "@src/utils";
|
|
9
9
|
import { createWebComponent } from "@src/utils/webComponents";
|
|
10
10
|
import { useEffect, useState } from "react";
|
|
11
11
|
import { Spinner } from "../Spinner";
|
|
@@ -15,10 +15,10 @@ import { addCustomTokensToChains } from "@src/utils/tokens";
|
|
|
15
15
|
|
|
16
16
|
const TxWidget = ({
|
|
17
17
|
integratorId,
|
|
18
|
-
dstChain,
|
|
19
|
-
dstToken,
|
|
20
|
-
srcChain,
|
|
21
|
-
srcToken,
|
|
18
|
+
dstChain: dstChainId,
|
|
19
|
+
dstToken: dstTokenId,
|
|
20
|
+
srcChain: srcChainId,
|
|
21
|
+
srcToken: srcTokenId,
|
|
22
22
|
customContractCalls = [],
|
|
23
23
|
desc,
|
|
24
24
|
dstDisplayToken,
|
|
@@ -43,6 +43,12 @@ const TxWidget = ({
|
|
|
43
43
|
}: WidgetIntegrationPayload) => {
|
|
44
44
|
const [loading, setLoading] = useState(true);
|
|
45
45
|
const [supportedChains, setSupportedChains] = useState<Chain[]>([]);
|
|
46
|
+
const [srcTokenAddr, setSrcTokenAddr] = useState<string | undefined>(
|
|
47
|
+
undefined,
|
|
48
|
+
);
|
|
49
|
+
const [dstTokenAddr, setDstTokenAddr] = useState<string | undefined>(
|
|
50
|
+
undefined,
|
|
51
|
+
);
|
|
46
52
|
|
|
47
53
|
useEffect(() => {
|
|
48
54
|
(async () => {
|
|
@@ -76,6 +82,23 @@ const TxWidget = ({
|
|
|
76
82
|
}
|
|
77
83
|
})();
|
|
78
84
|
|
|
85
|
+
useEffect(() => {
|
|
86
|
+
const newSrcTokenAddr = resolveTokenAddress(
|
|
87
|
+
srcTokenId,
|
|
88
|
+
srcChainId,
|
|
89
|
+
supportedChains,
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
const newDstTokenAddr = resolveTokenAddress(
|
|
93
|
+
dstTokenId,
|
|
94
|
+
dstChainId,
|
|
95
|
+
supportedChains,
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
setSrcTokenAddr(newSrcTokenAddr);
|
|
99
|
+
setDstTokenAddr(newDstTokenAddr);
|
|
100
|
+
}, [srcTokenId, srcChainId, dstTokenId, dstChainId, supportedChains]);
|
|
101
|
+
|
|
79
102
|
return (
|
|
80
103
|
<>
|
|
81
104
|
<style>{CSS}</style>
|
|
@@ -87,10 +110,10 @@ const TxWidget = ({
|
|
|
87
110
|
) : (
|
|
88
111
|
<TxConfigForm
|
|
89
112
|
integratorId={integratorId}
|
|
90
|
-
dstChainId={
|
|
91
|
-
dstTokenAddr={
|
|
92
|
-
srcChainId={
|
|
93
|
-
srcTokenAddr={
|
|
113
|
+
dstChainId={dstChainId}
|
|
114
|
+
dstTokenAddr={dstTokenAddr}
|
|
115
|
+
srcChainId={srcChainId}
|
|
116
|
+
srcTokenAddr={srcTokenAddr}
|
|
94
117
|
customContractCalls={customContractCalls}
|
|
95
118
|
desc={desc}
|
|
96
119
|
dstDisplayTokenAddr={dstDisplayToken}
|
|
@@ -795,12 +795,21 @@ export const SwapProvider = ({
|
|
|
795
795
|
}, [evmAddress, solanaAddress, supportedChains.length]);
|
|
796
796
|
// sets the fee token from the source chain's tokens by selecting the native token (AddressZero).
|
|
797
797
|
useEffect(() => {
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
(
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
798
|
+
if (srcChain?.chainId === "mainnet-beta") {
|
|
799
|
+
setFeeToken(
|
|
800
|
+
srcChain?.tokens.find(
|
|
801
|
+
({ address }) =>
|
|
802
|
+
address === "So11111111111111111111111111111111111111112",
|
|
803
|
+
),
|
|
804
|
+
);
|
|
805
|
+
} else {
|
|
806
|
+
setFeeToken(
|
|
807
|
+
srcChain?.tokens.find(
|
|
808
|
+
({ address }) =>
|
|
809
|
+
address.toLowerCase() === constants.AddressZero.toLowerCase(),
|
|
810
|
+
),
|
|
811
|
+
);
|
|
812
|
+
}
|
|
804
813
|
}, [srcChain]);
|
|
805
814
|
|
|
806
815
|
// =============================================================================
|