UNPKG

@shogun-sdk/money-legos

Version:

Shogun Money Legos: clients and types for quotes, memes, prices, balances, fees, validations, etc.

72 lines 2.54 kB
import { Codex } from '@codex-data/sdk'; import { getEVMWalletBalance, getSolanaTokenBalances, getPortfolioTokens, getTokenUSDPrice, isValidSolanaOrEvMaddreess, searchToken, searchTokenByAddress, getTokenInfo, } from '@shogun-sdk/money-legos'; /** * Client for interacting with Shogun balances API */ export class ShogunBalancesApiClient { constructor(apiKey) { Object.defineProperty(this, "sdk", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.sdk = new Codex(apiKey); } /** * Get EVM wallet balances across multiple chains * @param address - Wallet address to check balances for */ async getEvmWalletBalance(address) { return getEVMWalletBalance(this.sdk, address); } /** * Get token balances with additional info like prices * @param data - Balance data from getEvmWalletBalance * @param walletAddress - Wallet address * @param fallbackTokens - Optional fallback tokens to include */ async getPortfolioTokens(data, walletAddress, fallbackTokens) { return getPortfolioTokens(this.sdk, data, walletAddress, fallbackTokens); } /** * Search for a token by symbol or address * @param symbolOrAddress - Symbol or address to search for */ async searchToken(symbolOrAddress) { return searchToken(this.sdk, symbolOrAddress); } /** * Get Solana token balances for a wallet * @param walletAddress - Solana wallet address */ async getSolanaTokenBalances(walletAddress) { return getSolanaTokenBalances(this.sdk, walletAddress); } /** * Get USD price for a token * @param tokenAddress - Token address * @param chainId - Chain ID the token is on */ async getTokenUSDPrice(tokenAddress, chainId) { return getTokenUSDPrice(this.sdk, tokenAddress, chainId); } /** * Validate if an address is a valid Solana or EVM address * @param address - Address to validate */ isValidAddress(address) { return isValidSolanaOrEvMaddreess(address); } /** * Search for a token by address * @param options - Options for the search */ async searchTokenByAddress(options) { return searchTokenByAddress(this.sdk, options); } async getTokenInfo(tokenAddress, chainId) { return getTokenInfo(this.sdk, tokenAddress, chainId); } } //# sourceMappingURL=shogun-balances-api-client.js.map