UNPKG

@pushchain/core

Version:

Push Chain is a true universal L1 that is 100% EVM compatible. It allows developers to deploy once and make their apps instantly compatible with users from all other L1s (Ethereum, Solana, etc) with zero on-chain code change.

53 lines (52 loc) 1.45 kB
import { CHAIN } from './enums'; export interface MoveableToken { symbol: string; decimals: number; address: string; mechanism: 'approve' | 'permit2' | 'native'; } export interface PayableToken { symbol: string; decimals: number; address: string; mechanism: 'approve' | 'permit2' | 'native'; } export type MoveableTokenMap = Partial<{ ETH: MoveableToken; SOL: MoveableToken; USDT: MoveableToken; WETH: MoveableToken; }>; export type PayableTokenMap = Partial<{ ETH: PayableToken; USDT: PayableToken; WETH: PayableToken; USDC: PayableToken; }>; export declare class MoveableTokenAccessor { private readonly tokens; constructor(tokens: Record<string, MoveableToken>); private require; get ETH(): MoveableToken; get SOL(): MoveableToken; get USDT(): MoveableToken; get WETH(): MoveableToken; } export declare class PayableTokenAccessor { private readonly tokens; constructor(tokens: Record<string, PayableToken>); private require; get ETH(): PayableToken; get USDT(): PayableToken; get USDC(): PayableToken; get WETH(): PayableToken; } export interface ConversionQuote { amountIn: string; amountOut: string; rate: number; route?: string[]; timestamp: number; } export declare const MOVEABLE_TOKENS: Partial<Record<CHAIN, MoveableToken[]>>; export declare const PAYABLE_TOKENS: Partial<Record<CHAIN, PayableToken[]>>;