@shogun-sdk/money-legos
Version:
Shogun Money Legos: clients and types for quotes, memes, prices, balances, fees, validations, etc.
72 lines • 2.54 kB
JavaScript
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