HOT Wallet SDK
Connector for Injected Apps
Solana Connect
import { HOT } from "@hot-wallet/sdk";
import { HotWalletAdapter } from "@hot-wallet/sdk/adapter/solana";
const adapter = new HotWalletAdapter();
await HOT.request("solana:connect", {});
await HOT.request("solana:signMessage", { ... });
await HOT.request("solana:signTransactions", { ... });
await HOT.request("solana:signAndSendTransaction", { ... });
NEAR Connect
import { setupHotWallet } from "@hot-wallet/adapter/near";
import { HOT } from "@hot-wallet/sdk";
await HOT.request("near:signIn", {});
await HOT.request("near:signMessage", { ... });
await HOT.request("near:signAndSendTransaction", { ... });
TON Connect
import "@hot-wallet/sdk/adapter/ton";
import { HOT } from "@hot-wallet/sdk";
await HOT.request("ton:connect", {});
await HOT.request("ton:send", { ... });
EVM Connect
If the application is opened inside HOT, then your wallet-selector (web3modal or rainbowkit) will automatically see the HOT wallet:
import "@hot-wallet/sdk";
If you integrate HOT on a website or a separate Telegram miniapp, you need to call the method:
import { HOT } from "@hot-wallet/sdk";
HOT.setupEthProvider((request, chain, address) => {
return yourPublicRpcProvider[chain]?.request(request);
});
hotProvider
implements methods that require a private key signature. All other methods that need to be sent to the network you must implement yourself.
You can use your own rpc for this in conjunction with etherjs or web3 library.
import { HOT } from "@hot-wallet/sdk";
await HOT.request("ethereum", { ... });
Debug Injected App
Default example app with chains connector:
You can replace hot-example-connect.surge.sh with your own domain (or localhost:PORT) to debug app!
Happy hacking