@aryze/sdk-core
Version:
⚒️ An SDK for building applications on top of MAMAv3
40 lines (39 loc) • 1.56 kB
TypeScript
import { BaseCurrency } from './baseCurrency';
import { Currency } from './currency';
/**
* Represents an ERC20 token with a unique address and some metadata.
*/
export declare class Token extends BaseCurrency {
readonly isNative: false;
readonly isToken: true;
/**
* The contract address on the chain on which this token lives
*/
readonly address: string;
/**
*
* @param chainId {@link BaseCurrency#chainId}
* @param address The contract address on the chain on which this token lives
* @param decimals {@link BaseCurrency#decimals}
* @param symbol {@link BaseCurrency#symbol}
* @param name {@link BaseCurrency#name}
* @param bypassChecksum If true it only checks for length === 42, startsWith 0x and contains only hex characters
*/
constructor(chainId: number, address: string, decimals: number, symbol?: string, name?: string, bypassChecksum?: boolean);
/**
* Returns true if the two tokens are equivalent, i.e. have the same chainId and address.
* @param other other token to compare
*/
equals(other: Currency): boolean;
/**
* Returns true if the address of this token sorts before the address of the other token
* @param other other token to compare
* @throws if the tokens have the same address
* @throws if the tokens are on different chains
*/
sortsBefore(other: Token): boolean;
/**
* Return this token, which does not need to be wrapped
*/
get wrapped(): Token;
}