@funded-labs/plug-controller
Version:
Internet Computer Plug wallet's controller
55 lines (54 loc) • 1.54 kB
TypeScript
import { NFTCollection } from '@funded-labs/dab-js';
import { Network, NetworkModuleParams } from '../PlugKeyRing/modules/NetworkModule';
import { TokenBalance } from './token';
import { Types } from '../utils/account/constants';
import { GenericSignIdentity } from '../utils/identity/genericSignIdentity';
import { CreateCertificateOptions } from '@dfinity/agent';
export interface ICNSData {
names?: string[];
reverseResolvedName?: string;
}
export interface PlugWalletArgs {
name?: string;
walletId: string;
orderNumber: number;
walletNumber?: number;
icon?: string;
fetch: any;
icnsData?: {
names?: string[];
reverseResolvedName?: string;
};
network: Network;
identity: GenericSignIdentity;
type: Types;
blsVerify?: CreateCertificateOptions['blsVerify'];
}
export interface Assets {
[canisterId: string]: TokenBalance;
}
export interface JSONWallet {
name: string;
walletId: string;
orderNumber: number;
walletNumber?: number;
principal: string;
accountId: string;
icon?: string;
icnsData: ICNSData;
networkModule?: NetworkModuleParams;
type: Types;
keyPair: string;
}
export interface NFTDetailsBase<idT = bigint> {
index: idT;
canister: string;
url: string;
standard: string;
}
export interface WalletNFTCollection extends Omit<NFTCollection, 'tokens'> {
tokens: NFTDetailsBase<bigint | string>[];
}
export interface WalletNFTInfo extends NFTCollection {
registeredBy: Array<string>;
}