import BigNumber from 'bignumber.js'; import { ApiClient } from '../.'; /** * Token RPCs for DeFi Blockchain */ export declare class Token { private readonly client; constructor(client: ApiClient); /** * Creates a token with given metadata * * @param {CreateTokenMetadata} metadata * @param {string} metadata.symbol token's symbol (unique) * @param {string} metadata.name token's name (unique) * @param {boolean} metadata.isDAT default = false * @param {boolean} metadata.mintable default = true * @param {boolean} metadata.tradeable default = true * @param {string} metadata.collateralAddress for keeping collateral amount * @param {UTXO[]} utxos array of specific UTXOs to spend * @param {string} utxos.txid * @param {number} utxos.vout * @return {Promise} */ createToken(metadata: CreateTokenMetadata, utxos?: UTXO[]): Promise; /** * Updates a token with given metadata * * @param {string} token symbolKey, id ror creation tx * @param {UpdateTokenMetadata} [metadata] * @param {string} [metadata.symbol] * @param {string} [metadata.name] * @param {boolean} [metadata.isDAT] * @param {boolean} [metadata.mintable] * @param {boolean} [metadata.tradeable] * @param {boolean} [metadata.finalize] * @return {Promise} */ updateToken(token: string, metadata?: UpdateTokenMetadata): Promise; /** * Returns information about tokens * * @param {TokenPagination} pagination * @param {number} pagination.start * @param {boolean} pagination.including_start * @param {number} pagination.limit * @param {boolean} verbose * @return {Promise} */ listTokens(pagination?: TokenPagination, verbose?: boolean): Promise; /** * Return information about token * * @param {string} symbolKey * @return {Promise} */ getToken(symbolKey: string): Promise; /** * Creates a transaction to mint tokens. * * @param {string} amountToken formatted as `${number}@${string}` * @param {UTXO[]} [utxos = []] * @param {string} [utxos.txid] * @param {number} [utxos.vout] * @return {Promise} */ mintTokens(amountToken: string, utxos?: UTXO[]): Promise; } export interface TokenResult { [id: string]: TokenInfo; } export interface TokenInfo { symbol: string; symbolKey: string; name: string; decimal: BigNumber; limit: BigNumber; mintable: boolean; tradeable: boolean; isDAT: boolean; isLPS: boolean; isLoanToken: boolean; finalized: boolean; minted: BigNumber; creationTx: string; creationHeight: BigNumber; destructionTx: string; destructionHeight: BigNumber; collateralAddress: string; } export interface CreateTokenMetadata { symbol: string; name: string; isDAT: boolean; mintable: boolean; tradeable: boolean; collateralAddress: string; } export interface UpdateTokenMetadata { symbol?: string; name?: string; isDAT?: boolean; mintable?: boolean; tradeable?: boolean; finalize?: boolean; } export interface TokenPagination { start: number; including_start: boolean; limit: number; } export interface UTXO { txid: string; vout: number; } //# sourceMappingURL=token.d.ts.map