@hot-labs/kit 1.2.0-alpha.1 → 1.2.0-alpha.2

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.
Files changed (250) hide show
  1. package/build/HotConnector.d.ts +104 -0
  2. package/build/HotConnector.js +306 -0
  3. package/build/HotConnector.js.map +1 -0
  4. package/build/OmniConnector.d.ts +85 -0
  5. package/build/OmniConnector.js +121 -0
  6. package/build/OmniConnector.js.map +1 -0
  7. package/build/OmniWallet.d.ts +42 -0
  8. package/build/OmniWallet.js +61 -0
  9. package/build/OmniWallet.js.map +1 -0
  10. package/build/activity.d.ts +18 -0
  11. package/build/activity.js +87 -0
  12. package/build/activity.js.map +1 -0
  13. package/build/core/Intents.d.ts +90 -0
  14. package/build/core/Intents.js +398 -0
  15. package/build/core/Intents.js.map +1 -0
  16. package/build/core/api.d.ts +32 -0
  17. package/build/core/api.js +75 -0
  18. package/build/core/api.js.map +1 -0
  19. package/build/core/bridge.d.ts +3 -0
  20. package/build/core/bridge.js +36 -0
  21. package/build/core/bridge.js.map +1 -0
  22. package/build/core/chains.d.ts +115 -0
  23. package/build/core/chains.js +381 -0
  24. package/build/core/chains.js.map +1 -0
  25. package/build/core/defaultTokens.d.ts +17 -0
  26. package/build/core/defaultTokens.js +1079 -0
  27. package/build/core/defaultTokens.js.map +1 -0
  28. package/build/core/events.d.ts +42 -0
  29. package/build/core/events.js +64 -0
  30. package/build/core/events.js.map +1 -0
  31. package/build/core/index.d.ts +10 -0
  32. package/build/core/index.js +11 -0
  33. package/build/core/index.js.map +1 -0
  34. package/build/core/nearRpc.d.ts +24 -0
  35. package/build/core/nearRpc.js +167 -0
  36. package/build/core/nearRpc.js.map +1 -0
  37. package/build/core/recipient.d.ts +10 -0
  38. package/build/core/recipient.js +40 -0
  39. package/build/core/recipient.js.map +1 -0
  40. package/build/core/token.d.ts +36 -0
  41. package/build/core/token.js +103 -0
  42. package/build/core/token.js.map +1 -0
  43. package/build/core/tokens.d.ts +14 -0
  44. package/build/core/tokens.js +59 -0
  45. package/build/core/tokens.js.map +1 -0
  46. package/build/core/types.d.ts +43 -0
  47. package/build/core/types.js +2 -0
  48. package/build/core/types.js.map +1 -0
  49. package/build/core/utils.d.ts +24 -0
  50. package/build/core/utils.js +150 -0
  51. package/build/core/utils.js.map +1 -0
  52. package/build/cosmos/connector.d.ts +36 -0
  53. package/build/cosmos/connector.js +215 -0
  54. package/build/cosmos/connector.js.map +1 -0
  55. package/build/cosmos/helpers.d.ts +2 -0
  56. package/build/cosmos/helpers.js +29 -0
  57. package/build/cosmos/helpers.js.map +1 -0
  58. package/build/cosmos/index.d.ts +6 -0
  59. package/build/cosmos/index.js +5 -0
  60. package/build/cosmos/index.js.map +1 -0
  61. package/build/cosmos/wallet.d.ts +28 -0
  62. package/build/cosmos/wallet.js +56 -0
  63. package/build/cosmos/wallet.js.map +1 -0
  64. package/build/defaults.d.ts +1 -0
  65. package/build/defaults.js +7 -0
  66. package/build/defaults.js.map +1 -0
  67. package/build/evm/abi.d.ts +17 -0
  68. package/build/evm/abi.js +38 -0
  69. package/build/evm/abi.js.map +1 -0
  70. package/build/evm/connector.d.ts +28 -0
  71. package/build/evm/connector.js +114 -0
  72. package/build/evm/connector.js.map +1 -0
  73. package/build/evm/index.d.ts +6 -0
  74. package/build/evm/index.js +5 -0
  75. package/build/evm/index.js.map +1 -0
  76. package/build/evm/injected.d.ts +1 -0
  77. package/build/evm/injected.js +33 -0
  78. package/build/evm/injected.js.map +1 -0
  79. package/build/evm/wallet.d.ts +41 -0
  80. package/build/evm/wallet.js +128 -0
  81. package/build/evm/wallet.js.map +1 -0
  82. package/build/exchange.d.ts +65 -0
  83. package/build/exchange.js +390 -0
  84. package/build/exchange.js.map +1 -0
  85. package/build/hot-wallet/google.d.ts +25 -0
  86. package/build/hot-wallet/google.js +112 -0
  87. package/build/hot-wallet/google.js.map +1 -0
  88. package/build/hot-wallet/iframe.d.ts +36 -0
  89. package/build/hot-wallet/iframe.js +140 -0
  90. package/build/hot-wallet/iframe.js.map +1 -0
  91. package/build/hot-wallet/index.d.ts +5 -0
  92. package/build/hot-wallet/index.js +4 -0
  93. package/build/hot-wallet/index.js.map +1 -0
  94. package/build/hot-wallet/proxy.d.ts +8 -0
  95. package/build/hot-wallet/proxy.js +45 -0
  96. package/build/hot-wallet/proxy.js.map +1 -0
  97. package/build/index.d.ts +5 -0
  98. package/build/index.js +6 -0
  99. package/build/index.js.map +1 -0
  100. package/build/near/connector.d.ts +18 -0
  101. package/build/near/connector.js +58 -0
  102. package/build/near/connector.js.map +1 -0
  103. package/build/near/index.d.ts +7 -0
  104. package/build/near/index.js +5 -0
  105. package/build/near/index.js.map +1 -0
  106. package/build/near/wallet.d.ts +55 -0
  107. package/build/near/wallet.js +195 -0
  108. package/build/near/wallet.js.map +1 -0
  109. package/build/solana/connector.d.ts +30 -0
  110. package/build/solana/connector.js +138 -0
  111. package/build/solana/connector.js.map +1 -0
  112. package/build/solana/index.d.ts +6 -0
  113. package/build/solana/index.js +5 -0
  114. package/build/solana/index.js.map +1 -0
  115. package/build/solana/injected/account.d.ts +11 -0
  116. package/build/solana/injected/account.js +41 -0
  117. package/build/solana/injected/account.js.map +1 -0
  118. package/build/solana/injected/index.d.ts +1 -0
  119. package/build/solana/injected/index.js +82 -0
  120. package/build/solana/injected/index.js.map +1 -0
  121. package/build/solana/injected/register.d.ts +2 -0
  122. package/build/solana/injected/register.js +41 -0
  123. package/build/solana/injected/register.js.map +1 -0
  124. package/build/solana/injected/solana-wallet.d.ts +34 -0
  125. package/build/solana/injected/solana-wallet.js +223 -0
  126. package/build/solana/injected/solana-wallet.js.map +1 -0
  127. package/build/solana/injected/utils.d.ts +32 -0
  128. package/build/solana/injected/utils.js +36 -0
  129. package/build/solana/injected/utils.js.map +1 -0
  130. package/build/solana/protocol.d.ts +25 -0
  131. package/build/solana/protocol.js +56 -0
  132. package/build/solana/protocol.js.map +1 -0
  133. package/build/solana/wallet.d.ts +42 -0
  134. package/build/solana/wallet.js +190 -0
  135. package/build/solana/wallet.js.map +1 -0
  136. package/build/solana/wallets.d.ts +102 -0
  137. package/build/solana/wallets.js +150 -0
  138. package/build/solana/wallets.js.map +1 -0
  139. package/build/stellar/connector.d.ts +31 -0
  140. package/build/stellar/connector.js +67 -0
  141. package/build/stellar/connector.js.map +1 -0
  142. package/build/stellar/freigher.d.ts +46 -0
  143. package/build/stellar/freigher.js +110 -0
  144. package/build/stellar/freigher.js.map +1 -0
  145. package/build/stellar/hotWallet.d.ts +33 -0
  146. package/build/stellar/hotWallet.js +28 -0
  147. package/build/stellar/hotWallet.js.map +1 -0
  148. package/build/stellar/index.d.ts +6 -0
  149. package/build/stellar/index.js +5 -0
  150. package/build/stellar/index.js.map +1 -0
  151. package/build/stellar/wallet.d.ts +65 -0
  152. package/build/stellar/wallet.js +216 -0
  153. package/build/stellar/wallet.js.map +1 -0
  154. package/build/storage.d.ts +10 -0
  155. package/build/storage.js +12 -0
  156. package/build/storage.js.map +1 -0
  157. package/build/ton/connector.d.ts +25 -0
  158. package/build/ton/connector.js +114 -0
  159. package/build/ton/connector.js.map +1 -0
  160. package/build/ton/index.d.ts +7 -0
  161. package/build/ton/index.js +5 -0
  162. package/build/ton/index.js.map +1 -0
  163. package/build/ton/injected.d.ts +1 -0
  164. package/build/ton/injected.js +49 -0
  165. package/build/ton/injected.js.map +1 -0
  166. package/build/ton/utils.d.ts +45 -0
  167. package/build/ton/utils.js +63 -0
  168. package/build/ton/utils.js.map +1 -0
  169. package/build/ton/wallet.d.ts +55 -0
  170. package/build/ton/wallet.js +139 -0
  171. package/build/ton/wallet.js.map +1 -0
  172. package/build/ui/Popup.d.ts +12 -0
  173. package/build/ui/Popup.js +39 -0
  174. package/build/ui/Popup.js.map +1 -0
  175. package/build/ui/connect/AuthPopup.d.ts +2 -0
  176. package/build/ui/connect/AuthPopup.js +48 -0
  177. package/build/ui/connect/AuthPopup.js.map +1 -0
  178. package/build/ui/connect/ConnectWallet.d.ts +9 -0
  179. package/build/ui/connect/ConnectWallet.js +22 -0
  180. package/build/ui/connect/ConnectWallet.js.map +1 -0
  181. package/build/ui/connect/LogoutPopup.d.ts +10 -0
  182. package/build/ui/connect/LogoutPopup.js +8 -0
  183. package/build/ui/connect/LogoutPopup.js.map +1 -0
  184. package/build/ui/connect/WCPopup.d.ts +13 -0
  185. package/build/ui/connect/WCPopup.js +81 -0
  186. package/build/ui/connect/WCPopup.js.map +1 -0
  187. package/build/ui/connect/WCRequest.d.ts +9 -0
  188. package/build/ui/connect/WCRequest.js +13 -0
  189. package/build/ui/connect/WCRequest.js.map +1 -0
  190. package/build/ui/connect/WalletPicker.d.ts +11 -0
  191. package/build/ui/connect/WalletPicker.js +48 -0
  192. package/build/ui/connect/WalletPicker.js.map +1 -0
  193. package/build/ui/icons/arrow-right.d.ts +1 -0
  194. package/build/ui/icons/arrow-right.js +5 -0
  195. package/build/ui/icons/arrow-right.js.map +1 -0
  196. package/build/ui/icons/close.d.ts +1 -0
  197. package/build/ui/icons/close.js +5 -0
  198. package/build/ui/icons/close.js.map +1 -0
  199. package/build/ui/icons/exchange.d.ts +6 -0
  200. package/build/ui/icons/exchange.js +6 -0
  201. package/build/ui/icons/exchange.js.map +1 -0
  202. package/build/ui/icons/logout.d.ts +1 -0
  203. package/build/ui/icons/logout.js +3 -0
  204. package/build/ui/icons/logout.js.map +1 -0
  205. package/build/ui/icons/pending.d.ts +1 -0
  206. package/build/ui/icons/pending.js +5 -0
  207. package/build/ui/icons/pending.js.map +1 -0
  208. package/build/ui/icons/qr.d.ts +1 -0
  209. package/build/ui/icons/qr.js +5 -0
  210. package/build/ui/icons/qr.js.map +1 -0
  211. package/build/ui/icons/search.d.ts +1 -0
  212. package/build/ui/icons/search.js +5 -0
  213. package/build/ui/icons/search.js.map +1 -0
  214. package/build/ui/icons/switch.d.ts +1 -0
  215. package/build/ui/icons/switch.js +5 -0
  216. package/build/ui/icons/switch.js.map +1 -0
  217. package/build/ui/icons/wallet.d.ts +1 -0
  218. package/build/ui/icons/wallet.js +5 -0
  219. package/build/ui/icons/wallet.js.map +1 -0
  220. package/build/ui/payment/Bridge.d.ts +29 -0
  221. package/build/ui/payment/Bridge.js +358 -0
  222. package/build/ui/payment/Bridge.js.map +1 -0
  223. package/build/ui/payment/DepositQR.d.ts +9 -0
  224. package/build/ui/payment/DepositQR.js +56 -0
  225. package/build/ui/payment/DepositQR.js.map +1 -0
  226. package/build/ui/payment/Payment.d.ts +16 -0
  227. package/build/ui/payment/Payment.js +50 -0
  228. package/build/ui/payment/Payment.js.map +1 -0
  229. package/build/ui/payment/Profile.d.ts +8 -0
  230. package/build/ui/payment/Profile.js +110 -0
  231. package/build/ui/payment/Profile.js.map +1 -0
  232. package/build/ui/payment/SelectRecipient.d.ts +14 -0
  233. package/build/ui/payment/SelectRecipient.js +68 -0
  234. package/build/ui/payment/SelectRecipient.js.map +1 -0
  235. package/build/ui/payment/SelectSender.d.ts +13 -0
  236. package/build/ui/payment/SelectSender.js +23 -0
  237. package/build/ui/payment/SelectSender.js.map +1 -0
  238. package/build/ui/payment/SelectToken.d.ts +13 -0
  239. package/build/ui/payment/SelectToken.js +92 -0
  240. package/build/ui/payment/SelectToken.js.map +1 -0
  241. package/build/ui/payment/TokenCard.d.ts +23 -0
  242. package/build/ui/payment/TokenCard.js +63 -0
  243. package/build/ui/payment/TokenCard.js.map +1 -0
  244. package/build/ui/router.d.ts +37 -0
  245. package/build/ui/router.js +56 -0
  246. package/build/ui/router.js.map +1 -0
  247. package/build/ui/styles.d.ts +13 -0
  248. package/build/ui/styles.js +288 -0
  249. package/build/ui/styles.js.map +1 -0
  250. package/package.json +1 -1
