kiban-agent-kit
Version:
Open-source framework connecting AI agents to Katana ecosystem protocols
149 lines (148 loc) • 3.69 kB
TypeScript
import { Address, Hash } from "viem";
export interface TokenMetadata {
name: string;
symbol: string;
decimals: number;
totalSupply: bigint;
}
export interface TransferParams {
to: Address;
amount: bigint;
data?: `0x${string}`;
}
export interface TokenTransferParams extends TransferParams {
token: Address;
}
export interface TokenApprovalParams {
token: Address;
spender: Address;
amount: bigint;
}
export interface TransactionResult {
hash: Hash;
wait: () => Promise<TransactionReceipt>;
}
export interface TransactionReceipt {
status: "success" | "failure";
hash: Hash;
blockNumber: bigint;
gasUsed: bigint;
}
export interface TokenAllowance {
token: Address;
owner: Address;
spender: Address;
amount: bigint;
}
export declare const ERC20_ABI: readonly [{
readonly constant: true;
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
}];
readonly name: "balanceOf";
readonly outputs: readonly [{
readonly name: "balance";
readonly type: "uint256";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [];
readonly name: "symbol";
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [];
readonly name: "name";
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [];
readonly name: "decimals";
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint8";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [];
readonly name: "totalSupply";
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint256";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
}, {
readonly name: "_spender";
readonly type: "address";
}];
readonly name: "allowance";
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint256";
}];
readonly type: "function";
}, {
readonly constant: false;
readonly inputs: readonly [{
readonly name: "_to";
readonly type: "address";
}, {
readonly name: "_value";
readonly type: "uint256";
}];
readonly name: "transfer";
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
}];
readonly type: "function";
}, {
readonly constant: false;
readonly inputs: readonly [{
readonly name: "_spender";
readonly type: "address";
}, {
readonly name: "_value";
readonly type: "uint256";
}];
readonly name: "approve";
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
}];
readonly type: "function";
}, {
readonly constant: false;
readonly inputs: readonly [{
readonly name: "_from";
readonly type: "address";
}, {
readonly name: "_to";
readonly type: "address";
}, {
readonly name: "_value";
readonly type: "uint256";
}];
readonly name: "transferFrom";
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
}];
readonly type: "function";
}];