UNPKG

@safik/fk-plug-controller

Version:

Internet Computer Plug wallet's controller

43 lines (42 loc) 1.57 kB
import { ActorSubclass } from '@dfinity/agent'; import { Principal } from '@dfinity/principal'; import { Metadata } from '../../../interfaces/ext'; import { BurnResult } from '../../../interfaces/xtc'; import { BaseMethodsExtendedActor } from '../actorFactory'; export declare type SendResponse = { height: string; } | { amount: string; } | { transactionId: string; }; export interface SendParams { to: string; from: string; amount: string; } export interface BurnParams { to: Principal; amount: string; } export interface Balance { value: string; decimals: number; } interface AddedMehtodsToken { send: ({ to, from, amount }: SendParams) => Promise<SendResponse>; getMetadata: () => Promise<Metadata>; getBalance: (user: Principal) => Promise<Balance>; burnXTC: ({ to, amount }: BurnParams) => Promise<BurnResult>; } 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<Balance>; burnXTC: (actor: ActorSubclass<any>, { to, amount }: BurnParams) => Promise<BurnResult>; } export declare const getDecimals: (metadata: Metadata) => number; export declare const parseAmountToSend: (amount: string, decimals: number) => bigint; declare const _default: InternalTokenMethods; export default _default;