Socket
Book a DemoInstallSign in
Socket

@hot-wallet/omni-sdk

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hot-wallet/omni-sdk

## Usage from CLI

2.0.2
latest
npmnpm
Version published
Maintainers
1
Created
Source

HOT Omni

Usage from CLI

Installation

git clone git@github.com:hot-dao/omni-sdk.git
cd omni-sdk
yarn install
cp .env.example .env

Provide your private keys in base58 format for the required networks in .env file. You only need to provide NEAR_ACCONT_ID and NEAR_PRIVATE_KEY. The other networks can be left blank if you do not plan to deposit/withdraw to these networks.

Commands

Get HOT Intent balance

yarn cli balance --token usdc --chain near

Make swap HOT Intent token to another HOT Intent token

yarn cli swap --token usdc --from near --to arb --amount 0.01

Make withdraw HOT Intent token to chain

yarn cli withdraw --token usdc --chain base --amount 0.001

Make deposit token from chain to HOT Intent

yarn cli deposit --token usdc --chain base --amount 0.001

Usage from code

yarn add @hot-wallet/omni-sdk

import "dotenv/config";
import { EvmSigner, Network as chain, OmniToken, OmniGroup } from "@hot-wallet/omni-sdk";
import { TonSigner, NearSigner, StellarSigner, OmniService, SolanaSigner } from "@hot-wallet/omni-sdk";

const env = process.env as any;
const omni = new OmniService({
  near: new NearSigner(env.NEAR_ACCONT_ID, env.NEAR_PRIVATE_KEY),
  ton: new TonSigner(env.TON_PRIVATE_KEY, env.TON_WALLET_TYPE, env.TON_API_KEY),
  stellar: new StellarSigner(env.STELLAR_PRIVATE_KEY, env.HORIZON_RPC, env.SOROBAN_RPC),
  solana: new SolanaSigner(env.SOLANA_PRIVATE_KEY, [env.SOLANA_RPC]),
  evm: new EvmSigner(env.EVM_PRIVATE_KEY),
});

// Simple bridge
const ton = new OmniToken(OmniGroup.TON); // builder
await omni.depositToken(...ton.input(chain.Ton, 1));

console.log("Omni TON", await omni.getBalance(ton.intent(chain.Ton)));
await omni.withdrawToken(...ton.input(chain.Bnb, 1));

// Intent swap
const usdc = new OmniToken(OmniGroup.USDC);
await omni.depositToken(...usdc.input(chain.Base, 1));
await omni.swapToken(usdc.intent(chain.Base), usdc.intent(chain.Arbitrum), 1);

console.log("Omni USDC on Arb", await omni.getBalance(usdc.intent(chain.Arbitrum)));
await omni.withdrawToken(...usdc.input(chain.Arbitrum, 1));

FAQs

Package last updated on 02 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.