@hot-labs/kit 1.6.0 → 1.6.1
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/build/activity.d.ts +2 -0
- package/build/activity.js +13 -1
- package/build/activity.js.map +1 -1
- package/build/core/pendings.d.ts +13 -2
- package/build/core/pendings.js +35 -9
- package/build/core/pendings.js.map +1 -1
- package/build/ui/profile/DepositQR.js +2 -2
- package/build/ui/profile/DepositQR.js.map +1 -1
- package/build/ui/profile/Profile.js +2 -1
- package/build/ui/profile/Profile.js.map +1 -1
- package/package.json +1 -1
- package/src/activity.ts +13 -1
- package/src/core/pendings.ts +39 -9
- package/src/ui/profile/DepositQR.tsx +7 -7
- package/src/ui/profile/Profile.tsx +3 -2
package/build/activity.d.ts
CHANGED
|
@@ -2,10 +2,12 @@ import { BridgePending } from "./core/pendings";
|
|
|
2
2
|
import { OmniWallet } from "./core/OmniWallet";
|
|
3
3
|
import type { HotKit } from "./HotKit";
|
|
4
4
|
import { HotBridgeWithdrawal } from "./HotBridgeWithdrawal";
|
|
5
|
+
import { IndexedDBStorage } from "./storage";
|
|
5
6
|
export declare class Activity {
|
|
6
7
|
private readonly kit;
|
|
7
8
|
withdrawals: Record<number, HotBridgeWithdrawal[]>;
|
|
8
9
|
bridgePending: BridgePending[];
|
|
10
|
+
storage: IndexedDBStorage;
|
|
9
11
|
constructor(kit: HotKit);
|
|
10
12
|
get activityList(): (BridgePending | HotBridgeWithdrawal)[];
|
|
11
13
|
addBridgePending(bridgePending: BridgePending): void;
|
package/build/activity.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { action, computed, makeObservable, observable, runInAction } from "mobx";
|
|
2
2
|
import { chains, WalletType } from "./core/chains";
|
|
3
|
+
import { BridgePending } from "./core/pendings";
|
|
3
4
|
import { HotBridgeWithdrawal } from "./HotBridgeWithdrawal";
|
|
5
|
+
import { IndexedDBStorage } from "./storage";
|
|
4
6
|
export class Activity {
|
|
5
7
|
kit;
|
|
6
8
|
withdrawals = {};
|
|
7
9
|
bridgePending = [];
|
|
10
|
+
storage = new IndexedDBStorage();
|
|
8
11
|
constructor(kit) {
|
|
9
12
|
this.kit = kit;
|
|
10
13
|
makeObservable(this, {
|
|
@@ -14,13 +17,22 @@ export class Activity {
|
|
|
14
17
|
addBridgePending: action,
|
|
15
18
|
});
|
|
16
19
|
kit.onConnect(({ wallet }) => this.fetchPendingWithdrawalsByWallet(wallet));
|
|
20
|
+
this.storage
|
|
21
|
+
.get(`activity:bridgePendings`)
|
|
22
|
+
.then(async (data) => {
|
|
23
|
+
if (!data)
|
|
24
|
+
return;
|
|
25
|
+
const pendings = JSON.parse(data);
|
|
26
|
+
this.bridgePending = pendings.map((t) => BridgePending.deserialize(t, this.kit));
|
|
27
|
+
})
|
|
28
|
+
.catch(() => { });
|
|
17
29
|
}
|
|
18
30
|
get activityList() {
|
|
19
31
|
return [...this.bridgePending, ...Object.values(this.withdrawals).flat()];
|
|
20
32
|
}
|
|
21
33
|
addBridgePending(bridgePending) {
|
|
22
34
|
this.bridgePending.push(bridgePending);
|
|
23
|
-
|
|
35
|
+
this.storage.set(`activity:bridgePendings`, JSON.stringify(this.bridgePending.map((t) => t.serialize())));
|
|
24
36
|
}
|
|
25
37
|
async fetchPendingWithdrawalsByWallet(wallet) {
|
|
26
38
|
if (wallet.type === WalletType.NEAR)
|
package/build/activity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEjF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"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"}
|
package/build/core/pendings.d.ts
CHANGED
|
@@ -20,12 +20,23 @@ export declare class BridgePending extends ActivityController {
|
|
|
20
20
|
readonly processingTask: Promise<BridgeReview>;
|
|
21
21
|
private toast?;
|
|
22
22
|
constructor(review: BridgeReview, kit?: HotKit | undefined);
|
|
23
|
-
|
|
23
|
+
static deserialize(data: any, kit?: HotKit): BridgePending;
|
|
24
|
+
serialize(): {
|
|
25
|
+
amountIn: string;
|
|
26
|
+
amountOut: string;
|
|
27
|
+
minAmountOut: string;
|
|
28
|
+
statusMessage: string | null;
|
|
29
|
+
slippage: number;
|
|
30
|
+
qoute: import("@defuse-protocol/one-click-sdk-typescript").Quote | "withdraw" | "deposit";
|
|
31
|
+
status: "success" | "failed" | "pending";
|
|
32
|
+
from: string;
|
|
33
|
+
to: string;
|
|
34
|
+
};
|
|
24
35
|
getTitle(): string;
|
|
25
36
|
updateStatus(status: "pending" | "success" | "failed", statusMessage: string | null): void;
|
|
26
37
|
processing(): Promise<BridgeReview>;
|
|
27
38
|
_processing(): Promise<BridgeReview>;
|
|
28
|
-
waitBalance(to: Token, wallet: OmniWallet, beforeBalance: bigint
|
|
39
|
+
waitBalance(to: Token, wallet: OmniWallet, beforeBalance: bigint): Promise<BridgeReview>;
|
|
29
40
|
getMessage(status: GetExecutionStatusResponse.status): string | null;
|
|
30
41
|
checkStatus(): Promise<void>;
|
|
31
42
|
waitStatus(interval?: number): Promise<BridgeReview>;
|
package/build/core/pendings.js
CHANGED
|
@@ -3,6 +3,7 @@ import { GetExecutionStatusResponse, OneClickService } from "@defuse-protocol/on
|
|
|
3
3
|
import { v4 as uuidv4 } from "uuid";
|
|
4
4
|
import { wait } from "../hot-wallet/iframe";
|
|
5
5
|
import { OmniWallet } from "../core/OmniWallet";
|
|
6
|
+
import { tokens } from "./tokens";
|
|
6
7
|
export class ActivityController {
|
|
7
8
|
status = "pending";
|
|
8
9
|
id = uuidv4();
|
|
@@ -37,10 +38,35 @@ export class BridgePending extends ActivityController {
|
|
|
37
38
|
this.processingTask = this._processing();
|
|
38
39
|
this.title = this.getTitle();
|
|
39
40
|
this.toast = this.kit?.toast.pending(this.title);
|
|
41
|
+
this.subtitle = this.review.statusMessage;
|
|
40
42
|
this.preview = this.review.to;
|
|
41
43
|
}
|
|
44
|
+
static deserialize(data, kit) {
|
|
45
|
+
return new BridgePending({
|
|
46
|
+
amountIn: BigInt(data.amountIn),
|
|
47
|
+
amountOut: BigInt(data.amountOut),
|
|
48
|
+
minAmountOut: BigInt(data.minAmountOut),
|
|
49
|
+
statusMessage: data.statusMessage,
|
|
50
|
+
from: tokens.list.find((t) => t.id === data.from),
|
|
51
|
+
to: tokens.list.find((t) => t.id === data.to),
|
|
52
|
+
slippage: data.slippage,
|
|
53
|
+
status: data.status,
|
|
54
|
+
qoute: data.qoute,
|
|
55
|
+
fee: null,
|
|
56
|
+
}, kit);
|
|
57
|
+
}
|
|
42
58
|
serialize() {
|
|
43
|
-
return {
|
|
59
|
+
return {
|
|
60
|
+
amountIn: String(this.review.amountIn),
|
|
61
|
+
amountOut: String(this.review.amountOut),
|
|
62
|
+
minAmountOut: String(this.review.minAmountOut),
|
|
63
|
+
statusMessage: this.review.statusMessage,
|
|
64
|
+
slippage: this.review.slippage,
|
|
65
|
+
qoute: this.review.qoute,
|
|
66
|
+
status: this.review.status,
|
|
67
|
+
from: this.review.from.id,
|
|
68
|
+
to: this.review.to.id,
|
|
69
|
+
};
|
|
44
70
|
}
|
|
45
71
|
getTitle() {
|
|
46
72
|
const from = `${this.review.from.readable(this.review.amountIn)} ${this.review.from.symbol}`;
|
|
@@ -51,15 +77,14 @@ export class BridgePending extends ActivityController {
|
|
|
51
77
|
if (this.review.to.isOmni)
|
|
52
78
|
return `Deposit ${to}`;
|
|
53
79
|
}
|
|
54
|
-
const fromChain = this.review.from.chainName.toLowerCase();
|
|
55
|
-
const toChain = this.review.to.chainName.toLowerCase();
|
|
56
|
-
return `${from}
|
|
80
|
+
// const fromChain = this.review.from.chainName.toLowerCase();
|
|
81
|
+
// const toChain = this.review.to.chainName.toLowerCase();
|
|
82
|
+
return `${from} → ${to}`;
|
|
57
83
|
}
|
|
58
84
|
updateStatus(status, statusMessage) {
|
|
59
85
|
runInAction(() => {
|
|
60
86
|
this.status = status;
|
|
61
87
|
this.subtitle = statusMessage;
|
|
62
|
-
this.toast?.update({ type: status, progressText: statusMessage || "Processing..." });
|
|
63
88
|
this.review.statusMessage = "Swap successful";
|
|
64
89
|
this.review.status = "success";
|
|
65
90
|
});
|
|
@@ -76,22 +101,22 @@ export class BridgePending extends ActivityController {
|
|
|
76
101
|
if (!beforeBalance)
|
|
77
102
|
return await this.waitStatus();
|
|
78
103
|
return await Promise.race([
|
|
79
|
-
this.waitBalance(this.review.to, this.review.recipient, beforeBalance
|
|
104
|
+
this.waitBalance(this.review.to, this.review.recipient, beforeBalance), //
|
|
80
105
|
this.waitStatus(),
|
|
81
106
|
]);
|
|
82
107
|
}
|
|
83
|
-
async waitBalance(to, wallet, beforeBalance
|
|
108
|
+
async waitBalance(to, wallet, beforeBalance) {
|
|
84
109
|
const afterBalance = await wallet.fetchBalance(to.chain, to.address).catch(() => beforeBalance);
|
|
85
110
|
if (afterBalance > beforeBalance) {
|
|
86
111
|
return runInAction(() => {
|
|
87
112
|
this.review.amountOut = afterBalance - beforeBalance;
|
|
88
113
|
this.updateStatus("success", "Swap successful");
|
|
89
|
-
this.toast?.update({ duration:
|
|
114
|
+
this.toast?.update({ message: "Swap successful", progressText: undefined, type: "success", duration: 3000 });
|
|
90
115
|
return this.review;
|
|
91
116
|
});
|
|
92
117
|
}
|
|
93
118
|
await wait(2000);
|
|
94
|
-
return await this.waitBalance(to, wallet, beforeBalance
|
|
119
|
+
return await this.waitBalance(to, wallet, beforeBalance);
|
|
95
120
|
}
|
|
96
121
|
getMessage(status) {
|
|
97
122
|
if (status === GetExecutionStatusResponse.status.PENDING_DEPOSIT)
|
|
@@ -125,6 +150,7 @@ export class BridgePending extends ActivityController {
|
|
|
125
150
|
runInAction(() => {
|
|
126
151
|
if (status.swapDetails.amountOut)
|
|
127
152
|
this.review.amountOut = BigInt(status.swapDetails.amountOut);
|
|
153
|
+
this.toast?.update({ progressText: message || "Processing..." });
|
|
128
154
|
this.updateStatus(state, message);
|
|
129
155
|
});
|
|
130
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pendings.js","sourceRoot":"","sources":["../../src/core/pendings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACxG,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAKpC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pendings.js","sourceRoot":"","sources":["../../src/core/pendings.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import QRCodeStyling from "qr-code-styling";
|
|
|
4
4
|
import { observer } from "mobx-react-lite";
|
|
5
5
|
import styled from "styled-components";
|
|
6
6
|
import { WarningIcon } from "../icons/warning";
|
|
7
|
+
import CopyIcon from "../icons/copy";
|
|
7
8
|
import { ActionButton, Button } from "../uikit/button";
|
|
8
9
|
import { PMedium, PSmall } from "../uikit/text";
|
|
9
|
-
import CopyIcon from "../icons/copy";
|
|
10
10
|
const DepositQR = observer(({ kit, review, onConfirm, onCancel }) => {
|
|
11
11
|
const qrCodeRef = useRef(null);
|
|
12
12
|
const [qrCode] = useState(() => {
|
|
@@ -41,7 +41,7 @@ const DepositQR = observer(({ kit, review, onConfirm, onCancel }) => {
|
|
|
41
41
|
kit.toast.failed("Failed to copy address");
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
-
return (_jsxs("div", { style: { position: "relative", width: "100%", height: "100%", gap: 8, display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", flex: 1 }, children: [onCancel != null && (_jsx(CloseButton, { onClick: onCancel, children: _jsx(PSmall, { children: "Back" }) })), _jsx("div", { ref: qrCodeRef, style: { marginTop: "auto", borderRadius: 12, padding: "4px 4px 0 4px", border: "1px solid #2d2d2d", background: "#1c1c1c", textAlign: "left" } }), _jsxs(PMedium, { style: { textAlign: "center", marginTop: 16, color: "#ababab", width: "100%" }, children: ["Send ", _jsx(Pre, { children: review.qoute.amountInFormatted }), " ", _jsx(Pre, { children: review.from.symbol }), " on ", _jsx(Pre, { children: review.from.chainName }), " chain to:"] }), _jsxs("div", { style: { width: "100%",
|
|
44
|
+
return (_jsxs("div", { style: { position: "relative", width: "100%", height: "100%", gap: 8, display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", flex: 1 }, children: [onCancel != null && (_jsx(CloseButton, { onClick: onCancel, children: _jsx(PSmall, { children: "Back" }) })), _jsx("div", { ref: qrCodeRef, style: { marginTop: "auto", borderRadius: 12, padding: "4px 4px 0 4px", border: "1px solid #2d2d2d", background: "#1c1c1c", textAlign: "left" } }), _jsxs(PMedium, { style: { textAlign: "center", marginTop: 16, color: "#ababab", width: "100%" }, children: ["Send ", _jsx(Pre, { children: review.qoute.amountInFormatted }), " ", _jsx(Pre, { children: review.from.symbol }), " on ", _jsx(Pre, { children: review.from.chainName }), " chain to:"] }), _jsxs("div", { style: { width: "100%", display: "flex", gap: 4, marginBottom: "auto" }, children: [_jsx(Pre, { style: { textAlign: "center", fontSize: 14, fontWeight: "bold", padding: 0, background: "transparent", border: "none" }, children: depositAddress }), _jsx(Button, { style: { height: 20 }, onClick: handleCopy, children: _jsx(CopyIcon, { width: 20, height: 20, color: "#ababab" }) })] }), _jsxs(WarningBadge, { children: [_jsx(WarningIcon, { color: "#F3AE47", style: { marginTop: 4, flexShrink: 0 } }), _jsxs(PSmall, { style: { color: "#F3AE47", fontWeight: "bold" }, children: ["Only deposit ", review.from.symbol, " from ", review.from.chainName, " network.", _jsx("br", {}), "Depositing other assets or using a different network will result in loss of funds"] })] }), _jsx(ActionButton, { style: { marginTop: 12 }, onClick: onConfirm, children: "I sent the funds" })] }));
|
|
45
45
|
});
|
|
46
46
|
const WarningBadge = styled.div `
|
|
47
47
|
border-radius: 8px;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositQR.js","sourceRoot":"","sources":["../../../src/ui/profile/DepositQR.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,MAAM,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"DepositQR.js","sourceRoot":"","sources":["../../../src/ui/profile/DepositQR.tsx"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ export const Profile = observer(({ kit, onClose }) => {
|
|
|
39
39
|
const nonOmniTokens = tokensList.filter((t) => t.chain !== Network.Omni && t.chain !== Network.HotCraft);
|
|
40
40
|
const socialConnector = kit.connectors.find((connector) => connector.type === ConnectorType.SOCIAL && connector.wallets.length > 0);
|
|
41
41
|
const connectors = kit.connectors.filter((connector) => connector.type !== ConnectorType.HOTCRAFT);
|
|
42
|
+
const pendings = kit.activity.activityList.filter((t) => t.status === "pending");
|
|
42
43
|
useEffect(() => {
|
|
43
44
|
if (kit.wallets.length > 0)
|
|
44
45
|
return;
|
|
@@ -48,7 +49,7 @@ export const Profile = observer(({ kit, onClose }) => {
|
|
|
48
49
|
return connector.wallets.map((wallet) => (_jsxs(WalletCard, { onClick: () => connector.disconnect(), children: [_jsx(ImageView, { src: connector.icon, alt: connector.name, size: 20 }), connector.icon !== wallet.icon && _jsx(ImageView, { style: { position: "absolute", bottom: 4, left: 20 }, src: wallet.icon, alt: connector.name, size: 12 }), _jsx("div", { children: formatter.truncateAddress(wallet.address, 8) }), _jsx(LogoutIcon, {})] }, wallet.type)));
|
|
49
50
|
}), connectors.some((t) => t.wallets.length === 0) && (_jsxs(WalletCard, { style: { paddingRight: 12 }, onClick: () => openConnector(kit)
|
|
50
51
|
.then((wallet) => onClose(wallet))
|
|
51
|
-
.catch(() => onClose()), children: [_jsx(PlusIcon, {}), "Add wallet"] }))] }), _jsxs(Card, { children: [_jsx(PSmall, { children: "YOUR BALANCE" }), _jsxs(BalanceCard, { children: ["$", formatter.amount(totalBalance)] }), _jsxs("div", { style: { width: "100%", display: "flex", gap: 12, marginTop: 12, flexWrap: "wrap" }, children: [_jsxs(ActionButton, { onClick: () => (onClose(), openBridge(kit, { title: "Exchange" })), children: [_jsx(ExchangeIcon, {}), "Exchange"] }), socialConnector != null && (_jsxs(ActionButton, { onClick: () => socialConnector.openWallet(), children: [_jsx(ImageView, { src: socialConnector.icon, alt: socialConnector.name, size: 20 }), "Open wallet"] })), _jsx(ActionButton, { disabled: true, onClick: () => (onClose(), openBridge(kit, { title: "Deposit" })), children: "Deposit" })] })] }),
|
|
52
|
+
.catch(() => onClose()), children: [_jsx(PlusIcon, {}), "Add wallet"] }))] }), _jsxs(Card, { children: [_jsx(PSmall, { children: "YOUR BALANCE" }), _jsxs(BalanceCard, { children: ["$", formatter.amount(totalBalance)] }), _jsxs("div", { style: { width: "100%", display: "flex", gap: 12, marginTop: 12, flexWrap: "wrap" }, children: [_jsxs(ActionButton, { onClick: () => (onClose(), openBridge(kit, { title: "Exchange" })), children: [_jsx(ExchangeIcon, {}), "Exchange"] }), socialConnector != null && (_jsxs(ActionButton, { onClick: () => socialConnector.openWallet(), children: [_jsx(ImageView, { src: socialConnector.icon, alt: socialConnector.name, size: 20 }), "Open wallet"] })), _jsx(ActionButton, { disabled: true, onClick: () => (onClose(), openBridge(kit, { title: "Deposit" })), children: "Deposit" })] })] }), pendings.length > 0 && (_jsxs(TokenCards, { children: [_jsx(PSmall, { style: { fontSize: 16, fontWeight: 600, color: "#d2d2d2", textAlign: "left" }, children: "Pendings" }), pendings.map((activity) => {
|
|
52
53
|
return (_jsxs(Card, { onClick: () => activity.action(), style: { flexDirection: "row", gap: 12 }, children: [activity.preview instanceof Token && _jsx(TokenIcon, { token: activity.preview }), _jsxs("div", { children: [_jsx(PMedium, { style: { textAlign: "left" }, children: activity.title }), _jsx(PSmall, { style: { textAlign: "left" }, children: activity.subtitle })] }), activity.status === "pending" && (_jsx("div", { style: { marginLeft: "auto", width: 40, height: 40, display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx(Loader, {}) })), activity.actionText && !activity.actionLoading && (_jsx("div", { style: { marginLeft: "auto", padding: "8px 12px", borderRadius: 16, background: "#1a1a1a", color: "#fff" }, children: _jsx(PSmall, { style: { color: "#d6d6d6" }, children: activity.actionText }) }))] }, activity.id));
|
|
53
54
|
})] })), omniTokens.length > 0 && (_jsxs(TokenCards, { children: [_jsx(PSmall, { style: { fontSize: 16, fontWeight: 600, color: "#d2d2d2", textAlign: "left" }, children: "Tokens to withdraw" }), omniTokens.map((t) => t.component)] })), nonOmniTokens.length > 0 && (_jsxs(TokenCards, { children: [_jsx(PSmall, { style: { fontSize: 16, fontWeight: 600, color: "#d2d2d2", textAlign: "left" }, children: "Portfolio" }), nonOmniTokens.map((t) => t.component)] }))] }));
|
|
54
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../src/ui/profile/Profile.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../src/ui/profile/Profile.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/activity.ts
CHANGED
|
@@ -6,10 +6,13 @@ import { OmniWallet } from "./core/OmniWallet";
|
|
|
6
6
|
|
|
7
7
|
import type { HotKit } from "./HotKit";
|
|
8
8
|
import { HotBridgeWithdrawal } from "./HotBridgeWithdrawal";
|
|
9
|
+
import { IndexedDBStorage } from "./storage";
|
|
10
|
+
import { tokens } from "./core";
|
|
9
11
|
|
|
10
12
|
export class Activity {
|
|
11
13
|
withdrawals: Record<number, HotBridgeWithdrawal[]> = {};
|
|
12
14
|
bridgePending: BridgePending[] = [];
|
|
15
|
+
storage = new IndexedDBStorage();
|
|
13
16
|
|
|
14
17
|
constructor(private readonly kit: HotKit) {
|
|
15
18
|
makeObservable(this, {
|
|
@@ -20,6 +23,15 @@ export class Activity {
|
|
|
20
23
|
});
|
|
21
24
|
|
|
22
25
|
kit.onConnect(({ wallet }) => this.fetchPendingWithdrawalsByWallet(wallet));
|
|
26
|
+
|
|
27
|
+
this.storage
|
|
28
|
+
.get(`activity:bridgePendings`)
|
|
29
|
+
.then(async (data) => {
|
|
30
|
+
if (!data) return;
|
|
31
|
+
const pendings = JSON.parse(data);
|
|
32
|
+
this.bridgePending = pendings.map((t: any) => BridgePending.deserialize(t, this.kit));
|
|
33
|
+
})
|
|
34
|
+
.catch(() => {});
|
|
23
35
|
}
|
|
24
36
|
|
|
25
37
|
get activityList() {
|
|
@@ -28,7 +40,7 @@ export class Activity {
|
|
|
28
40
|
|
|
29
41
|
addBridgePending(bridgePending: BridgePending) {
|
|
30
42
|
this.bridgePending.push(bridgePending);
|
|
31
|
-
|
|
43
|
+
this.storage.set(`activity:bridgePendings`, JSON.stringify(this.bridgePending.map((t) => t.serialize())));
|
|
32
44
|
}
|
|
33
45
|
|
|
34
46
|
async fetchPendingWithdrawalsByWallet(wallet: OmniWallet) {
|
package/src/core/pendings.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { wait } from "../hot-wallet/iframe";
|
|
|
9
9
|
import { OmniWallet } from "../core/OmniWallet";
|
|
10
10
|
import { BridgeReview } from "../core/exchange";
|
|
11
11
|
import { Token } from "./token";
|
|
12
|
+
import { tokens } from "./tokens";
|
|
12
13
|
|
|
13
14
|
export abstract class ActivityController {
|
|
14
15
|
status: "pending" | "success" | "failed" = "pending";
|
|
@@ -48,11 +49,40 @@ export class BridgePending extends ActivityController {
|
|
|
48
49
|
this.title = this.getTitle();
|
|
49
50
|
|
|
50
51
|
this.toast = this.kit?.toast.pending(this.title);
|
|
52
|
+
this.subtitle = this.review.statusMessage;
|
|
51
53
|
this.preview = this.review.to;
|
|
52
54
|
}
|
|
53
55
|
|
|
56
|
+
static deserialize(data: any, kit?: HotKit) {
|
|
57
|
+
return new BridgePending(
|
|
58
|
+
{
|
|
59
|
+
amountIn: BigInt(data.amountIn),
|
|
60
|
+
amountOut: BigInt(data.amountOut),
|
|
61
|
+
minAmountOut: BigInt(data.minAmountOut),
|
|
62
|
+
statusMessage: data.statusMessage,
|
|
63
|
+
from: tokens.list.find((t) => t.id === data.from)!,
|
|
64
|
+
to: tokens.list.find((t) => t.id === data.to)!,
|
|
65
|
+
slippage: data.slippage,
|
|
66
|
+
status: data.status,
|
|
67
|
+
qoute: data.qoute,
|
|
68
|
+
fee: null,
|
|
69
|
+
},
|
|
70
|
+
kit
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
54
74
|
serialize() {
|
|
55
|
-
return {
|
|
75
|
+
return {
|
|
76
|
+
amountIn: String(this.review.amountIn),
|
|
77
|
+
amountOut: String(this.review.amountOut),
|
|
78
|
+
minAmountOut: String(this.review.minAmountOut),
|
|
79
|
+
statusMessage: this.review.statusMessage,
|
|
80
|
+
slippage: this.review.slippage,
|
|
81
|
+
qoute: this.review.qoute,
|
|
82
|
+
status: this.review.status,
|
|
83
|
+
from: this.review.from.id,
|
|
84
|
+
to: this.review.to.id,
|
|
85
|
+
};
|
|
56
86
|
}
|
|
57
87
|
|
|
58
88
|
getTitle() {
|
|
@@ -64,16 +94,15 @@ export class BridgePending extends ActivityController {
|
|
|
64
94
|
if (this.review.to.isOmni) return `Deposit ${to}`;
|
|
65
95
|
}
|
|
66
96
|
|
|
67
|
-
const fromChain = this.review.from.chainName.toLowerCase();
|
|
68
|
-
const toChain = this.review.to.chainName.toLowerCase();
|
|
69
|
-
return `${from}
|
|
97
|
+
// const fromChain = this.review.from.chainName.toLowerCase();
|
|
98
|
+
// const toChain = this.review.to.chainName.toLowerCase();
|
|
99
|
+
return `${from} → ${to}`;
|
|
70
100
|
}
|
|
71
101
|
|
|
72
102
|
updateStatus(status: "pending" | "success" | "failed", statusMessage: string | null) {
|
|
73
103
|
runInAction(() => {
|
|
74
104
|
this.status = status;
|
|
75
105
|
this.subtitle = statusMessage;
|
|
76
|
-
this.toast?.update({ type: status, progressText: statusMessage || "Processing..." });
|
|
77
106
|
this.review.statusMessage = "Swap successful";
|
|
78
107
|
this.review.status = "success";
|
|
79
108
|
});
|
|
@@ -91,24 +120,24 @@ export class BridgePending extends ActivityController {
|
|
|
91
120
|
if (!beforeBalance) return await this.waitStatus();
|
|
92
121
|
|
|
93
122
|
return await Promise.race([
|
|
94
|
-
this.waitBalance(this.review.to, this.review.recipient, beforeBalance
|
|
123
|
+
this.waitBalance(this.review.to, this.review.recipient, beforeBalance), //
|
|
95
124
|
this.waitStatus(),
|
|
96
125
|
]);
|
|
97
126
|
}
|
|
98
127
|
|
|
99
|
-
async waitBalance(to: Token, wallet: OmniWallet, beforeBalance: bigint
|
|
128
|
+
async waitBalance(to: Token, wallet: OmniWallet, beforeBalance: bigint): Promise<BridgeReview> {
|
|
100
129
|
const afterBalance = await wallet.fetchBalance(to.chain, to.address).catch(() => beforeBalance);
|
|
101
130
|
if (afterBalance > beforeBalance) {
|
|
102
131
|
return runInAction(() => {
|
|
103
132
|
this.review.amountOut = afterBalance - beforeBalance;
|
|
104
133
|
this.updateStatus("success", "Swap successful");
|
|
105
|
-
this.toast?.update({ duration:
|
|
134
|
+
this.toast?.update({ message: "Swap successful", progressText: undefined, type: "success", duration: 3000 });
|
|
106
135
|
return this.review;
|
|
107
136
|
});
|
|
108
137
|
}
|
|
109
138
|
|
|
110
139
|
await wait(2000);
|
|
111
|
-
return await this.waitBalance(to, wallet, beforeBalance
|
|
140
|
+
return await this.waitBalance(to, wallet, beforeBalance);
|
|
112
141
|
}
|
|
113
142
|
|
|
114
143
|
getMessage(status: GetExecutionStatusResponse.status): string | null {
|
|
@@ -134,6 +163,7 @@ export class BridgePending extends ActivityController {
|
|
|
134
163
|
|
|
135
164
|
runInAction(() => {
|
|
136
165
|
if (status.swapDetails.amountOut) this.review.amountOut = BigInt(status.swapDetails.amountOut);
|
|
166
|
+
this.toast?.update({ progressText: message || "Processing..." });
|
|
137
167
|
this.updateStatus(state, message);
|
|
138
168
|
});
|
|
139
169
|
}
|
|
@@ -3,13 +3,13 @@ import QRCodeStyling from "qr-code-styling";
|
|
|
3
3
|
import { observer } from "mobx-react-lite";
|
|
4
4
|
import styled from "styled-components";
|
|
5
5
|
|
|
6
|
-
import { HotKit } from "../../HotKit";
|
|
7
|
-
import { BridgeReview } from "../../core/exchange";
|
|
8
6
|
import { WarningIcon } from "../icons/warning";
|
|
7
|
+
import CopyIcon from "../icons/copy";
|
|
9
8
|
|
|
9
|
+
import { HotKit } from "../../HotKit";
|
|
10
|
+
import { BridgeReview } from "../../core/exchange";
|
|
10
11
|
import { ActionButton, Button } from "../uikit/button";
|
|
11
12
|
import { PMedium, PSmall } from "../uikit/text";
|
|
12
|
-
import CopyIcon from "../icons/copy";
|
|
13
13
|
|
|
14
14
|
const DepositQR = observer(({ kit, review, onConfirm, onCancel }: { kit: HotKit; review: BridgeReview; onConfirm: () => void; onCancel?: () => void }) => {
|
|
15
15
|
const qrCodeRef = useRef<HTMLDivElement>(null);
|
|
@@ -58,10 +58,10 @@ const DepositQR = observer(({ kit, review, onConfirm, onCancel }: { kit: HotKit;
|
|
|
58
58
|
Send <Pre>{review.qoute.amountInFormatted}</Pre> <Pre>{review.from.symbol}</Pre> on <Pre>{review.from.chainName}</Pre> chain to:
|
|
59
59
|
</PMedium>
|
|
60
60
|
|
|
61
|
-
<div style={{ width: "100%",
|
|
62
|
-
<Pre style={{ fontSize: 14, fontWeight: "bold", padding: 0, background: "transparent", border: "none" }}>{depositAddress}</Pre>
|
|
63
|
-
<Button onClick={handleCopy}>
|
|
64
|
-
<CopyIcon width={
|
|
61
|
+
<div style={{ width: "100%", display: "flex", gap: 4, marginBottom: "auto" }}>
|
|
62
|
+
<Pre style={{ textAlign: "center", fontSize: 14, fontWeight: "bold", padding: 0, background: "transparent", border: "none" }}>{depositAddress}</Pre>
|
|
63
|
+
<Button style={{ height: 20 }} onClick={handleCopy}>
|
|
64
|
+
<CopyIcon width={20} height={20} color="#ababab" />
|
|
65
65
|
</Button>
|
|
66
66
|
</div>
|
|
67
67
|
|
|
@@ -51,6 +51,7 @@ export const Profile = observer(({ kit, onClose }: { kit: HotKit; onClose: (wall
|
|
|
51
51
|
const nonOmniTokens = tokensList.filter((t) => t.chain !== Network.Omni && t.chain !== Network.HotCraft);
|
|
52
52
|
const socialConnector = kit.connectors.find((connector) => connector.type === ConnectorType.SOCIAL && connector.wallets.length > 0);
|
|
53
53
|
const connectors = kit.connectors.filter((connector) => connector.type !== ConnectorType.HOTCRAFT);
|
|
54
|
+
const pendings = kit.activity.activityList.filter((t) => t.status === "pending");
|
|
54
55
|
|
|
55
56
|
useEffect(() => {
|
|
56
57
|
if (kit.wallets.length > 0) return;
|
|
@@ -109,10 +110,10 @@ export const Profile = observer(({ kit, onClose }: { kit: HotKit; onClose: (wall
|
|
|
109
110
|
</div>
|
|
110
111
|
</Card>
|
|
111
112
|
|
|
112
|
-
{
|
|
113
|
+
{pendings.length > 0 && (
|
|
113
114
|
<TokenCards>
|
|
114
115
|
<PSmall style={{ fontSize: 16, fontWeight: 600, color: "#d2d2d2", textAlign: "left" }}>Pendings</PSmall>
|
|
115
|
-
{
|
|
116
|
+
{pendings.map((activity) => {
|
|
116
117
|
return (
|
|
117
118
|
<Card key={activity.id} onClick={() => activity.action()} style={{ flexDirection: "row", gap: 12 }}>
|
|
118
119
|
{activity.preview instanceof Token && <TokenIcon token={activity.preview} />}
|