@safik/fk-plug-controller
Version:
Internet Computer Plug wallet's controller
43 lines (42 loc) • 1.57 kB
TypeScript
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;