@hot-labs/kit 1.3.3 → 1.4.0

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 (181) hide show
  1. package/build/HotConnector.d.ts +9 -13
  2. package/build/HotConnector.js +17 -57
  3. package/build/HotConnector.js.map +1 -1
  4. package/build/activity.d.ts +1 -1
  5. package/build/activity.js +8 -8
  6. package/build/activity.js.map +1 -1
  7. package/build/core/Intents.d.ts +3 -2
  8. package/build/core/Intents.js +11 -1
  9. package/build/core/Intents.js.map +1 -1
  10. package/build/{OmniConnector.d.ts → core/OmniConnector.d.ts} +4 -4
  11. package/build/{OmniConnector.js → core/OmniConnector.js} +2 -2
  12. package/build/core/OmniConnector.js.map +1 -0
  13. package/build/{OmniWallet.d.ts → core/OmniWallet.d.ts} +19 -13
  14. package/build/core/OmniWallet.js +97 -0
  15. package/build/core/OmniWallet.js.map +1 -0
  16. package/build/core/chains.d.ts +1 -1
  17. package/build/core/chains.js +5 -5
  18. package/build/core/chains.js.map +1 -1
  19. package/build/{exchange.d.ts → core/exchange.d.ts} +13 -16
  20. package/build/{exchange.js → core/exchange.js} +76 -80
  21. package/build/core/exchange.js.map +1 -0
  22. package/build/core/index.d.ts +1 -1
  23. package/build/core/index.js +1 -1
  24. package/build/core/index.js.map +1 -1
  25. package/build/core/recipient.d.ts +1 -1
  26. package/build/core/telemetry.d.ts +3 -0
  27. package/build/core/telemetry.js.map +1 -1
  28. package/build/core/token.js +3 -3
  29. package/build/core/token.js.map +1 -1
  30. package/build/core/tokens.js +1 -1
  31. package/build/core/tokens.js.map +1 -1
  32. package/build/core/utils.d.ts +1 -0
  33. package/build/core/utils.js +19 -0
  34. package/build/core/utils.js.map +1 -1
  35. package/build/cosmos/connector.d.ts +2 -2
  36. package/build/cosmos/connector.js +2 -2
  37. package/build/cosmos/connector.js.map +1 -1
  38. package/build/cosmos/wallet.d.ts +2 -2
  39. package/build/cosmos/wallet.js +7 -10
  40. package/build/cosmos/wallet.js.map +1 -1
  41. package/build/defaults.d.ts +1 -1
  42. package/build/defaults.js +2 -2
  43. package/build/defaults.js.map +1 -1
  44. package/build/evm/connector.d.ts +4 -4
  45. package/build/evm/connector.js +10 -4
  46. package/build/evm/connector.js.map +1 -1
  47. package/build/evm/wallet.d.ts +5 -5
  48. package/build/evm/wallet.js +24 -23
  49. package/build/evm/wallet.js.map +1 -1
  50. package/build/hot-wallet/google.d.ts +2 -2
  51. package/build/hot-wallet/google.js +4 -4
  52. package/build/hot-wallet/google.js.map +1 -1
  53. package/build/index.d.ts +2 -2
  54. package/build/index.js +2 -2
  55. package/build/index.js.map +1 -1
  56. package/build/near/connector.d.ts +2 -2
  57. package/build/near/connector.js +1 -1
  58. package/build/near/connector.js.map +1 -1
  59. package/build/near/index.d.ts +1 -1
  60. package/build/near/index.js.map +1 -1
  61. package/build/near/standalone.d.ts +2 -0
  62. package/build/near/standalone.js +42 -0
  63. package/build/near/standalone.js.map +1 -0
  64. package/build/near/wallet.d.ts +3 -2
  65. package/build/near/wallet.js +21 -12
  66. package/build/near/wallet.js.map +1 -1
  67. package/build/solana/connector.d.ts +4 -4
  68. package/build/solana/connector.js +11 -4
  69. package/build/solana/connector.js.map +1 -1
  70. package/build/solana/wallet.d.ts +3 -3
  71. package/build/solana/wallet.js +14 -11
  72. package/build/solana/wallet.js.map +1 -1
  73. package/build/stellar/connector.d.ts +2 -2
  74. package/build/stellar/connector.js +3 -2
  75. package/build/stellar/connector.js.map +1 -1
  76. package/build/stellar/wallet.d.ts +3 -3
  77. package/build/stellar/wallet.js +27 -19
  78. package/build/stellar/wallet.js.map +1 -1
  79. package/build/ton/connector.d.ts +2 -2
  80. package/build/ton/connector.js +2 -2
  81. package/build/ton/connector.js.map +1 -1
  82. package/build/ton/wallet.d.ts +3 -3
  83. package/build/ton/wallet.js +26 -17
  84. package/build/ton/wallet.js.map +1 -1
  85. package/build/tron/connector.d.ts +2 -2
  86. package/build/tron/connector.js +1 -1
  87. package/build/tron/connector.js.map +1 -1
  88. package/build/tron/wallet.d.ts +2 -2
  89. package/build/tron/wallet.js +9 -15
  90. package/build/tron/wallet.js.map +1 -1
  91. package/build/ui/bridge/Bridge.d.ts +2 -2
  92. package/build/ui/bridge/Bridge.js +13 -11
  93. package/build/ui/bridge/Bridge.js.map +1 -1
  94. package/build/ui/bridge/SelectRecipient.d.ts +3 -3
  95. package/build/ui/bridge/SelectRecipient.js +5 -5
  96. package/build/ui/bridge/SelectRecipient.js.map +1 -1
  97. package/build/ui/bridge/SelectSender.d.ts +1 -1
  98. package/build/ui/bridge/SelectSender.js +1 -1
  99. package/build/ui/bridge/SelectSender.js.map +1 -1
  100. package/build/ui/bridge/SelectToken.d.ts +1 -1
  101. package/build/ui/bridge/SelectToken.js +2 -2
  102. package/build/ui/bridge/SelectToken.js.map +1 -1
  103. package/build/ui/bridge/TokenCard.d.ts +1 -1
  104. package/build/ui/connect/AuthPopup.d.ts +1 -1
  105. package/build/ui/connect/ConnectWallet.d.ts +1 -1
  106. package/build/ui/connect/ConnectWallet.js +1 -1
  107. package/build/ui/connect/ConnectWallet.js.map +1 -1
  108. package/build/ui/connect/LogoutPopup.d.ts +1 -1
  109. package/build/ui/connect/WCPopup.js +1 -1
  110. package/build/ui/connect/WCPopup.js.map +1 -1
  111. package/build/ui/connect/WalletPicker.d.ts +2 -2
  112. package/build/ui/profile/DepositQR.d.ts +1 -1
  113. package/build/ui/profile/Payment.d.ts +1 -1
  114. package/build/ui/profile/Payment.js +8 -8
  115. package/build/ui/profile/Payment.js.map +1 -1
  116. package/build/ui/profile/Profile.js.map +1 -1
  117. package/build/ui/router.d.ts +3 -3
  118. package/examples-node/package.json +17 -0
  119. package/examples-node/transfer.ts +12 -10
  120. package/examples-node/withdraw.ts +52 -0
  121. package/examples-node/yarn.lock +2691 -0
  122. package/package.json +1 -1
  123. package/src/HotConnector.ts +16 -60
  124. package/src/activity.ts +9 -9
  125. package/src/core/Intents.ts +14 -3
  126. package/src/{OmniConnector.ts → core/OmniConnector.ts} +4 -6
  127. package/src/core/OmniWallet.ts +125 -0
  128. package/src/core/chains.ts +5 -5
  129. package/src/{exchange.ts → core/exchange.ts} +79 -85
  130. package/src/core/index.ts +1 -1
  131. package/src/core/recipient.ts +1 -1
  132. package/src/core/telemetry.ts +4 -0
  133. package/src/core/token.ts +3 -3
  134. package/src/core/tokens.ts +1 -1
  135. package/src/core/utils.ts +16 -0
  136. package/src/cosmos/connector.ts +3 -3
  137. package/src/cosmos/wallet.ts +8 -11
  138. package/src/defaults.ts +2 -2
  139. package/src/evm/connector.ts +12 -6
  140. package/src/evm/wallet.ts +24 -25
  141. package/src/hot-wallet/google.ts +5 -5
  142. package/src/index.ts +2 -2
  143. package/src/near/connector.ts +2 -2
  144. package/src/near/index.ts +2 -1
  145. package/src/near/standalone.ts +52 -0
  146. package/src/near/wallet.ts +21 -15
  147. package/src/solana/connector.ts +15 -6
  148. package/src/solana/wallet.ts +12 -12
  149. package/src/stellar/connector.ts +5 -4
  150. package/src/stellar/wallet.ts +28 -22
  151. package/src/ton/connector.ts +4 -3
  152. package/src/ton/wallet.ts +24 -18
  153. package/src/tron/connector.ts +2 -2
  154. package/src/tron/wallet.ts +9 -19
  155. package/src/ui/bridge/Bridge.tsx +16 -14
  156. package/src/ui/bridge/SelectRecipient.tsx +8 -8
  157. package/src/ui/bridge/SelectSender.tsx +2 -2
  158. package/src/ui/bridge/SelectToken.tsx +3 -3
  159. package/src/ui/bridge/TokenCard.tsx +1 -1
  160. package/src/ui/connect/AuthPopup.tsx +1 -1
  161. package/src/ui/connect/ConnectWallet.tsx +2 -2
  162. package/src/ui/connect/LogoutPopup.tsx +1 -1
  163. package/src/ui/connect/WCPopup.tsx +1 -1
  164. package/src/ui/connect/WalletPicker.tsx +2 -2
  165. package/src/ui/profile/DepositQR.tsx +1 -1
  166. package/src/ui/profile/Payment.tsx +12 -13
  167. package/src/ui/profile/Profile.tsx +1 -2
  168. package/src/ui/router.tsx +3 -3
  169. package/build/OmniConnector.js.map +0 -1
  170. package/build/OmniWallet.js +0 -61
  171. package/build/OmniWallet.js.map +0 -1
  172. package/build/core/signer.d.ts +0 -51
  173. package/build/core/signer.js +0 -99
  174. package/build/core/signer.js.map +0 -1
  175. package/build/exchange.js.map +0 -1
  176. package/build/ui/utils.d.ts +0 -1
  177. package/build/ui/utils.js +0 -20
  178. package/build/ui/utils.js.map +0 -1
  179. package/src/OmniWallet.ts +0 -85
  180. package/src/core/signer.ts +0 -116
  181. package/src/ui/utils.ts +0 -14
