UNPKG

dab-js-without-registry

Version:
56 lines (55 loc) 1.99 kB
import { ActorSubclass } from '@dfinity/agent'; import { Principal } from '@dfinity/principal'; import { Metadata } from '../../interfaces/ext'; import { BurnResult } from '../../interfaces/xtc'; import { BaseMethodsExtendedActor } from '../../utils/actorFactory'; interface TimeStamp { timestamp_nanos: bigint; } export interface SendOpts { fee?: bigint; memo?: string; from_subaccount?: number; created_at_time?: TimeStamp; } export declare type SendResponse = { height: string; } | { amount: string; } | { transactionId: string; }; export interface SendParams { to: string; from: string; amount: bigint; opts?: any; } export interface BurnParams { to: Principal; amount: string; } export interface BalanceResponse { value: string; decimals: number; error?: string; } interface AddedMehtodsToken { send: ({ to, from, amount }: SendParams) => Promise<SendResponse>; getMetadata: () => Promise<Metadata>; getBalance: (user: Principal) => Promise<BalanceResponse>; burnXTC: ({ to, amount }: BurnParams) => Promise<BurnResult>; getDecimals: () => Promise<number>; } export declare type TokenServiceExtended<T> = BaseMethodsExtendedActor<T> & AddedMehtodsToken; export interface InternalTokenMethods { send: (actor: ActorSubclass<any>, { to, from, amount }: SendParams) => Promise<SendResponse>; getMetadata: (actor: ActorSubclass<any>) => Promise<Metadata>; getBalance: (actor: ActorSubclass<any>, user: Principal) => Promise<BalanceResponse>; burnXTC: (actor: ActorSubclass<any>, { to, amount }: BurnParams) => Promise<BurnResult>; getDecimals: (actor: ActorSubclass<any>) => Promise<number>; } export declare const getDecimalsFromMetadata: (metadata: Metadata) => number; export declare const parseAmountToSend: (amount: string, decimals: number) => bigint; declare const _default: InternalTokenMethods; export default _default;