@hot-labs/kit 1.0.40 → 1.0.43
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/README.md +23 -10
- package/build/HotConnector.d.ts +42 -30
- package/build/HotConnector.js +50 -36
- package/build/HotConnector.js.map +1 -1
- package/build/OmniConnector.d.ts +3 -13
- package/build/OmniConnector.js +5 -7
- package/build/OmniConnector.js.map +1 -1
- package/build/OmniWallet.d.ts +4 -4
- package/build/OmniWallet.js +1 -1
- package/build/{omni → core}/Intents.d.ts +3 -1
- package/build/{omni → core}/Intents.js +4 -1
- package/build/core/Intents.js.map +1 -0
- package/build/core/bridge.d.ts +3 -0
- package/build/core/bridge.js +36 -0
- package/build/core/bridge.js.map +1 -0
- package/build/{omni/config.d.ts → core/chains.d.ts} +21 -5
- package/build/core/chains.js +372 -0
- package/build/core/chains.js.map +1 -0
- package/build/{omni → core}/defaultTokens.js.map +1 -1
- package/build/core/events.js.map +1 -0
- package/build/core/index.d.ts +10 -0
- package/build/core/index.js +11 -0
- package/build/core/index.js.map +1 -0
- package/build/{omni → core}/nearRpc.js.map +1 -1
- package/build/{omni → core}/recipient.d.ts +1 -1
- package/build/{omni → core}/recipient.js +1 -1
- package/build/{omni → core}/recipient.js.map +1 -1
- package/build/{omni → core}/token.d.ts +1 -1
- package/build/{omni → core}/token.js +7 -45
- package/build/core/token.js.map +1 -0
- package/build/{omni → core}/tokens.d.ts +1 -1
- package/build/{omni → core}/tokens.js +1 -1
- package/build/{omni → core}/tokens.js.map +1 -1
- package/build/{omni → core}/types.d.ts +1 -0
- package/build/{omni → core}/types.js.map +1 -1
- package/build/{omni → core}/utils.js.map +1 -1
- package/build/cosmos/connector.d.ts +5 -24
- package/build/cosmos/connector.js +35 -25
- package/build/cosmos/connector.js.map +1 -1
- package/build/cosmos/index.d.ts +6 -0
- package/build/cosmos/index.js +5 -0
- package/build/cosmos/index.js.map +1 -0
- package/build/cosmos/wallet.d.ts +2 -2
- package/build/cosmos/wallet.js +2 -2
- package/build/cosmos/wallet.js.map +1 -1
- package/build/defaults.d.ts +1 -0
- package/build/defaults.js +7 -0
- package/build/defaults.js.map +1 -0
- package/build/evm/connector.d.ts +3 -8
- package/build/evm/connector.js +13 -15
- package/build/evm/connector.js.map +1 -1
- package/build/evm/index.d.ts +6 -0
- package/build/evm/index.js +5 -0
- package/build/evm/index.js.map +1 -0
- package/build/{hot-wallet/evm.js → evm/injected.js} +2 -2
- package/build/evm/injected.js.map +1 -0
- package/build/evm/wallet.d.ts +3 -3
- package/build/evm/wallet.js +8 -4
- package/build/evm/wallet.js.map +1 -1
- package/build/exchange.d.ts +3 -3
- package/build/exchange.js +18 -21
- package/build/exchange.js.map +1 -1
- package/build/hot-wallet/google.d.ts +25 -0
- package/build/{GoogleConnector.js → hot-wallet/google.js} +51 -15
- package/build/hot-wallet/google.js.map +1 -0
- package/build/hot-wallet/{hot.js → iframe.js} +2 -9
- package/build/hot-wallet/{hot.js.map → iframe.js.map} +1 -1
- package/build/hot-wallet/index.d.ts +5 -4
- package/build/hot-wallet/index.js +3 -4
- package/build/hot-wallet/index.js.map +1 -1
- package/build/index.d.ts +1 -20
- package/build/index.js +1 -20
- package/build/index.js.map +1 -1
- package/build/near/connector.d.ts +2 -12
- package/build/near/connector.js +4 -4
- package/build/near/connector.js.map +1 -1
- package/build/near/index.d.ts +7 -0
- package/build/near/index.js +5 -0
- package/build/near/index.js.map +1 -0
- package/build/near/wallet.d.ts +3 -3
- package/build/near/wallet.js +3 -3
- package/build/solana/connector.d.ts +3 -4
- package/build/solana/connector.js +8 -8
- package/build/solana/connector.js.map +1 -1
- package/build/solana/index.d.ts +6 -0
- package/build/solana/index.js +5 -0
- package/build/solana/index.js.map +1 -0
- package/build/solana/injected/account.js.map +1 -0
- package/build/{hot-wallet/solana → solana/injected}/index.js +1 -1
- package/build/{hot-wallet/solana → solana/injected}/index.js.map +1 -1
- package/build/solana/injected/register.js.map +1 -0
- package/build/solana/injected/solana-wallet.js.map +1 -0
- package/build/solana/injected/utils.js.map +1 -0
- package/build/solana/wallet.d.ts +3 -3
- package/build/solana/wallet.js +3 -3
- package/build/stellar/connector.d.ts +1 -1
- package/build/stellar/connector.js +2 -2
- package/build/stellar/connector.js.map +1 -1
- package/build/stellar/index.d.ts +6 -0
- package/build/stellar/index.js +5 -0
- package/build/stellar/index.js.map +1 -0
- package/build/{hot-wallet/stellar.js → stellar/injected.js} +2 -2
- package/build/stellar/injected.js.map +1 -0
- package/build/stellar/wallet.d.ts +5 -4
- package/build/stellar/wallet.js +17 -14
- package/build/stellar/wallet.js.map +1 -1
- package/build/ton/connector.d.ts +1 -1
- package/build/ton/connector.js +2 -2
- package/build/ton/connector.js.map +1 -1
- package/build/ton/index.d.ts +7 -0
- package/build/ton/index.js +5 -0
- package/build/ton/index.js.map +1 -0
- package/build/{hot-wallet/ton.js → ton/injected.js} +2 -2
- package/build/ton/injected.js.map +1 -0
- package/build/ton/utils.js +1 -2
- package/build/ton/utils.js.map +1 -1
- package/build/ton/wallet.d.ts +3 -3
- package/build/ton/wallet.js +2 -2
- package/build/ui/connect/ConnectWallet.js +1 -1
- package/build/ui/payment/Bridge.d.ts +2 -2
- package/build/ui/payment/Bridge.js +5 -5
- package/build/ui/payment/Payment.d.ts +2 -2
- package/build/ui/payment/Payment.js +2 -2
- package/build/ui/payment/Profile.js +2 -2
- package/build/ui/payment/SelectRecipient.d.ts +2 -2
- package/build/ui/payment/SelectRecipient.js +3 -3
- package/build/ui/payment/SelectSender.d.ts +1 -1
- package/build/ui/payment/SelectSender.js +2 -2
- package/build/ui/payment/SelectToken.d.ts +1 -1
- package/build/ui/payment/SelectToken.js +3 -3
- package/build/ui/payment/TokenCard.d.ts +1 -1
- package/build/ui/payment/TokenCard.js +3 -3
- package/build/ui/payment/TokenCard.js.map +1 -1
- package/build/ui/router.d.ts +3 -3
- package/build/ui/styles.js +4 -0
- package/build/ui/styles.js.map +1 -1
- package/package.json +10 -2
- package/skill.md +174 -72
- package/src/HotConnector.ts +91 -56
- package/src/OmniConnector.ts +6 -11
- package/src/OmniWallet.ts +4 -4
- package/src/{omni → core}/Intents.ts +6 -3
- package/src/core/bridge.ts +39 -0
- package/src/core/chains.ts +391 -0
- package/src/core/index.ts +10 -0
- package/src/{omni → core}/recipient.ts +1 -1
- package/src/{omni → core}/token.ts +7 -26
- package/src/{omni → core}/tokens.ts +2 -2
- package/src/{omni → core}/types.ts +1 -0
- package/src/cosmos/connector.ts +46 -41
- package/src/cosmos/index.ts +8 -0
- package/src/cosmos/wallet.ts +3 -3
- package/src/defaults.ts +7 -0
- package/src/evm/connector.ts +18 -23
- package/src/evm/index.ts +7 -0
- package/src/{hot-wallet/evm.ts → evm/injected.ts} +1 -1
- package/src/evm/wallet.ts +10 -5
- package/src/exchange.ts +22 -25
- package/src/{GoogleConnector.ts → hot-wallet/google.ts} +60 -17
- package/src/hot-wallet/{hot.ts → iframe.ts} +1 -8
- package/src/hot-wallet/index.ts +6 -4
- package/src/index.ts +2 -25
- package/src/near/connector.ts +4 -15
- package/src/near/index.ts +9 -0
- package/src/near/wallet.ts +4 -4
- package/src/solana/connector.ts +13 -11
- package/src/solana/index.ts +7 -0
- package/src/{hot-wallet/solana → solana/injected}/index.ts +1 -1
- package/src/solana/wallet.ts +4 -4
- package/src/stellar/connector.ts +2 -2
- package/src/stellar/index.ts +7 -0
- package/src/{hot-wallet/stellar.ts → stellar/injected.ts} +1 -1
- package/src/stellar/wallet.ts +19 -15
- package/src/ton/connector.ts +2 -2
- package/src/ton/index.ts +9 -0
- package/src/{hot-wallet/ton.ts → ton/injected.ts} +1 -1
- package/src/ton/utils.ts +1 -3
- package/src/ton/wallet.ts +3 -3
- package/src/ui/connect/ConnectWallet.tsx +1 -1
- package/src/ui/payment/Bridge.tsx +6 -6
- package/src/ui/payment/Payment.tsx +3 -3
- package/src/ui/payment/Profile.tsx +3 -3
- package/src/ui/payment/SelectRecipient.tsx +3 -3
- package/src/ui/payment/SelectSender.tsx +2 -2
- package/src/ui/payment/SelectToken.tsx +4 -4
- package/src/ui/payment/TokenCard.tsx +5 -4
- package/src/ui/router.tsx +3 -3
- package/src/ui/styles.ts +4 -0
- package/build/GoogleConnector.d.ts +0 -20
- package/build/GoogleConnector.js.map +0 -1
- package/build/events.js.map +0 -1
- package/build/hot-wallet/evm.js.map +0 -1
- package/build/hot-wallet/solana/account.js.map +0 -1
- package/build/hot-wallet/solana/register.js.map +0 -1
- package/build/hot-wallet/solana/solana-wallet.js.map +0 -1
- package/build/hot-wallet/solana/utils.js.map +0 -1
- package/build/hot-wallet/stellar.js.map +0 -1
- package/build/hot-wallet/ton.js.map +0 -1
- package/build/hot-wallet/wallet.d.ts +0 -1
- package/build/hot-wallet/wallet.js +0 -40
- package/build/hot-wallet/wallet.js.map +0 -1
- package/build/omni/Intents.js.map +0 -1
- package/build/omni/bridge.d.ts +0 -3
- package/build/omni/bridge.js +0 -34
- package/build/omni/bridge.js.map +0 -1
- package/build/omni/config.js +0 -126
- package/build/omni/config.js.map +0 -1
- package/build/omni/index.d.ts +0 -8
- package/build/omni/index.js +0 -9
- package/build/omni/index.js.map +0 -1
- package/build/omni/token.js.map +0 -1
- package/build/settings.d.ts +0 -5
- package/build/settings.js +0 -6
- package/build/settings.js.map +0 -1
- package/src/hot-wallet/wallet.ts +0 -44
- package/src/omni/bridge.ts +0 -38
- package/src/omni/config.ts +0 -130
- package/src/omni/index.ts +0 -8
- package/src/settings.ts +0 -5
- /package/build/{omni → core}/defaultTokens.d.ts +0 -0
- /package/build/{omni → core}/defaultTokens.js +0 -0
- /package/build/{events.d.ts → core/events.d.ts} +0 -0
- /package/build/{events.js → core/events.js} +0 -0
- /package/build/{omni → core}/nearRpc.d.ts +0 -0
- /package/build/{omni → core}/nearRpc.js +0 -0
- /package/build/{omni → core}/types.js +0 -0
- /package/build/{omni → core}/utils.d.ts +0 -0
- /package/build/{omni → core}/utils.js +0 -0
- /package/build/{hot-wallet/evm.d.ts → evm/injected.d.ts} +0 -0
- /package/build/hot-wallet/{hot.d.ts → iframe.d.ts} +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/account.d.ts +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/account.js +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/index.d.ts +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/register.d.ts +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/register.js +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/solana-wallet.d.ts +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/solana-wallet.js +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/utils.d.ts +0 -0
- /package/build/{hot-wallet/solana → solana/injected}/utils.js +0 -0
- /package/build/{hot-wallet/stellar.d.ts → stellar/injected.d.ts} +0 -0
- /package/build/{hot-wallet/ton.d.ts → ton/injected.d.ts} +0 -0
- /package/src/{omni → core}/defaultTokens.ts +0 -0
- /package/src/{events.ts → core/events.ts} +0 -0
- /package/src/{omni → core}/nearRpc.ts +0 -0
- /package/src/{omni → core}/utils.ts +0 -0
- /package/src/{hot-wallet/solana → solana/injected}/account.ts +0 -0
- /package/src/{hot-wallet/solana → solana/injected}/register.ts +0 -0
- /package/src/{hot-wallet/solana → solana/injected}/solana-wallet.ts +0 -0
- /package/src/{hot-wallet/solana → solana/injected}/utils.ts +0 -0
package/src/cosmos/connector.ts
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Keplr } from "@keplr-wallet/provider-extension";
|
|
2
2
|
import { TxRaw } from "@keplr-wallet/proto-types/cosmos/tx/v1beta1/tx";
|
|
3
3
|
import { StargateClient } from "@cosmjs/stargate";
|
|
4
|
+
import { runInAction } from "mobx";
|
|
4
5
|
import { hex } from "@scure/base";
|
|
5
6
|
|
|
6
|
-
import { WalletType } from "../
|
|
7
|
+
import { chains, WalletType } from "../core/chains";
|
|
7
8
|
import { HotConnector } from "../HotConnector";
|
|
8
|
-
import { ConnectorType, OmniConnector,
|
|
9
|
+
import { ConnectorType, OmniConnector, WC_ICON } from "../OmniConnector";
|
|
9
10
|
import { OmniWallet } from "../OmniWallet";
|
|
10
11
|
|
|
11
12
|
import { signAndSendTx } from "./helpers";
|
|
12
13
|
import CosmosWallet from "./wallet";
|
|
13
14
|
|
|
14
|
-
export interface CosmosConnectorOptions extends OmniConnectorOptions {
|
|
15
|
-
cosmosChains?: Record<string, { chain: string; rpc: string; denom: string; prefix: string }>;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
15
|
declare global {
|
|
19
16
|
interface Window {
|
|
20
17
|
keplr?: Keplr;
|
|
@@ -42,8 +39,6 @@ const wallets = {
|
|
|
42
39
|
};
|
|
43
40
|
|
|
44
41
|
export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
45
|
-
cosmosChains: Record<string, { chain: string; rpc: string; denom: string; prefix: string }>;
|
|
46
|
-
|
|
47
42
|
type = ConnectorType.WALLET;
|
|
48
43
|
walletTypes = [WalletType.COSMOS];
|
|
49
44
|
icon = "https://legacy.cosmos.network/presskit/cosmos-brandmark-dynamic-dark.svg";
|
|
@@ -51,12 +46,12 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
51
46
|
isSupported = true;
|
|
52
47
|
id = "cosmos";
|
|
53
48
|
|
|
54
|
-
constructor(wibe3: HotConnector
|
|
55
|
-
super(wibe3
|
|
49
|
+
constructor(wibe3: HotConnector) {
|
|
50
|
+
super(wibe3);
|
|
56
51
|
|
|
57
52
|
this.options = [
|
|
58
53
|
{
|
|
59
|
-
name: "
|
|
54
|
+
name: "Keplr",
|
|
60
55
|
download: "https://www.keplr.app/get",
|
|
61
56
|
icon: "https://cdn.prod.website-files.com/667dc891bc7b863b5397495b/68a4ca95f93a9ab64dc67ab4_keplr-symbol.svg",
|
|
62
57
|
type: "keplr" in window ? "extension" : "external",
|
|
@@ -71,36 +66,45 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
71
66
|
},
|
|
72
67
|
];
|
|
73
68
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
69
|
+
Keplr.getKeplr().then((keplr) => {
|
|
70
|
+
const option = this.options.find((option) => option.id === "keplr")!;
|
|
71
|
+
runInAction(() => {
|
|
72
|
+
option.type = keplr ? "extension" : "external";
|
|
73
|
+
option.name = keplr ? "Keplr" : "Keplr Mobile";
|
|
74
|
+
});
|
|
75
|
+
});
|
|
80
76
|
|
|
81
|
-
this.getStorage().then(({ type, address, publicKey }) => {
|
|
77
|
+
this.getStorage().then(async ({ type, address, publicKey }) => {
|
|
82
78
|
if (!address || !publicKey) return;
|
|
83
|
-
|
|
79
|
+
|
|
80
|
+
if (type === "keplr") {
|
|
81
|
+
const keplr = await Keplr.getKeplr();
|
|
82
|
+
if (keplr) this.setKeplrWallet(keplr, address, publicKey);
|
|
83
|
+
else this.disconnect();
|
|
84
|
+
}
|
|
85
|
+
|
|
84
86
|
if (type === "leap" && window.leap) this.setKeplrWallet(window.leap, address, publicKey);
|
|
85
87
|
});
|
|
86
88
|
|
|
87
|
-
this.initWalletConnect()
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
this.initWalletConnect()
|
|
90
|
+
.then(async (wc) => {
|
|
91
|
+
this.options.unshift({
|
|
92
|
+
download: "https://www.walletconnect.com/get",
|
|
93
|
+
name: "WalletConnect",
|
|
94
|
+
id: "walletconnect",
|
|
95
|
+
type: "external",
|
|
96
|
+
icon: WC_ICON,
|
|
97
|
+
});
|
|
95
98
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
const selected = await this.getStorage();
|
|
100
|
+
if (selected.type !== "walletconnect") return;
|
|
101
|
+
this.setupWalletConnect(selected.id as "keplr" | "leap");
|
|
102
|
+
})
|
|
103
|
+
.catch(() => {});
|
|
100
104
|
}
|
|
101
105
|
|
|
102
|
-
|
|
103
|
-
return
|
|
106
|
+
get chains() {
|
|
107
|
+
return chains.getByType(WalletType.COSMOS).map((t) => t.key);
|
|
104
108
|
}
|
|
105
109
|
|
|
106
110
|
async setupWalletConnect(id?: "keplr" | "leap"): Promise<CosmosWallet> {
|
|
@@ -139,7 +143,7 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
139
143
|
},
|
|
140
144
|
});
|
|
141
145
|
|
|
142
|
-
const client = await StargateClient.connect(
|
|
146
|
+
const client = await StargateClient.connect(chains.getByKey(signDoc.chainId).rpc || "");
|
|
143
147
|
const protobufTx = TxRaw.encode({
|
|
144
148
|
bodyBytes: signed.bodyBytes,
|
|
145
149
|
authInfoBytes: signed.authInfoBytes,
|
|
@@ -162,8 +166,8 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
162
166
|
publicKeyHex: publicKey,
|
|
163
167
|
disconnect: () => keplr.disable(),
|
|
164
168
|
sendTransaction: async (signDoc: any) => {
|
|
165
|
-
await keplr.enable(
|
|
166
|
-
const rpcEndpoint =
|
|
169
|
+
await keplr.enable(this.chains);
|
|
170
|
+
const rpcEndpoint = chains.get(signDoc.chainId)?.rpc || "";
|
|
167
171
|
return await signAndSendTx(keplr, rpcEndpoint, signDoc);
|
|
168
172
|
},
|
|
169
173
|
})
|
|
@@ -179,7 +183,7 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
179
183
|
cosmos: {
|
|
180
184
|
methods: ["cosmos_getAccounts", "cosmos_signDirect"],
|
|
181
185
|
events: ["chainChanged", "accountsChanged"],
|
|
182
|
-
chains:
|
|
186
|
+
chains: this.chains.map((chain) => `cosmos:${chain}`),
|
|
183
187
|
rpcMap: {},
|
|
184
188
|
},
|
|
185
189
|
},
|
|
@@ -198,7 +202,7 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
198
202
|
chainName: "Gonka",
|
|
199
203
|
});
|
|
200
204
|
|
|
201
|
-
await extension.enable(
|
|
205
|
+
await extension.enable(this.chains);
|
|
202
206
|
const account = await extension.getKey("gonka-mainnet");
|
|
203
207
|
await this.setStorage({ type, address: account.bech32Address, publicKey: hex.encode(account.pubKey) });
|
|
204
208
|
return await this.setKeplrWallet(extension, account.bech32Address, hex.encode(account.pubKey));
|
|
@@ -212,7 +216,7 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
212
216
|
cosmos: {
|
|
213
217
|
methods: ["cosmos_getAccounts", "cosmos_signDirect"],
|
|
214
218
|
events: ["chainChanged", "accountsChanged"],
|
|
215
|
-
chains:
|
|
219
|
+
chains: this.chains.map((chain) => `cosmos:${chain}`),
|
|
216
220
|
rpcMap: {},
|
|
217
221
|
},
|
|
218
222
|
},
|
|
@@ -220,7 +224,8 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
220
224
|
}
|
|
221
225
|
|
|
222
226
|
if (id === "keplr") {
|
|
223
|
-
|
|
227
|
+
const keplr = await Keplr.getKeplr();
|
|
228
|
+
return await this.connectKeplr("keplr", keplr);
|
|
224
229
|
}
|
|
225
230
|
|
|
226
231
|
if (id === "leap") {
|
package/src/cosmos/wallet.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { StargateClient } from "@cosmjs/stargate";
|
|
2
2
|
|
|
3
3
|
import { OmniWallet, SignedAuth } from "../OmniWallet";
|
|
4
|
-
import {
|
|
5
|
-
import { ReviewFee } from "../
|
|
4
|
+
import { chains, WalletType } from "../core/chains";
|
|
5
|
+
import { ReviewFee } from "../core/bridge";
|
|
6
6
|
import CosmosConnector from "./connector";
|
|
7
7
|
|
|
8
8
|
interface ProtocolWallet {
|
|
@@ -68,7 +68,7 @@ export default class CosmosWallet extends OmniWallet {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
async fetchBalance(chain: number, token: string): Promise<bigint> {
|
|
71
|
-
const config =
|
|
71
|
+
const config = chains.get(chain);
|
|
72
72
|
if (!config) throw new Error("Config not found");
|
|
73
73
|
const client = await StargateClient.connect(config.rpc);
|
|
74
74
|
const balance = await client.getBalance(this.address, token);
|
package/src/defaults.ts
ADDED
package/src/evm/connector.ts
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
import MetaMaskSDK from "@metamask/sdk";
|
|
2
2
|
import { runInAction } from "mobx";
|
|
3
3
|
|
|
4
|
-
import { ConnectorType, OmniConnector,
|
|
5
|
-
import { WalletType } from "../
|
|
6
|
-
import { isInjected } from "../hot-wallet/
|
|
4
|
+
import { ConnectorType, OmniConnector, WC_ICON } from "../OmniConnector";
|
|
5
|
+
import { Network, WalletType } from "../core/chains";
|
|
6
|
+
import { isInjected } from "../hot-wallet/iframe";
|
|
7
7
|
import { HotConnector } from "../HotConnector";
|
|
8
8
|
import EvmWallet, { EvmProvider } from "./wallet";
|
|
9
9
|
|
|
10
|
-
const chains = [1, 10, 56, 137, 8453, 42161, 421613, 80001];
|
|
11
|
-
|
|
12
|
-
export interface EvmConnectorOptions extends OmniConnectorOptions {
|
|
13
|
-
chains?: number[];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
10
|
class EvmConnector extends OmniConnector<EvmWallet, { provider: EvmProvider }> {
|
|
17
11
|
icon = "https://storage.herewallet.app/upload/06b43b164683c2cbfe9a9c0699f0953fd56f1f802035e7701ea10501d9e091c6.png";
|
|
18
12
|
walletTypes = [WalletType.EVM, WalletType.OMNI];
|
|
19
13
|
type = ConnectorType.WALLET;
|
|
20
14
|
name = "EVM Wallet";
|
|
21
|
-
chains = chains;
|
|
22
15
|
id = "evm";
|
|
23
16
|
|
|
24
17
|
MMSDK = new MetaMaskSDK({
|
|
@@ -29,10 +22,8 @@ class EvmConnector extends OmniConnector<EvmWallet, { provider: EvmProvider }> {
|
|
|
29
22
|
},
|
|
30
23
|
});
|
|
31
24
|
|
|
32
|
-
constructor(wibe3: HotConnector
|
|
33
|
-
super(wibe3
|
|
34
|
-
|
|
35
|
-
if (settings.chains) this.chains.push(...settings.chains);
|
|
25
|
+
constructor(wibe3: HotConnector) {
|
|
26
|
+
super(wibe3);
|
|
36
27
|
|
|
37
28
|
window.addEventListener<any>("eip6963:announceProvider", async (provider) => {
|
|
38
29
|
if (this.options.find((t) => t.name === provider.detail.info.name || t.id === provider.detail.info.uuid)) return;
|
|
@@ -60,15 +51,19 @@ class EvmConnector extends OmniConnector<EvmWallet, { provider: EvmProvider }> {
|
|
|
60
51
|
|
|
61
52
|
window.dispatchEvent(new Event("eip6963:requestProvider"));
|
|
62
53
|
|
|
63
|
-
this.initWalletConnect()
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
this.initWalletConnect()
|
|
55
|
+
.then((wc) => {
|
|
56
|
+
this.options.unshift({ id: "walletconnect", name: "WalletConnect", icon: WC_ICON, provider: {} as any, type: "external" });
|
|
57
|
+
})
|
|
58
|
+
.catch(() => {});
|
|
66
59
|
|
|
67
|
-
this.wc
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
60
|
+
this.wc
|
|
61
|
+
?.then(async (wc) => {
|
|
62
|
+
const selected = await this.getConnectedWallet();
|
|
63
|
+
if (selected.id !== "walletconnect") return;
|
|
64
|
+
this.setupWalletConnect();
|
|
65
|
+
})
|
|
66
|
+
.catch(() => {});
|
|
72
67
|
}
|
|
73
68
|
|
|
74
69
|
async setupWalletConnect(): Promise<EvmWallet> {
|
|
@@ -120,7 +115,7 @@ class EvmConnector extends OmniConnector<EvmWallet, { provider: EvmProvider }> {
|
|
|
120
115
|
namespaces: {
|
|
121
116
|
eip155: {
|
|
122
117
|
methods: ["eth_sendTransaction", "eth_signTransaction", "eth_sign", "personal_sign", "eth_signTypedData"],
|
|
123
|
-
chains:
|
|
118
|
+
chains: Object.values(Network).map((chain) => `eip155:${chain}`),
|
|
124
119
|
events: ["chainChanged", "accountsChanged"],
|
|
125
120
|
rpcMap: {},
|
|
126
121
|
},
|
package/src/evm/index.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import EvmConnector from "./connector";
|
|
2
|
+
import { HotConnector } from "../HotConnector";
|
|
3
|
+
|
|
4
|
+
export { default as EvmConnector } from "./connector";
|
|
5
|
+
export { default as EvmWallet } from "./wallet";
|
|
6
|
+
|
|
7
|
+
export default () => async (wibe3: HotConnector) => new EvmConnector(wibe3);
|
package/src/evm/wallet.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { base64, base58, hex } from "@scure/base";
|
|
2
|
-
import { BrowserProvider, ethers, JsonRpcProvider,
|
|
2
|
+
import { BrowserProvider, ethers, JsonRpcProvider, TransactionRequest } from "ethers";
|
|
3
|
+
import { JsonRpcSigner } from "ethers";
|
|
3
4
|
|
|
4
5
|
import { OmniConnector } from "../OmniConnector";
|
|
5
6
|
import { OmniWallet } from "../OmniWallet";
|
|
6
|
-
import { WalletType } from "../
|
|
7
|
-
import { ReviewFee } from "../
|
|
8
|
-
import { Token } from "../
|
|
7
|
+
import { WalletType } from "../core/chains";
|
|
8
|
+
import { ReviewFee } from "../core/bridge";
|
|
9
|
+
import { Token } from "../core/token";
|
|
9
10
|
import { erc20abi } from "./abi";
|
|
10
11
|
|
|
11
12
|
export interface EvmProvider {
|
|
@@ -110,8 +111,12 @@ class EvmWallet extends OmniWallet {
|
|
|
110
111
|
|
|
111
112
|
async sendTransaction(chain: number, request: TransactionRequest): Promise<string> {
|
|
112
113
|
if (!this.provider.request) throw "not impl";
|
|
114
|
+
const provider = new BrowserProvider(this.provider as any);
|
|
115
|
+
const signer = new JsonRpcSigner(provider, this.address);
|
|
116
|
+
|
|
113
117
|
await this.provider.request({ method: "wallet_switchEthereumChain", params: [{ chainId: `0x${chain.toString(16)}` }] });
|
|
114
|
-
|
|
118
|
+
const tx = await signer.sendTransaction(request);
|
|
119
|
+
return tx.hash;
|
|
115
120
|
}
|
|
116
121
|
|
|
117
122
|
async transfer(args: { token: Token; receiver: string; amount: bigint; comment?: string; gasFee?: ReviewFee }): Promise<string> {
|
package/src/exchange.ts
CHANGED
|
@@ -2,18 +2,15 @@ import { GetExecutionStatusResponse, OneClickService, ApiError, OpenAPI, QuoteRe
|
|
|
2
2
|
import { utils } from "@hot-labs/omni-sdk";
|
|
3
3
|
import { hex } from "@scure/base";
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
5
|
+
import { Network, OmniToken, WalletType } from "./core/chains";
|
|
6
|
+
import { ReviewFee } from "./core/bridge";
|
|
7
|
+
import { Recipient } from "./core/recipient";
|
|
8
|
+
import { tokens } from "./core/tokens";
|
|
9
|
+
import { Token } from "./core/token";
|
|
9
10
|
|
|
11
|
+
import StellarWallet from "./stellar/wallet";
|
|
10
12
|
import { HotConnector } from "./HotConnector";
|
|
11
|
-
import { Network, OmniToken, WalletType } from "./omni/config";
|
|
12
|
-
import { bridge, ReviewFee } from "./omni/bridge";
|
|
13
|
-
import { Recipient } from "./omni/recipient";
|
|
14
13
|
import { OmniWallet } from "./OmniWallet";
|
|
15
|
-
import { tokens } from "./omni/tokens";
|
|
16
|
-
import { Token } from "./omni/token";
|
|
17
14
|
|
|
18
15
|
OpenAPI.BASE = "https://1click.chaindefuser.com";
|
|
19
16
|
OpenAPI.TOKEN = "";
|
|
@@ -78,11 +75,11 @@ export class Exchange {
|
|
|
78
75
|
const { sender, token, amount, recipient, onMessage } = args;
|
|
79
76
|
onMessage("Sending deposit transaction");
|
|
80
77
|
|
|
81
|
-
if (token.type === WalletType.COSMOS && sender
|
|
82
|
-
const cosmosBridge = await
|
|
78
|
+
if (token.type === WalletType.COSMOS && this.wibe3.isCosmosWallet(sender)) {
|
|
79
|
+
const cosmosBridge = await this.wibe3.hotBridge.cosmos();
|
|
83
80
|
const hash = await cosmosBridge.deposit({
|
|
84
81
|
sendTransaction: async (tx) => sender.sendTransaction(tx),
|
|
85
|
-
senderPublicKey: hex.decode(sender.publicKey),
|
|
82
|
+
senderPublicKey: hex.decode(sender.publicKey!),
|
|
86
83
|
intentAccount: recipient.omniAddress,
|
|
87
84
|
sender: sender.address,
|
|
88
85
|
token: token.address,
|
|
@@ -91,15 +88,15 @@ export class Exchange {
|
|
|
91
88
|
});
|
|
92
89
|
|
|
93
90
|
onMessage("Waiting for deposit");
|
|
94
|
-
const deposit = await
|
|
91
|
+
const deposit = await this.wibe3.hotBridge.waitPendingDeposit(token.chain, hash, recipient.omniAddress);
|
|
95
92
|
onMessage("Finishing deposit");
|
|
96
|
-
await
|
|
93
|
+
await this.wibe3.hotBridge.finishDeposit(deposit);
|
|
97
94
|
onMessage("Deposit finished");
|
|
98
95
|
return;
|
|
99
96
|
}
|
|
100
97
|
|
|
101
|
-
if (token.type === WalletType.EVM && sender
|
|
102
|
-
const hash = await
|
|
98
|
+
if (token.type === WalletType.EVM && this.wibe3.isEvmWallet(sender)) {
|
|
99
|
+
const hash = await this.wibe3.hotBridge.evm.deposit({
|
|
103
100
|
sendTransaction: async (tx) => sender.sendTransaction(token.chain, tx),
|
|
104
101
|
intentAccount: recipient.omniAddress,
|
|
105
102
|
sender: sender.address,
|
|
@@ -110,15 +107,15 @@ export class Exchange {
|
|
|
110
107
|
|
|
111
108
|
if (!hash) throw new Error("Failed to deposit");
|
|
112
109
|
onMessage("Waiting for deposit");
|
|
113
|
-
const deposit = await
|
|
110
|
+
const deposit = await this.wibe3.hotBridge.waitPendingDeposit(token.chain, hash, recipient.omniAddress);
|
|
114
111
|
onMessage("Finishing deposit");
|
|
115
|
-
await
|
|
112
|
+
await this.wibe3.hotBridge.finishDeposit(deposit);
|
|
116
113
|
onMessage("Deposit finished");
|
|
117
114
|
return;
|
|
118
115
|
}
|
|
119
116
|
|
|
120
|
-
if (token.type === WalletType.NEAR && sender
|
|
121
|
-
return await
|
|
117
|
+
if (token.type === WalletType.NEAR && this.wibe3.isNearWallet(sender)) {
|
|
118
|
+
return await this.wibe3.hotBridge.near.deposit({
|
|
122
119
|
sendTransaction: async (tx: any) => sender.sendTransaction(tx),
|
|
123
120
|
intentAccount: recipient.omniAddress,
|
|
124
121
|
sender: sender.address,
|
|
@@ -134,11 +131,11 @@ export class Exchange {
|
|
|
134
131
|
const { sender, token, amount, recipient } = args;
|
|
135
132
|
|
|
136
133
|
const receipientWallet = this.wibe3.wallets.find((w) => w.address === recipient.address);
|
|
137
|
-
if (receipientWallet
|
|
134
|
+
if (this.wibe3.isNearWallet(receipientWallet) && token.type === WalletType.NEAR) {
|
|
138
135
|
await receipientWallet.registerToken(token.originalAddress);
|
|
139
136
|
}
|
|
140
137
|
|
|
141
|
-
await
|
|
138
|
+
await this.wibe3.hotBridge.withdrawToken({
|
|
142
139
|
signIntents: async (intents) => sender.signIntents(intents),
|
|
143
140
|
intentAccount: sender.omniAddress,
|
|
144
141
|
receiver: recipient.address,
|
|
@@ -152,7 +149,7 @@ export class Exchange {
|
|
|
152
149
|
async withdrawFee(request: BridgeRequest) {
|
|
153
150
|
if (request.sender === "qr") throw new Error("Sender is QR");
|
|
154
151
|
if (request.to.chain === Network.Near || request.to.chain === Network.Hot) return 0n;
|
|
155
|
-
const gaslessFee = await
|
|
152
|
+
const gaslessFee = await this.wibe3.hotBridge.getGaslessWithdrawFee({
|
|
156
153
|
receiver: request.recipient.address,
|
|
157
154
|
token: request.to.address,
|
|
158
155
|
chain: request.to.chain,
|
|
@@ -162,7 +159,7 @@ export class Exchange {
|
|
|
162
159
|
if (request.to.address === "native") return 0n;
|
|
163
160
|
|
|
164
161
|
// if withdraw token is not native, we need to swap a bit of it to native to cover the withdraw fee
|
|
165
|
-
const swap = await
|
|
162
|
+
const swap = await this.wibe3.hotBridge.buildSwapExectOutIntent({
|
|
166
163
|
intentFrom: utils.toOmniIntent(request.to.chain, request.to.address),
|
|
167
164
|
intentTo: utils.toOmniIntent(request.to.chain, "native"),
|
|
168
165
|
amountOut: gaslessFee.gasPrice,
|
|
@@ -186,7 +183,7 @@ export class Exchange {
|
|
|
186
183
|
const noFee = from.symbol === to.symbol;
|
|
187
184
|
|
|
188
185
|
if (sender !== "qr" && directChains.includes(from.chain) && to.chain === Network.Hot && from.omniAddress === to.omniAddress) {
|
|
189
|
-
const fee = await
|
|
186
|
+
const fee = await this.wibe3.hotBridge.getDepositFee({
|
|
190
187
|
intentAccount: sender.omniAddress,
|
|
191
188
|
sender: sender.address,
|
|
192
189
|
token: from.address,
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { WalletManifest, SignAndSendTransactionParams, SignAndSendTransactionsParams, SignMessageParams } from "@hot-labs/near-connect";
|
|
2
2
|
import { Transaction } from "@stellar/stellar-base";
|
|
3
3
|
import { action, makeObservable } from "mobx";
|
|
4
|
+
import uuid4 from "uuid4";
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { WalletType } from "./omni/config";
|
|
6
|
+
import { ConnectorType, OmniConnector } from "../OmniConnector";
|
|
7
|
+
import { OmniWallet } from "../OmniWallet";
|
|
8
|
+
import { WalletType } from "../core/chains";
|
|
9
9
|
|
|
10
|
-
import EvmWallet from "
|
|
11
|
-
import NearWallet from "
|
|
12
|
-
import SolanaWallet from "
|
|
13
|
-
import TonWallet from "
|
|
14
|
-
import StellarWallet from "
|
|
15
|
-
import { HotConnector } from "
|
|
10
|
+
import EvmWallet from "../evm/wallet";
|
|
11
|
+
import NearWallet from "../near/wallet";
|
|
12
|
+
import SolanaWallet from "../solana/wallet";
|
|
13
|
+
import TonWallet from "../ton/wallet";
|
|
14
|
+
import StellarWallet from "../stellar/wallet";
|
|
15
|
+
import { HotConnector } from "../HotConnector";
|
|
16
|
+
|
|
17
|
+
export interface GoogleConnectorOptions {
|
|
18
|
+
webWallet?: string;
|
|
19
|
+
}
|
|
16
20
|
|
|
17
21
|
class GoogleConnector extends OmniConnector<OmniWallet> {
|
|
18
22
|
walletTypes = [WalletType.EVM, WalletType.STELLAR, WalletType.TON, WalletType.NEAR, WalletType.SOLANA];
|
|
@@ -20,21 +24,20 @@ class GoogleConnector extends OmniConnector<OmniWallet> {
|
|
|
20
24
|
type = ConnectorType.SOCIAL;
|
|
21
25
|
name = "Google Wallet";
|
|
22
26
|
id = "google";
|
|
27
|
+
webWallet: string;
|
|
23
28
|
|
|
24
|
-
constructor(wibe3: HotConnector) {
|
|
29
|
+
constructor(wibe3: HotConnector, options?: GoogleConnectorOptions) {
|
|
25
30
|
super(wibe3);
|
|
26
31
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
30
|
-
|
|
32
|
+
this.webWallet = options?.webWallet ?? "https://wallet.google.com";
|
|
33
|
+
makeObservable(this, { connectWallet: action });
|
|
31
34
|
this.getStorage().then((accounts: any) => {
|
|
32
35
|
accounts.forEach((account: any) => this.connectWallet(account));
|
|
33
36
|
});
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
connectWallet(account: { type: number; address: string; publicKey: string }) {
|
|
37
|
-
const request = requestWebWallet(account.type, account.address);
|
|
40
|
+
const request = this.requestWebWallet(account.type, account.address);
|
|
38
41
|
|
|
39
42
|
if (account.type === WalletType.EVM) {
|
|
40
43
|
this.setWallet(
|
|
@@ -87,7 +90,7 @@ class GoogleConnector extends OmniConnector<OmniWallet> {
|
|
|
87
90
|
}
|
|
88
91
|
|
|
89
92
|
async connect() {
|
|
90
|
-
const accounts = await requestWebWallet()("connect:google", {});
|
|
93
|
+
const accounts = await this.requestWebWallet()("connect:google", {});
|
|
91
94
|
accounts.forEach((account: { type: number; address: string; publicKey: string }) => this.connectWallet(account));
|
|
92
95
|
this.setStorage(accounts);
|
|
93
96
|
return this.wallets[0];
|
|
@@ -97,6 +100,46 @@ class GoogleConnector extends OmniConnector<OmniWallet> {
|
|
|
97
100
|
this.removeAllWallets();
|
|
98
101
|
this.removeStorage();
|
|
99
102
|
}
|
|
103
|
+
|
|
104
|
+
requestWebWallet = (chain?: number, address?: string) => (method: string, request: any) => {
|
|
105
|
+
const width = 480;
|
|
106
|
+
const height = 640;
|
|
107
|
+
const x = (window.screen.width - width) / 2;
|
|
108
|
+
const y = (window.screen.height - height) / 2;
|
|
109
|
+
const popup = window.open(`${this.wibe3.settings.webWallet}`, "_blank", `popup=1,width=${width},height=${height},top=${y},left=${x}`);
|
|
110
|
+
|
|
111
|
+
return new Promise<any>(async (resolve, reject) => {
|
|
112
|
+
const interval = setInterval(() => {
|
|
113
|
+
if (!popup?.closed) return;
|
|
114
|
+
clearInterval(interval);
|
|
115
|
+
reject(new Error("User rejected"));
|
|
116
|
+
}, 100);
|
|
117
|
+
|
|
118
|
+
const id = uuid4();
|
|
119
|
+
const handler = (event: MessageEvent) => {
|
|
120
|
+
if (event.origin !== this.wibe3.settings.webWallet) return;
|
|
121
|
+
|
|
122
|
+
if (event.data === "hot:ready") {
|
|
123
|
+
popup?.postMessage({ chain, address, method, request, id }, "*");
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (event.data.id !== id) return;
|
|
128
|
+
if (event.data.success === false) {
|
|
129
|
+
clearInterval(interval);
|
|
130
|
+
reject(new Error(event.data.payload));
|
|
131
|
+
window.removeEventListener("message", handler);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
window.removeEventListener("message", handler);
|
|
135
|
+
resolve(event.data.payload);
|
|
136
|
+
clearInterval(interval);
|
|
137
|
+
popup?.close();
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
window.addEventListener("message", handler);
|
|
141
|
+
});
|
|
142
|
+
};
|
|
100
143
|
}
|
|
101
144
|
|
|
102
145
|
export default GoogleConnector;
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
const ancestorOrigins = new Set([
|
|
2
|
-
"http://localhost:1234",
|
|
3
|
-
"https://my.herewallet.app",
|
|
4
|
-
"https://tgapp-dev.herewallet.app",
|
|
5
|
-
"https://tgapp.herewallet.app",
|
|
6
|
-
"https://beta.herewallet.app",
|
|
7
|
-
"https://app.hot-labs.org",
|
|
8
|
-
]);
|
|
1
|
+
const ancestorOrigins = new Set(["http://localhost:1234", "https://my.herewallet.app", "https://tgapp-dev.herewallet.app", "https://tgapp.herewallet.app", "https://beta.herewallet.app", "https://app.hot-labs.org"]);
|
|
9
2
|
|
|
10
3
|
export const isInjected = () => {
|
|
11
4
|
if (typeof window === "undefined") return false;
|
package/src/hot-wallet/index.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import GoogleConnector, { GoogleConnectorOptions } from "./google";
|
|
2
|
+
import { HotConnector } from "../HotConnector";
|
|
3
|
+
|
|
4
|
+
export { GoogleConnector, GoogleConnectorOptions };
|
|
5
|
+
|
|
6
|
+
export default (options?: GoogleConnectorOptions) => async (wibe3: HotConnector) => new GoogleConnector(wibe3, options);
|
package/src/index.ts
CHANGED
|
@@ -1,30 +1,7 @@
|
|
|
1
|
-
export { Network, OmniToken, WalletType } from "./omni/config";
|
|
2
|
-
export { formatter } from "./omni/utils";
|
|
3
|
-
export { EventEmitter } from "./events";
|
|
4
|
-
|
|
5
1
|
export { OmniWallet } from "./OmniWallet";
|
|
6
2
|
export { OmniConnector } from "./OmniConnector";
|
|
7
|
-
export { Intents } from "./omni/Intents";
|
|
8
|
-
export { Token } from "./omni/token";
|
|
9
|
-
export { TGAS } from "./omni/nearRpc";
|
|
10
|
-
|
|
11
|
-
export { default as EvmConnector } from "./evm/connector";
|
|
12
|
-
export { default as SolanaConnector } from "./solana/connector";
|
|
13
|
-
export { default as StellarConnector } from "./stellar/connector";
|
|
14
|
-
export { default as TonConnector } from "./ton/connector";
|
|
15
|
-
export { default as NearConnector } from "./near/connector";
|
|
16
|
-
export { default as CosmosConnector } from "./cosmos/connector";
|
|
17
|
-
|
|
18
|
-
export { default as EvmWallet } from "./evm/wallet";
|
|
19
|
-
export { default as SolanaWallet } from "./solana/wallet";
|
|
20
|
-
export { default as StellarWallet } from "./stellar/wallet";
|
|
21
|
-
export { default as TonWallet } from "./ton/wallet";
|
|
22
|
-
export { default as NearWallet } from "./near/wallet";
|
|
23
|
-
export { default as CosmosWallet } from "./cosmos/wallet";
|
|
24
|
-
|
|
25
|
-
export { near, evm, solana, stellar, ton, google } from "./HotConnector";
|
|
26
3
|
export { HotConnector } from "./HotConnector";
|
|
27
4
|
|
|
28
|
-
import "./hot-wallet";
|
|
29
|
-
|
|
30
5
|
export { Bridge as BridgeWidget } from "./ui/payment/Bridge";
|
|
6
|
+
|
|
7
|
+
export * from "./core";
|