@@ -1,13 +1,12 @@
1
1
  import { base58, base64, hex } from "@scure/base";
2
2
 
3
+ import type { OmniConnector } from "../core/OmniConnector";
4
+ import { OmniWallet } from "../core/OmniWallet";
3
5
  import { Network, WalletType } from "../core/chains";
4
6
  import { ReviewFee } from "../core/bridge";
5
7
  import { Token } from "../core/token";
6
8
  import { Commitment } from "../core";
7
9
 
8
- import type { OmniConnector } from "../OmniConnector";
9
- import { OmniWallet } from "../OmniWallet";
10
-
11
10
  interface TronWebLike {
12
11
  ready?: boolean;
13
12
  defaultAddress?: { base58?: string; hex?: string };
@@ -58,33 +57,24 @@ class TronWallet extends OmniWallet {
58
57
  }
59
58
 
60
59
  async fetchBalance(chain: number, address: string): Promise<bigint> {
61
- if (chain !== Network.Tron) throw "Invalid chain";
60
+ if (chain !== Network.Tron) return super.fetchBalance(chain, address);
62
61
  if (!this.tronWeb.trx) throw new Error("TronLink not available");
63
62
 
64
63
  if (address === "native") {
65
64
  const balance = await this.tronWeb.trx.getBalance?.(this.address);
66
- return BigInt(balance || 0);
65
+ return this.setBalance(`${chain}:${address}`, BigInt(balance || 0));
67
66
  }
68
67
 
69
- return await this.trc20Balance(address);
68
+ return this.setBalance(`${chain}:${address}`, await this.trc20Balance(address));
70
69
  }
71
70
 
72
71
  async fetchBalances(chain: number, whitelist: string[]): Promise<Record<string, bigint>> {
73
- const native = await this.fetchBalance(chain, "native");
74
-
72
+ if (chain === Network.Omni) return await super.fetchBalances(chain, whitelist);
75
73
  try {
76
- const res = await fetch(`https://api0.herewallet.app/api/v1/user/balances/${chain}/${this.address}`, { body: JSON.stringify({ whitelist, chain_id: chain }), method: "POST" });
77
- if (!res.ok) throw new Error("Failed to fetch balances");
78
- const { balances } = await res.json();
79
- return { ...balances, native };
74
+ return await super.fetchBalances(chain, whitelist);
80
75
  } catch {
81
- const balances = await Promise.all(
82
- whitelist.map(async (token) => {
83
- const balance = await this.fetchBalance(chain, token);
84
- return [token, balance] as const;
85
- })
86
- );
87
- return { ...Object.fromEntries(balances), native };
76
+ const tasks = whitelist.map(async (token) => [token, await this.fetchBalance(chain, token)]);
77
+ return Object.fromEntries(await Promise.all(tasks));
88
78
  }
89
79
  }
90
80
 
@@ -7,27 +7,27 @@ import RefreshIcon from "../icons/refresh";
7
7
  import { ArrowRightIcon } from "../icons/arrow-right";
8
8
 
9
9
  import { HotConnector } from "../../HotConnector";
10
- import { BridgeReview } from "../../exchange";
11
- import { OmniWallet } from "../../OmniWallet";
10
+ import { BridgeReview } from "../../core/exchange";
11
+ import { OmniWallet } from "../../core/OmniWallet";
12
12
 
13
+ import { chains, WalletType } from "../../core/chains";
14
+ import { Recipient } from "../../core/recipient";
13
15
  import { formatter } from "../../core/utils";
14
16
  import { tokens } from "../../core/tokens";
15
- import { Recipient } from "../../core/recipient";
16
- import { chains, WalletType } from "../../core/chains";
17
17
  import { Token } from "../../core/token";
18
18
 
19
+ import { ActionButton, Button } from "../uikit/button";
20
+ import { PLarge, PSmall, PTiny } from "../uikit/text";
21
+ import { Skeleton } from "../uikit/loader";
22
+ import { ImageView } from "../uikit/image";
23
+ import ExchangeIcon from "../icons/exchange";
24
+
19
25
  import Popup from "../Popup";
20
26
  import { PopupButton } from "../styles";
21
- import DepositQR from "../profile/DepositQR";
22
27
  import { openSelectRecipient, openSelectSender, openSelectTokenPopup, openWalletPicker } from "../router";
28
+ import DepositQR from "../profile/DepositQR";
23
29
  import { TokenIcon } from "./TokenCard";
24
30
 
25
- import { PLarge, PMedium, PSmall, PTiny } from "../uikit/text";
26
- import { Skeleton } from "../uikit/loader";
27
- import { ImageView } from "../uikit/image";
28
- import ExchangeIcon from "../icons/exchange";
29
- import { ActionButton, Button } from "../uikit/button";
30
-
31
31
  const animations = {
32
32
  success: "https://hex.exchange/success.json",
33
33
  failed: "https://hex.exchange/error.json",
@@ -161,7 +161,8 @@ export const Bridge = observer(({ hot, widget, setup, onClose, onProcess, onSele
161
161
  try {
162
162
  if (currentReviewId !== reviewId.current) return;
163
163
  const amount = type === "exactIn" ? from.int(valueInTokens) : to.int(valueInTokens);
164
- const review = await hot.exchange.reviewSwap({ sender, refund, amount, recipient, slippage: 0.005, type, from, to });
164
+ const recipientWallet = hot.wallets.find((w) => w.address === recipient?.address && w.type === recipient?.type) || recipient;
165
+ const review = await hot.exchange.reviewSwap({ recipient: recipientWallet, slippage: 0.005, sender, refund, amount, type, from, to });
165
166
  if (currentReviewId !== reviewId.current) return;
166
167
  setIsReviewing(false);
167
168
  setIsError(null);
@@ -185,10 +186,11 @@ export const Bridge = observer(({ hot, widget, setup, onClose, onProcess, onSele
185
186
  const process = async (review: BridgeReview) => {
186
187
  try {
187
188
  const log = (message: string) => setProcessing({ status: "processing", message, review });
188
- hot.hotBridge.logger = { log, warn: console.warn };
189
+ hot.exchange.bridge.logger = { log, warn: console.warn };
189
190
  log("Signing transaction");
190
191
 
191
- const result = await hot.exchange.makeSwap(review, { log });
192
+ review.logger = { log };
193
+ const result = await hot.exchange.makeSwap(review);
192
194
  let resultReview = result.review;
193
195
 
194
196
  if (result.processing) {
@@ -4,23 +4,23 @@ import { useState } from "react";
4
4
 
5
5
  import { ArrowRightIcon } from "../icons/arrow-right";
6
6
 
7
+ import { Recipient } from "../../core/recipient";
8
+ import { WalletType } from "../../core/chains";
9
+ import { formatter } from "../../core/utils";
10
+
11
+ import { PSmall } from "../uikit/text";
7
12
  import { ImageView } from "../uikit/image";
13
+ import { ConnectorType, OmniConnector } from "../../core/OmniConnector";
8
14
  import { PopupOption, PopupOptionInfo } from "../styles";
9
- import { ConnectorType, OmniConnector } from "../../OmniConnector";
10
15
  import { HotConnector } from "../../HotConnector";
11
16
  import { openWalletPicker } from "../router";
12
17
  import Popup from "../Popup";
13
18
 
14
- import { Recipient } from "../../core/recipient";
15
- import { WalletType } from "../../core/chains";
16
- import { formatter } from "../../core/utils";
17
- import { PSmall } from "../uikit/text";
18
-
19
19
  interface SelectRecipientProps {
20
- recipient?: Recipient;
21
20
  type: WalletType;
22
- onSelect: (recipient?: Recipient) => void;
23
21
  hot: HotConnector;
22
+ recipient?: Recipient;
23
+ onSelect: (recipient?: Recipient) => void;
24
24
  onClose: () => void;
25
25
  }
26
26
 
@@ -4,9 +4,9 @@ import { QRIcon } from "../icons/qr";
4
4
  import { ArrowRightIcon } from "../icons/arrow-right";
5
5
  import { PopupOption, PopupOptionInfo } from "../styles";
6
6
 
7
- import { ConnectorType, OmniConnector } from "../../OmniConnector";
7
+ import { ConnectorType, OmniConnector } from "../../core/OmniConnector";
8
8
  import { HotConnector } from "../../HotConnector";
9
- import { OmniWallet } from "../../OmniWallet";
9
+ import { OmniWallet } from "../../core/OmniWallet";
10
10
  import { ImageView } from "../uikit/image";
11
11
 
12
12
  import { WalletType } from "../../core/chains";
@@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite";
3
3
  import styled from "styled-components";
4
4
 
5
5
  import { HotConnector } from "../../HotConnector";
6
- import { OmniWallet } from "../../OmniWallet";
6
+ import { OmniWallet } from "../../core/OmniWallet";
7
7
 
8
8
  import { Network, OmniToken } from "../../core/chains";
9
9
  import { formatter } from "../../core/utils";
@@ -44,7 +44,7 @@ export const SelectTokenPopup = observer(({ hot, initialChain, onClose, onSelect
44
44
  });
45
45
 
46
46
  const sorted = Object.values(chains).sort((a, b) => {
47
- if (a.chain === Network.Hot) return -1;
47
+ if (a.chain === Network.Omni) return -1;
48
48
  return b.balance - a.balance;
49
49
  });
50
50
 
@@ -95,7 +95,7 @@ export const SelectTokenPopup = observer(({ hot, initialChain, onClose, onSelect
95
95
  <SearchInput type="text" placeholder="Search token" onChange={(e) => setSearch(e.target.value)} />
96
96
  {hot.walletsTokens
97
97
  .filter(({ token, balance }) => {
98
- if (token.chain !== Network.Hot) return false;
98
+ if (token.chain !== Network.Omni) return false;
99
99
  if (token.float(balance) < 0.0001) return false;
100
100
  if (!token.symbol.toLowerCase().includes(search.toLowerCase())) return false;
101
101
  used.add(token.address);
@@ -6,7 +6,7 @@ import { formatter } from "../../core/utils";
6
6
  import { Token } from "../../core/token";
7
7
 
8
8
  import { HotConnector } from "../../HotConnector";
9
- import { OmniWallet } from "../../OmniWallet";
9
+ import { OmniWallet } from "../../core/OmniWallet";
10
10
  import { ImageView } from "../uikit/image";
11
11
 
12
12
  export const TokenIcon = observer(({ token, wallet, withoutChain, size = 40 }: { token: Token; wallet?: OmniWallet; withoutChain?: boolean; size?: number }) => {
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react";
2
- import { OmniWallet } from "../../OmniWallet";
2
+ import { OmniWallet } from "../../core/OmniWallet";
3
3
  import Popup, { present } from "../Popup";
4
4
  import { PopupButton } from "../styles";
5
5
 
@@ -1,8 +1,8 @@
1
1
  import { observer } from "mobx-react-lite";
2
2
 
3
- import { OmniWallet } from "../../OmniWallet";
3
+ import { OmniWallet } from "../../core/OmniWallet";
4
4
  import { HotConnector } from "../../HotConnector";
5
- import { ConnectorType, OmniConnector } from "../../OmniConnector";
5
+ import { ConnectorType, OmniConnector } from "../../core/OmniConnector";
6
6
 
7
7
  import { formatter } from "../../core/utils";
8
8
  import { WalletType } from "../../core";
@@ -1,7 +1,7 @@
1
1
  import { observer } from "mobx-react-lite";
2
2
 
3
3
  import Popup from "../Popup";
4
- import { OmniConnector } from "../../OmniConnector";
4
+ import { OmniConnector } from "../../core/OmniConnector";
5
5
  import { PopupButton } from "../styles";
6
6
 
7
7
  interface LogoutPopupProps {
@@ -4,7 +4,7 @@ import QRCodeStyling from "qr-code-styling";
4
4
  import styled from "styled-components";
5
5
 
6
6
  import Popup from "../Popup";
7
- import { WC_ICON } from "../../OmniConnector";
7
+ import { WC_ICON } from "../../core/OmniConnector";
8
8
 
9
9
  interface WCPopupProps {
10
10
  title: string;
@@ -2,8 +2,8 @@ import { useState } from "react";
2
2
  import { observer } from "mobx-react-lite";
3
3
 
4
4
  import { ImageView } from "../uikit/image";
5
- import { OmniWallet } from "../../OmniWallet";
6
- import { OmniConnector, OmniConnectorOption } from "../../OmniConnector";
5
+ import { OmniWallet } from "../../core/OmniWallet";
6
+ import { OmniConnector, OmniConnectorOption } from "../../core/OmniConnector";
7
7
  import { PopupButton, PopupOption, PopupOptionInfo } from "../styles";
8
8
  import { WCPopup } from "./WCPopup";
9
9
  import Popup from "../Popup";
@@ -3,7 +3,7 @@ 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 { BridgeReview } from "../../exchange";
6
+ import { BridgeReview } from "../../core/exchange";
7
7
  import { PopupButton } from "../styles";
8
8
 
9
9
  const DepositQR = observer(({ review, onConfirm, onCancel }: { review: BridgeReview; onConfirm: () => void; onCancel: () => void }) => {
@@ -5,22 +5,20 @@ import styled from "styled-components";
5
5
  import { WalletIcon } from "../icons/wallet";
6
6
  import { PopupOption, PopupOptionInfo } from "../styles";
7
7
  import { Commitment, Intents } from "../../core";
8
- import { Recipient } from "../../core/recipient";
9
8
  import { Token } from "../../core/token";
10
9
 
11
- import { TokenCard } from "../bridge/TokenCard";
12
- import { BridgeReview } from "../../exchange";
13
- import { openConnector } from "../router";
10
+ import { BridgeReview } from "../../core/exchange";
11
+ import { OmniWallet } from "../../core/OmniWallet";
12
+ import { formatter } from "../../core/utils";
14
13
 
15
- import { OmniWallet } from "../../OmniWallet";
14
+ import { openConnector } from "../router";
15
+ import { TokenCard } from "../bridge/TokenCard";
16
16
  import { HotConnector } from "../../HotConnector";
17
- import Popup from "../Popup";
18
-
19
- import { Loader } from "../uikit/loader";
20
17
  import { HorizontalStepper } from "../uikit/Stepper";
21
18
  import { ActionButton } from "../uikit/button";
22
19
  import { H6, PSmall } from "../uikit/text";
23
- import { serializeError } from "../utils";
20
+ import { Loader } from "../uikit/loader";
21
+ import Popup from "../Popup";
24
22
 
25
23
  interface PaymentProps {
26
24
  onReject: (message: string) => void;
@@ -78,7 +76,7 @@ export const Payment = observer(({ connector, intents, title = "Payment", allowe
78
76
  const insurance = (needAmount * BigInt(Math.floor(PAY_SLIPPAGE * 1000))) / BigInt(1000);
79
77
  const extra = connector.exchange.isDirectDeposit(from, payableToken) ? insurance : 0n;
80
78
  const review = await connector.exchange.reviewSwap({
81
- recipient: Recipient.fromWallet(intents.signer)!,
79
+ recipient: intents.signer!,
82
80
  amount: needAmount + extra,
83
81
  slippage: PAY_SLIPPAGE,
84
82
  sender: wallet,
@@ -118,7 +116,8 @@ export const Payment = observer(({ connector, intents, title = "Payment", allowe
118
116
  return;
119
117
  }
120
118
 
121
- const result = await connector.exchange.makeSwap(flow.review, { log: () => {} });
119
+ flow.review.logger = console;
120
+ const result = await connector.exchange.makeSwap(flow.review);
122
121
  await onConfirm({ depositQoute: result.review, processing: result.processing });
123
122
  setFlow({ loading: false, step: "success" });
124
123
  setTimeout(() => close(), 2000);
@@ -164,9 +163,9 @@ export const Payment = observer(({ connector, intents, title = "Payment", allowe
164
163
  {/* @ts-expect-error: dotlottie-wc is not typed */}
165
164
  <dotlottie-wc key="error" src={animations.failed} speed="1" style={{ width: 300, height: 300 }} mode="forward" loop autoplay></dotlottie-wc>
166
165
  <p style={{ fontSize: 24, marginTop: -32, fontWeight: "bold" }}>Transaction failed</p>
167
- <p style={{ fontSize: 14, width: "80%", textAlign: "center", overflowY: "auto", lineBreak: "anywhere" }}>{serializeError(flow.error)}</p>
166
+ <p style={{ fontSize: 14, width: "80%", textAlign: "center", overflowY: "auto", lineBreak: "anywhere" }}>{formatter.serializeError(flow.error)}</p>
168
167
  </div>
169
- <ActionButton onClick={() => onReject(serializeError(flow.error))}>Close</ActionButton>
168
+ <ActionButton onClick={() => onReject(formatter.serializeError(flow.error))}>Close</ActionButton>
170
169
  </Popup>
171
170
  );
172
171
  }
@@ -10,9 +10,8 @@ import { formatter } from "../../core/utils";
10
10
  import { OmniToken } from "../../core/chains";
11
11
  import { tokens } from "../../core/tokens";
12
12
 
13
- import { openBridge, openConnector } from "../router";
14
13
  import { HotConnector } from "../../HotConnector";
15
-
14
+ import { openBridge, openConnector } from "../router";
16
15
  import { TokenCard, TokenIcon } from "../bridge/TokenCard";
17
16
  import { ImageView } from "../uikit/image";
18
17
  import { Loader } from "../uikit/loader";
package/src/ui/router.tsx CHANGED
@@ -1,8 +1,8 @@
1
1
  import { HotConnector } from "../HotConnector";
2
- import { OmniConnector } from "../OmniConnector";
3
- import { OmniWallet } from "../OmniWallet";
2
+ import { OmniConnector } from "../core/OmniConnector";
3
+ import { OmniWallet } from "../core/OmniWallet";
4
4
 
5
- import { BridgeReview } from "../exchange";
5
+ import { BridgeReview } from "../core/exchange";
6
6
  import { WalletType } from "../core/chains";
7
7
  import { Recipient } from "../core/recipient";
8
8
  import { Intents } from "../core/Intents";
@@ -1 +0,0 @@
1
- {"version":3,"file":"OmniConnector.js","sourceRoot":"","sources":["../src/OmniConnector.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- import { hex } from "@scure/base";
2
- import { Intents } from "./core/Intents";
3
- import { ReviewFee } from "./core/bridge";
4
- import { api } from "./core/api";
5
- export class OmniWallet {
6
- async depositNfts(nftIds, receiver) {
7
- // TODO
8
- }
9
- async withdrawNfts(nftIds, receiver) {
10
- // TODO
11
- }
12
- async getDepositNftsFee(nfts) {
13
- return new ReviewFee({ chain: -4 });
14
- }
15
- async transferNft(nftId, receiver) {
16
- // TODO
17
- }
18
- async getTranferNftFee(nftId, receiver) {
19
- return new ReviewFee({ chain: -4 });
20
- }
21
- async getNfts(onLoad) {
22
- // TODO
23
- }
24
- async auth(intents, options) {
25
- const authFn = async () => {
26
- const seed = hex.encode(new Uint8Array(window.crypto.getRandomValues(new Uint8Array(32))));
27
- const msgBuffer = new TextEncoder().encode(`${options?.domain || window.location.origin}_${seed}`);
28
- const nonce = await window.crypto.subtle.digest("SHA-256", new Uint8Array(msgBuffer));
29
- const signed = await this.signIntents(intents || [], { nonce: new Uint8Array(nonce), signerId: options?.signerId || this.omniAddress });
30
- if (options?.customAuth)
31
- return await options.customAuth(signed, seed);
32
- return (await api.auth(signed, seed));
33
- };
34
- if (typeof window === "undefined")
35
- return await authFn();
36
- const { openAuthPopup } = await import("./ui/connect/AuthPopup");
37
- return openAuthPopup(this, authFn);
38
- }
39
- async waitUntilBalance(need, receiver = this.omniAddress, attempts = 0) {
40
- if (attempts > 120)
41
- throw "Balance is not enough";
42
- const assets = Object.keys(need);
43
- const balances = await Intents.getIntentsBalances(assets, receiver);
44
- if (assets.every((asset) => (balances[asset] || 0n) >= (need[asset] || 0n)))
45
- return;
46
- await new Promise((resolve) => setTimeout(resolve, 1000));
47
- await this.waitUntilBalance(need, receiver, attempts + 1);
48
- }
49
- async getIntentsBalance(asset, receiver) {
50
- const balances = await Intents.getIntentsBalances([asset], receiver);
51
- return balances[asset] || 0n;
52
- }
53
- async getAssets() {
54
- if (!this.omniAddress)
55
- return {};
56
- const assets = await Intents.getIntentsAssets(this.omniAddress);
57
- const balances = await Intents.getIntentsBalances(assets, this.omniAddress);
58
- return balances;
59
- }
60
- }
61
- //# sourceMappingURL=OmniWallet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OmniWallet.js","sourceRoot":"","sources":["../src/OmniWallet.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { Commitment } from "./types";
2
- import { WalletType } from "./chains";
3
- import { OmniWallet } from "../OmniWallet";
4
- import { ReviewFee } from "@hot-labs/omni-sdk";
5
- import { Token } from "./token";
6
- export declare class Secp256k1Wallet extends OmniWallet {
7
- readonly privateKey: Buffer;
8
- readonly address: string;
9
- readonly publicKey: string;
10
- readonly omniAddress: string;
11
- readonly type = WalletType.EVM;
12
- readonly icon = "";
13
- constructor(privateKey: Buffer);
14
- transferFee(token: Token, receiver: string, amount: bigint): Promise<ReviewFee>;
15
- transfer(args: {
16
- token: Token;
17
- receiver: string;
18
- amount: bigint;
19
- comment?: string;
20
- gasFee?: ReviewFee;
21
- }): Promise<string>;
22
- fetchBalance(chain: number, address: string): Promise<bigint>;
23
- fetchBalances(chain?: number, whitelist?: string[]): Promise<Record<string, bigint>>;
24
- signIntents(intents: Record<string, any>[], options?: {
25
- deadline?: number;
26
- nonce?: Uint8Array;
27
- }): Promise<Commitment>;
28
- }
29
- export declare class Ed25519Wallet extends OmniWallet {
30
- readonly privateKey: Buffer;
31
- readonly omniAddress: string;
32
- readonly publicKey: string;
33
- readonly address: string;
34
- readonly type = WalletType.EVM;
35
- readonly icon = "";
36
- constructor(privateKey: Buffer, signerId?: string);
37
- transferFee(token: Token, receiver: string, amount: bigint): Promise<ReviewFee>;
38
- transfer(args: {
39
- token: Token;
40
- receiver: string;
41
- amount: bigint;
42
- comment?: string;
43
- gasFee?: ReviewFee;
44
- }): Promise<string>;
45
- fetchBalance(chain: number, address: string): Promise<bigint>;
46
- fetchBalances(chain?: number, whitelist?: string[]): Promise<Record<string, bigint>>;
47
- signIntents(intents: Record<string, any>[], options?: {
48
- deadline?: number;
49
- nonce?: Uint8Array;
50
- }): Promise<Commitment>;
51
- }
@@ -1,99 +0,0 @@
1
- import { base58, base64, hex } from "@scure/base";
2
- import { sign as signSecp256k1, getPublicKey as getPublicKeySecp256k1 } from "@noble/secp256k1";
3
- import { sha512 } from "@noble/hashes/sha2.js";
4
- import * as ed from "@noble/ed25519";
5
- import crypto from "crypto";
6
- ed.utils.sha512Sync = sha512;
7
- import { WalletType } from "./chains";
8
- import { OmniWallet } from "../OmniWallet";
9
- export class Secp256k1Wallet extends OmniWallet {
10
- privateKey;
11
- address;
12
- publicKey;
13
- omniAddress;
14
- type = WalletType.EVM;
15
- icon = "";
16
- constructor(privateKey) {
17
- super();
18
- this.privateKey = privateKey;
19
- this.publicKey = hex.encode(Buffer.from(getPublicKeySecp256k1(privateKey)));
20
- this.omniAddress = this.publicKey.toLowerCase();
21
- this.address = this.omniAddress;
22
- }
23
- transferFee(token, receiver, amount) {
24
- throw new Error("Method not implemented.");
25
- }
26
- transfer(args) {
27
- throw new Error("Method not implemented.");
28
- }
29
- fetchBalance(chain, address) {
30
- throw new Error("Method not implemented.");
31
- }
32
- fetchBalances(chain, whitelist) {
33
- throw new Error("Method not implemented.");
34
- }
35
- async signIntents(intents, options) {
36
- const nonce = new Uint8Array(options?.nonce || crypto.randomBytes(32));
37
- const message = JSON.stringify({
38
- deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
39
- verifying_contract: "intents.near",
40
- signer_id: this.omniAddress,
41
- nonce: base64.encode(nonce),
42
- intents: intents,
43
- });
44
- const messageBytes = hex.encode(Buffer.from(message, "utf8"));
45
- const signature = await signSecp256k1(messageBytes, this.privateKey);
46
- return {
47
- signature: `secp256k1:${base58.encode(signature)}`,
48
- standard: "raw_secp256k1",
49
- payload: message,
50
- };
51
- }
52
- }
53
- export class Ed25519Wallet extends OmniWallet {
54
- privateKey;
55
- omniAddress;
56
- publicKey;
57
- address;
58
- type = WalletType.EVM;
59
- icon = "";
60
- constructor(privateKey, signerId) {
61
- super();
62
- this.privateKey = privateKey.slice(0, 32);
63
- const publicKey = Buffer.from(ed.sync.getPublicKey(this.privateKey));
64
- this.omniAddress = signerId || hex.encode(publicKey);
65
- this.publicKey = base58.encode(publicKey);
66
- this.address = this.publicKey;
67
- }
68
- transferFee(token, receiver, amount) {
69
- throw new Error("Method not implemented.");
70
- }
71
- transfer(args) {
72
- throw new Error("Method not implemented.");
73
- }
74
- fetchBalance(chain, address) {
75
- throw new Error("Method not implemented.");
76
- }
77
- fetchBalances(chain, whitelist) {
78
- throw new Error("Method not implemented.");
79
- }
80
- async signIntents(intents, options) {
81
- const nonce = new Uint8Array(options?.nonce || crypto.randomBytes(32));
82
- const message = JSON.stringify({
83
- deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
84
- nonce: base64.encode(nonce),
85
- verifying_contract: "intents.near",
86
- signer_id: this.omniAddress,
87
- intents: intents,
88
- });
89
- const messageBytes = hex.encode(Buffer.from(message, "utf8"));
90
- const signature = ed.sync.sign(messageBytes, this.privateKey);
91
- return {
92
- signature: `ed25519:${base58.encode(signature)}`,
93
- public_key: `ed25519:${this.omniAddress}`,
94
- standard: "raw_ed25519",
95
- payload: message,
96
- };
97
- }
98
- }
99
- //# sourceMappingURL=signer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/core/signer.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../src/exchange.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const serializeError: (error: any) => string;