@@ -0,0 +1,358 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useRef, useState } from "react";
3
+ import styled, { keyframes } from "styled-components";
4
+ import { observer } from "mobx-react-lite";
5
+ import uuid4 from "uuid4";
6
+ import { SwitchIcon } from "../icons/switch";
7
+ import { ArrowRightIcon } from "../icons/arrow-right";
8
+ import { formatter } from "../../core/utils";
9
+ import { tokens } from "../../core/tokens";
10
+ import { Recipient } from "../../core/recipient";
11
+ import { WalletType } from "../../core/chains";
12
+ import Popup from "../Popup";
13
+ import { PopupButton } from "../styles";
14
+ import { openSelectRecipient, openSelectTokenPopup, openSelectSender } from "../router";
15
+ import { TokenIcon } from "./TokenCard";
16
+ import DepositQR from "./DepositQR";
17
+ const FIXED = 6;
18
+ export const Bridge = observer(({ hot, widget, setup, onClose, onProcess, onSelectPair }) => {
19
+ const [isFiat, setIsFiat] = useState(false);
20
+ const [type, setType] = useState(setup?.type || "exactIn");
21
+ const [value, setValue] = useState(setup?.amount?.toString() ?? "");
22
+ const [from, setFrom] = useState(setup?.from || tokens.list.find((t) => t.id === localStorage.getItem("bridge:from")) || tokens.list.find((t) => t.symbol === "NEAR"));
23
+ const [to, setTo] = useState(setup?.to || tokens.list.find((t) => t.id === localStorage.getItem("bridge:to")) || tokens.list.find((t) => t.symbol === "USDT"));
24
+ const [review, setReview] = useState(null);
25
+ const [isError, setIsError] = useState(null);
26
+ const [isReviewing, setIsReviewing] = useState(false);
27
+ const [processing, setProcessing] = useState(null);
28
+ useEffect(() => {
29
+ onSelectPair?.(from, to);
30
+ }, [from, to]);
31
+ const [sender, setSender] = useState(() => {
32
+ if (setup?.sender)
33
+ return setup.sender;
34
+ if (from.type === WalletType.OMNI)
35
+ return hot.priorityWallet;
36
+ return hot.wallets.find((w) => w.type === from.type);
37
+ });
38
+ useEffect(() => {
39
+ if (from.type === WalletType.OMNI)
40
+ setSender(hot.priorityWallet);
41
+ if (to.type === WalletType.OMNI)
42
+ setRecipient(Recipient.fromWallet(hot.priorityWallet));
43
+ }, [hot.priorityWallet]);
44
+ const [recipient, setRecipient] = useState(() => {
45
+ if (setup?.recipient)
46
+ return setup.recipient;
47
+ if (to.type === WalletType.OMNI)
48
+ return Recipient.fromWallet(hot.priorityWallet);
49
+ return Recipient.fromWallet(hot.wallets.find((w) => w.type === to.type));
50
+ });
51
+ const initialSender = useRef(sender);
52
+ const initialRecipient = useRef(recipient);
53
+ const valueInTokens = isFiat ? +formatter.fromInput(value) / (type === "exactIn" ? from.usd : to.usd) : +formatter.fromInput(value);
54
+ const amountFrom = type === "exactOut" ? from.float(review?.amountIn ?? 0) : valueInTokens;
55
+ const amountTo = type === "exactIn" ? to.float(review?.amountOut ?? 0) : valueInTokens;
56
+ const showAmountFrom = type === "exactOut" ? +from.float(review?.amountIn ?? 0).toFixed(FIXED) : formatter.fromInput(value);
57
+ const showAmountTo = type === "exactIn" ? +to.float(review?.amountOut ?? 0).toFixed(FIXED) : formatter.fromInput(value);
58
+ const availableBalance = sender !== "qr" ? +Math.max(0, from.float(hot.balance(sender, from)) - from.reserve).toFixed(FIXED) : 0;
59
+ let title = "Exchange";
60
+ if (from.chain === -4)
61
+ title = `Withdraw ${from.symbol}`;
62
+ if (to.chain === -4)
63
+ title = `Deposit ${to.symbol}`;
64
+ if (to.chain === from.chain)
65
+ title = "Exchange";
66
+ useEffect(() => {
67
+ localStorage.setItem("bridge:from", from.id);
68
+ localStorage.setItem("bridge:to", to.id);
69
+ }, [from, to]);
70
+ useEffect(() => {
71
+ if (initialSender.current == null) {
72
+ if (from.type === WalletType.OMNI)
73
+ setSender(hot.priorityWallet);
74
+ else
75
+ setSender(hot.wallets.find((w) => w.type === from.type));
76
+ }
77
+ if (initialRecipient.current == null) {
78
+ if (to.type === WalletType.OMNI)
79
+ setRecipient(Recipient.fromWallet(hot.priorityWallet));
80
+ else
81
+ setRecipient(Recipient.fromWallet(hot.wallets.find((w) => w.type === to.type)));
82
+ }
83
+ }, [to, from, hot.wallets, hot.priorityWallet]);
84
+ const reviewId = useRef(uuid4());
85
+ const throwError = (message) => {
86
+ setIsError(message);
87
+ setIsReviewing(false);
88
+ };
89
+ const reviewSwap = useCallback(() => {
90
+ reviewId.current = uuid4();
91
+ const currentReviewId = reviewId.current;
92
+ setIsReviewing(true);
93
+ setReview(null);
94
+ setIsError(null);
95
+ const refund = sender !== "qr" ? sender : hot.priorityWallet;
96
+ if (valueInTokens <= 0)
97
+ return throwError("Enter amount");
98
+ if (!sender)
99
+ return throwError("Set sender");
100
+ if (!recipient)
101
+ return throwError("Set recipient");
102
+ if (!refund)
103
+ return throwError("Connect any wallet");
104
+ const debounceTimer = setTimeout(async () => {
105
+ try {
106
+ if (currentReviewId !== reviewId.current)
107
+ return;
108
+ const amount = type === "exactIn" ? from.int(valueInTokens) : to.int(valueInTokens);
109
+ const review = await hot.exchange.reviewSwap({ sender, refund, amount, recipient, slippage: 0.005, type, from, to });
110
+ if (currentReviewId !== reviewId.current)
111
+ return;
112
+ setIsReviewing(false);
113
+ setIsError(null);
114
+ setReview(review);
115
+ }
116
+ catch (e) {
117
+ if (currentReviewId !== reviewId.current)
118
+ return;
119
+ setIsError(typeof e === "string" ? e : e instanceof Error ? e.message : "Failed to review swap");
120
+ setIsReviewing(false);
121
+ setReview(null);
122
+ console.error(e);
123
+ }
124
+ }, 500);
125
+ return () => clearTimeout(debounceTimer);
126
+ }, [valueInTokens, type, from, to, sender, hot.exchange, recipient, hot.priorityWallet]);
127
+ useEffect(() => {
128
+ reviewSwap();
129
+ }, [reviewSwap]);
130
+ const process = async (review) => {
131
+ try {
132
+ const log = (message) => setProcessing({ status: "processing", message, review });
133
+ hot.hotBridge.logger = { log, warn: console.warn };
134
+ log("Signing transaction");
135
+ const result = await hot.exchange.makeSwap(review, { log });
136
+ setProcessing({ status: "success", message: "Transaction signed", review: result });
137
+ if (setup?.autoClose)
138
+ onClose();
139
+ return result;
140
+ }
141
+ catch (e) {
142
+ setProcessing({ status: "error", message: e?.toString?.() ?? "Unknown error", review });
143
+ throw e;
144
+ }
145
+ };
146
+ const cancelReview = () => {
147
+ setReview(null);
148
+ setIsReviewing(false);
149
+ setProcessing(null);
150
+ setIsError(null);
151
+ reviewSwap();
152
+ };
153
+ const handleConfirm = async () => {
154
+ if (sender != "qr")
155
+ return onProcess(process(review));
156
+ setProcessing({ status: "qr", message: "Scan QR code to sign transaction", review: review });
157
+ };
158
+ const handleMax = () => {
159
+ if (sender === "qr")
160
+ return;
161
+ if (isFiat) {
162
+ setType("exactIn");
163
+ setValue(String(+(availableBalance * from.usd).toFixed(FIXED)));
164
+ }
165
+ else {
166
+ setType("exactIn");
167
+ setValue(String(availableBalance));
168
+ }
169
+ };
170
+ if (processing?.status === "qr") {
171
+ return (_jsx(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, children: _jsx(DepositQR //
172
+ , { review: processing.review, onConfirm: () => onProcess(process(processing.review)), onCancel: cancelReview }) }));
173
+ }
174
+ if (processing?.status === "processing") {
175
+ return (_jsx(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, children: _jsxs("div", { style: { width: "100%", height: 400, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: "/loading.json", speed: "1", style: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "loading"), _jsx("p", { style: { marginTop: -32, fontSize: 16 }, children: processing.message })] }) }));
176
+ }
177
+ if (processing?.status === "success") {
178
+ return (_jsxs(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, children: [_jsxs("div", { style: { width: "100%", height: 400, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: "/success.json", speed: "1", style: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "success"), _jsx("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: "Exchange successful" })] }), _jsx(PopupButton, { style: { marginTop: "auto" }, onClick: () => (cancelReview(), onClose()), children: "Continue" })] }));
179
+ }
180
+ if (processing?.status === "error") {
181
+ return (_jsxs(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, children: [_jsxs("div", { style: { width: "100%", height: 400, gap: 8, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: "/error.json", speed: "1", style: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "error"), _jsx("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: "Exchange failed" }), _jsx("p", { style: { fontSize: 14 }, children: processing.message })] }), _jsx(PopupButton, { onClick: () => (cancelReview(), onClose()), children: "Continue" })] }));
182
+ }
183
+ const button = () => {
184
+ if (sender == null)
185
+ return _jsx(PopupButton, { disabled: true, children: "Set sender" });
186
+ if (recipient == null)
187
+ return _jsx(PopupButton, { disabled: true, children: "Set recipient" });
188
+ if (sender !== "qr" && +from.float(hot.balance(sender, from)).toFixed(FIXED) < +amountFrom.toFixed(FIXED))
189
+ return _jsx(PopupButton, { disabled: true, children: "Insufficient balance" });
190
+ return (_jsx(PopupButton, { disabled: isReviewing || isError != null, onClick: handleConfirm, children: isReviewing ? "Quoting..." : isError != null ? isError : "Confirm" }));
191
+ };
192
+ return (_jsx(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, children: _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 32, width: "100%", height: "100%" }, children: [_jsxs(Card, { children: [_jsx("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx("p", { style: { fontWeight: "bold" }, children: from.chain === -4 ? "Withdraw HEX from:" : "Send from:" }), _jsx(BadgeButton, { onClick: () => openSelectSender({ hot, type: from.type, onSelect: (wallet) => setSender(wallet) }), children: _jsx("p", { children: formatter.truncateAddress(sender === "qr" ? "QR code" : sender?.address ?? "Select sender") }) })] }) }), _jsxs("div", { style: { width: "100%", display: "flex", alignItems: "center", gap: 8, justifyContent: "space-between" }, children: [_jsx(TokenPreview //
193
+ , { token: from, style: { pointerEvents: setup?.readonlyFrom ? "none" : "all" }, onSelect: () => openSelectTokenPopup({ hot, onSelect: (token, wallet) => (setFrom(token), setSender(wallet)) }) }), isReviewing && type === "exactOut" ? (_jsx(SkeletonShine, {})) : (_jsx("input", { name: "from", type: "text", className: "input", autoComplete: "off", autoCapitalize: "off", autoCorrect: "off", readOnly: setup?.readonlyAmount, value: isFiat ? `$${showAmountFrom}` : showAmountFrom, onChange: (e) => (setType("exactIn"), setValue(e.target.value)), placeholder: "0", autoFocus: true }))] }), isFiat && (_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [sender !== "qr" && (_jsxs(AvailableBalance, { children: [_jsxs("p", { children: ["Balance: $", from.readable(availableBalance, from.usd)] }), _jsx(RefreshButton, { onClick: () => sender && hot.fetchToken(from, sender) })] })), sender === "qr" && _jsx("div", {}), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4, flexShrink: 0 }, children: [from.usd !== 0 && _jsx("p", { style: { marginRight: 8 }, children: `${from.readable(amountFrom / from.usd)} ${from.symbol}` }), from.usd !== 0 && (_jsx(BadgeButton, { style: { border: `1px solid #fff` }, onClick: () => setIsFiat(!isFiat), children: "USD" })), sender !== "qr" && _jsx(BadgeButton, { onClick: handleMax, children: "MAX" })] })] })), !isFiat && (_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [sender !== "qr" && (_jsxs(AvailableBalance, { children: [_jsxs("p", { children: ["Balance: ", `${from.readable(availableBalance)} ${from.symbol}`] }), _jsx(RefreshButton, { onClick: () => sender && hot.fetchToken(from, sender) })] })), sender === "qr" && _jsx("div", {}), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4 }, children: [from.usd !== 0 && _jsxs("p", { style: { marginRight: 8 }, children: ["$", from.readable(amountFrom, from.usd)] }), from.usd !== 0 && _jsx(BadgeButton, { onClick: () => setIsFiat(!isFiat), children: "USD" }), sender !== "qr" && _jsx(BadgeButton, { onClick: handleMax, children: "MAX" })] })] }))] }), _jsxs("div", { style: { position: "relative" }, children: [_jsx("div", { style: { width: "100%", height: 1, backgroundColor: "rgba(255, 255, 255, 0.07)" } }), _jsx(SwitchButton, { onClick: () => {
194
+ setFrom(to);
195
+ setTo(from);
196
+ setSender(hot.wallets.find((w) => w.address === recipient?.address));
197
+ setRecipient(sender === "qr" ? undefined : sender ? Recipient.fromWallet(sender) : undefined);
198
+ setType(type === "exactIn" ? "exactOut" : "exactIn");
199
+ setValue("");
200
+ }, children: _jsx(SwitchIcon, {}) })] }), _jsxs(Card, { children: [_jsx("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx("p", { style: { fontWeight: "bold" }, children: to.chain !== -4 ? "To:" : "Deposit HEX to:" }), _jsx(BadgeButton, { onClick: () => openSelectRecipient({ hot, recipient, type: to.type, onSelect: (recipient) => setRecipient(recipient) }), children: _jsx("p", { children: formatter.truncateAddress(recipient?.address ?? "Connect wallet") }) })] }) }), _jsxs("div", { style: { width: "100%", display: "flex", alignItems: "center", gap: 8, justifyContent: "space-between" }, children: [_jsx(TokenPreview //
201
+ , { token: to, style: { pointerEvents: setup?.readonlyTo ? "none" : "all" }, onSelect: () => openSelectTokenPopup({
202
+ hot,
203
+ onSelect: (token, wallet) => {
204
+ setRecipient(wallet ? Recipient.fromWallet(wallet) : undefined);
205
+ setTo(token);
206
+ },
207
+ }) }), isReviewing && type === "exactIn" ? (_jsx(SkeletonShine, {})) : (_jsx("input", { name: "to", type: "text", className: "input", autoComplete: "off", autoCapitalize: "off", autoCorrect: "off", readOnly: setup?.readonlyAmount, value: isFiat ? `$${+(+showAmountTo * to.usd).toFixed(FIXED)}` : showAmountTo, onChange: (e) => (setType("exactOut"), setValue(e.target.value)), placeholder: "0" }))] }), _jsxs("div", { style: { width: "100%", display: "flex", justifyContent: "flex-end", marginTop: -8 }, children: [isFiat && _jsxs("p", { children: ["Receive: $", `${to.readable(amountTo ?? 0)} ${to.symbol}`] }), !isFiat && _jsxs("p", { children: ["Receive: $", to.readable(amountTo ?? 0, to.usd)] })] })] }), _jsx("div", { style: { marginTop: "auto" }, children: button() })] }) }));
208
+ });
209
+ const TokenPreview = ({ style, token, onSelect }) => {
210
+ return (_jsxs(SelectTokenButton, { style: style, onClick: () => onSelect(token), children: [_jsx(TokenIcon, { token: token }), _jsx("p", { style: { fontSize: 24, fontWeight: "bold" }, children: token.symbol }), _jsx(ArrowRightIcon, { style: { flexShrink: 0, position: "absolute", right: 4 } })] }));
211
+ };
212
+ const BadgeButton = styled.button `
213
+ font-size: 12px;
214
+ font-weight: 500;
215
+ color: #fff;
216
+ background: #282c30;
217
+ padding: 4px 8px;
218
+ border-radius: 16px;
219
+ cursor: pointer;
220
+ outline: none;
221
+ border: none;
222
+ border: 1px solid transparent;
223
+ transition: 0.2s border-color;
224
+
225
+ &:hover {
226
+ border-color: #4e4e4e;
227
+ }
228
+
229
+ * {
230
+ font-size: 14px;
231
+ font-weight: bold;
232
+ }
233
+ `;
234
+ const SelectTokenButton = styled.button `
235
+ display: flex;
236
+ align-items: center;
237
+ gap: 12px;
238
+ flex-shrink: 0;
239
+ cursor: pointer;
240
+ outline: none;
241
+ border: none;
242
+ position: relative;
243
+ background: transparent;
244
+ border-radius: 32px;
245
+ padding: 8px;
246
+ padding-right: 32px;
247
+ margin: -8px;
248
+ max-width: 160px;
249
+ transition: 0.2s background-color;
250
+
251
+ &:hover {
252
+ background: rgba(255, 255, 255, 0.2);
253
+ }
254
+
255
+ p {
256
+ overflow: hidden;
257
+ text-overflow: ellipsis;
258
+ white-space: nowrap;
259
+ }
260
+ `;
261
+ const AvailableBalance = styled.div `
262
+ display: flex;
263
+ align-items: center;
264
+ gap: 4;
265
+ overflow: hidden;
266
+ max-width: 200px;
267
+ white-space: nowrap;
268
+
269
+ p {
270
+ overflow: hidden;
271
+ text-overflow: ellipsis;
272
+ white-space: nowrap;
273
+ }
274
+ `;
275
+ const Card = styled.div `
276
+ display: flex;
277
+ width: 100%;
278
+ flex-direction: column;
279
+ gap: 16px;
280
+ width: 100%;
281
+ text-align: left;
282
+ align-items: flex-start;
283
+ justify-content: center;
284
+ border-radius: 12px;
285
+
286
+ input {
287
+ outline: none;
288
+ border: none;
289
+ background: none;
290
+ color: #fff;
291
+ font-size: 32px;
292
+ font-weight: bold;
293
+ width: 100%;
294
+ line-height: 40px;
295
+ text-align: left;
296
+ align-items: flex-start;
297
+ justify-content: center;
298
+ background: transparent;
299
+ text-align: right;
300
+ border: none;
301
+ padding: 0;
302
+ margin: 0;
303
+ }
304
+ `;
305
+ const SwitchButton = styled.button `
306
+ position: absolute;
307
+ left: 50%;
308
+ top: -18px;
309
+ transform: translate(-50%, 0);
310
+ background: #232323;
311
+ border-radius: 50%;
312
+ width: 36px;
313
+ height: 36px;
314
+ display: flex;
315
+ align-items: center;
316
+ justify-content: center;
317
+ z-index: 2;
318
+ cursor: pointer;
319
+ border: 2px solid #181818;
320
+ box-shadow: 0 2px 8px 0 #18181870;
321
+ outline: none;
322
+ border: none;
323
+ cursor: pointer;
324
+ `;
325
+ const shine = keyframes `
326
+ 0% {
327
+ background-position: -200px 0;
328
+ }
329
+ 100% {
330
+ background-position: calc(200px + 100%) 0;
331
+ }
332
+ `;
333
+ const SkeletonShine = styled.div `
334
+ display: inline-block;
335
+ width: 100px;
336
+ height: 40px;
337
+ border-radius: 8px;
338
+ background: #2e2e2e;
339
+ position: relative;
340
+ overflow: hidden;
341
+
342
+ &:after {
343
+ content: "";
344
+ display: block;
345
+ height: 100%;
346
+ width: 100%;
347
+ position: absolute;
348
+ top: 0;
349
+ left: 0;
350
+ background: linear-gradient(90deg, rgba(34, 34, 34, 0) 0%, rgba(255, 255, 255, 0.06) 40%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0.06) 60%, rgba(34, 34, 34, 0) 100%);
351
+ background-size: 200px 100%;
352
+ animation: ${shine} 1.4s infinite linear;
353
+ }
354
+ `;
355
+ const RefreshButton = ({ onClick }) => {
356
+ return (_jsxs("svg", { onClick: onClick, style: { width: 18, height: 18, verticalAlign: "middle", marginLeft: 8, cursor: "pointer", opacity: 0.7, transition: "opacity 0.2s" }, viewBox: "0 0 24 24", fill: "none", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", onMouseOver: (e) => (e.currentTarget.style.opacity = "1"), onMouseOut: (e) => (e.currentTarget.style.opacity = "0.7"), children: [_jsx("path", { d: "M23 4v6h-6" }), _jsx("path", { d: "M1 20v-6h6" }), _jsx("path", { d: "M3.51 9a9 9 0 0114.13-3.36L23 10" }), _jsx("path", { d: "M20.49 15a9 9 0 01-14.13 3.36L1 14" })] }));
357
+ };
358
+ //# sourceMappingURL=Bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bridge.js","sourceRoot":"","sources":["../../../src/ui/payment/Bridge.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { BridgeReview } from "../../exchange";
2
+ declare const DepositQR: (({ review, onConfirm, onCancel }: {
3
+ review: BridgeReview;
4
+ onConfirm: () => void;
5
+ onCancel: () => void;
6
+ }) => import("react/jsx-runtime").JSX.Element | null) & {
7
+ displayName: string;
8
+ };
9
+ export default DepositQR;
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import QRCodeStyling from "qr-code-styling";
4
+ import { observer } from "mobx-react-lite";
5
+ import styled from "styled-components";
6
+ import { PopupButton } from "../styles";
7
+ const DepositQR = observer(({ review, onConfirm, onCancel }) => {
8
+ const qrCodeRef = useRef(null);
9
+ const [qrCode] = useState(() => {
10
+ if (review.qoute === "deposit" || review.qoute === "withdraw")
11
+ return null;
12
+ return new QRCodeStyling({
13
+ data: review.qoute.depositAddress,
14
+ dotsOptions: { color: "#eeeeee", type: "rounded" },
15
+ backgroundOptions: { color: "transparent" },
16
+ shape: "circle",
17
+ width: 180,
18
+ height: 180,
19
+ type: "svg",
20
+ });
21
+ });
22
+ useEffect(() => {
23
+ if (!qrCodeRef.current)
24
+ return;
25
+ if (review.qoute === "deposit" || review.qoute === "withdraw")
26
+ return;
27
+ qrCode?.append(qrCodeRef.current);
28
+ }, []);
29
+ if (review.qoute === "deposit" || review.qoute === "withdraw")
30
+ return null;
31
+ return (_jsxs("div", { style: { position: "relative", width: "100%", height: "100%", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", flex: 1 }, children: [_jsx(CloseButton, { onClick: onCancel, "aria-label": "Close", children: _jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: [_jsx("circle", { cx: "12", cy: "12", r: "11", stroke: "#2d2d2d", strokeWidth: "2", fill: "#181818" }), _jsx("path", { d: "M8 8l8 8M16 8l-8 8", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round" })] }) }), _jsx("div", { ref: qrCodeRef, style: {
32
+ marginTop: "auto",
33
+ borderRadius: "50%",
34
+ display: "flex",
35
+ alignItems: "center",
36
+ justifyContent: "center",
37
+ padding: 8,
38
+ paddingTop: 10,
39
+ paddingLeft: 10,
40
+ border: "1px solid #2d2d2d",
41
+ background: "#1c1c1c",
42
+ } }), _jsxs("p", { style: { marginTop: 24 }, children: ["Send", " ", _jsxs("b", { children: [review.qoute.amountInFormatted, " ", review.from.symbol] }), " ", "on ", _jsx("b", { children: review.from.chainName }), " to"] }), _jsx("div", { style: { width: "100%", marginTop: 8, padding: 12, marginBottom: 24, border: "1px solid #2d2d2d", borderRadius: 12, background: "#1c1c1c" }, children: _jsx("p", { style: { wordBreak: "break-all" }, children: review.qoute.depositAddress }) }), _jsx(PopupButton, { style: { marginTop: "auto" }, onClick: onConfirm, children: "I sent the funds" })] }));
43
+ });
44
+ const CloseButton = styled.button `
45
+ position: absolute;
46
+ top: -8px;
47
+ right: -12px;
48
+ background: transparent;
49
+ border: none;
50
+ cursor: pointer;
51
+ padding: 6;
52
+ border-radius: 50%;
53
+ transition: background 0.2s;
54
+ `;
55
+ export default DepositQR;
56
+ //# sourceMappingURL=DepositQR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DepositQR.js","sourceRoot":"","sources":["../../../src/ui/payment/DepositQR.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { HotConnector } from "../../HotConnector";
2
+ import { Recipient } from "../../core/recipient";
3
+ import { BridgeReview } from "../../exchange";
4
+ import { Token } from "../../core/token";
5
+ interface PaymentProps {
6
+ connector: HotConnector;
7
+ token: Token;
8
+ amount: bigint;
9
+ recipient?: Recipient;
10
+ onClose: () => void;
11
+ onProcess: (task: Promise<BridgeReview>) => void;
12
+ }
13
+ export declare const Payment: (({ connector, recipient, token: need, amount: needAmount, onProcess, onClose }: PaymentProps) => import("react/jsx-runtime").JSX.Element) & {
14
+ displayName: string;
15
+ };
16
+ export {};
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { observer } from "mobx-react-lite";
3
+ import { useEffect } from "react";
4
+ import { openBridge, openConnector } from "../router";
5
+ import { Recipient } from "../../core/recipient";
6
+ import { Network } from "../../core/chains";
7
+ import Popup from "../Popup";
8
+ import { TokenCard } from "./TokenCard";
9
+ import { PopupOption, PopupOptionInfo } from "../styles";
10
+ import { WalletIcon } from "../icons/wallet";
11
+ export const Payment = observer(({ connector, recipient, token: need, amount: needAmount, onProcess, onClose }) => {
12
+ const title = `Need ${need.readable(needAmount)} ${need.symbol}`;
13
+ const selectToken = async (from, wallet) => {
14
+ onProcess(openBridge(connector, {
15
+ sender: wallet,
16
+ autoClose: true,
17
+ type: "exactOut",
18
+ recipient: recipient || Recipient.fromWallet(connector.priorityWallet),
19
+ readonlyTo: recipient ? true : false,
20
+ amount: need.float(needAmount),
21
+ readonlyAmount: true,
22
+ title: title,
23
+ from: from,
24
+ to: need,
25
+ }));
26
+ };
27
+ useEffect(() => {
28
+ if (connector.wallets.length !== 0)
29
+ return;
30
+ openConnector(connector);
31
+ }, [connector.wallets.length, connector]);
32
+ return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: [connector.walletsTokens.map(({ token, wallet, balance }) => {
33
+ if (token.id === need.id)
34
+ return null;
35
+ const availableBalance = token.float(balance) - token.reserve;
36
+ if (need.originalChain === Network.Gonka || need.originalChain === Network.Juno) {
37
+ if (token.id === need.id)
38
+ return null;
39
+ if (token.originalAddress !== need.originalAddress)
40
+ return null;
41
+ if (availableBalance < need.float(needAmount))
42
+ return null;
43
+ return _jsx(TokenCard, { token: token, onSelect: selectToken, hot: connector, wallet: wallet }, token.id);
44
+ }
45
+ if (availableBalance * token.usd <= need.usd * need.float(needAmount))
46
+ return null;
47
+ return _jsx(TokenCard, { token: token, onSelect: selectToken, hot: connector, wallet: wallet }, token.id);
48
+ }), _jsxs(PopupOption, { onClick: () => openConnector(connector), children: [_jsx("div", { style: { width: 44, height: 44, borderRadius: 16, background: "#000", display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx(WalletIcon, {}) }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { children: "Connect wallet" }), _jsx("span", { className: "wallet-address", children: "To more pay options" })] })] })] }));
49
+ });
50
+ //# sourceMappingURL=Payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payment.js","sourceRoot":"","sources":["../../../src/ui/payment/Payment.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { HotConnector } from "../../HotConnector";
2
+ export declare const Loader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const Profile: (({ hot, onClose }: {
4
+ hot: HotConnector;
5
+ onClose: () => void;
6
+ }) => import("react/jsx-runtime").JSX.Element) & {
7
+ displayName: string;
8
+ };