kiban-agent-kit
Version:
Open-source framework connecting AI agents to Katana ecosystem protocols
72 lines (71 loc) • 1.68 kB
TypeScript
import { KibanAgentKit } from "../../agent/KibanAgentKit";
import { Address, Hash } from "viem";
export interface TokenInfo {
address: Address;
name: string;
symbol: string;
decimals: number;
balance: string;
balanceRaw: bigint;
}
export interface TokenMetadata {
name: string;
symbol: string;
decimals: number;
totalSupply: bigint;
}
export interface SendTokenParams {
token: string;
to: string;
amount: string;
}
export interface ApproveParams {
token: string;
spender: string;
amount: string;
}
export interface AllowanceParams {
token: string;
owner: string;
spender: string;
}
export interface TransactionResult {
hash: Hash;
}
export interface TransactionReceipt {
status: "success" | "failure";
hash: Hash;
blockNumber: bigint;
gasUsed: bigint;
}
/**
* Core token service for token-related operations
*/
export declare class TokenService {
private agent;
constructor(agent: KibanAgentKit);
/**
* Get information about a token
*/
getTokenInfo(tokenAddress: string): Promise<TokenInfo>;
/**
* Send tokens (ETH or ERC20)
*/
sendTokens(params: SendTokenParams): Promise<TransactionResult>;
/**
* Wait for a transaction to be confirmed
*/
waitForTransaction(hash: Hash): Promise<any>;
/**
* Approve token spending
*/
approveSpending(params: ApproveParams): Promise<TransactionResult>;
/**
* Get token metadata
*/
getTokenMetadata(tokenAddress: string): Promise<TokenMetadata>;
/**
* Get token allowance
*/
getAllowance(params: AllowanceParams): Promise<bigint>;
}