@funded-labs/plug-controller
Version:
Internet Computer Plug wallet's controller
90 lines (89 loc) • 3.15 kB
TypeScript
import { NFTCollection } from '@funded-labs/dab-js';
import { CreateCertificateOptions, SignIdentity } from '@dfinity/agent';
import { StandardToken } from '../../../interfaces/token';
export declare type NetworkParams = {
name: string;
host: string;
ledgerCanisterId?: string;
registeredTokens?: RegisteredToken[];
registeredNFTS?: RegisteredNFT[];
id?: string;
onChange?: () => void;
};
export declare type EditNetworkParams = {
name?: string;
host?: string;
ledgerCanisterId?: string;
};
export declare type RegisteredToken = StandardToken & {
registeredBy: Array<string>;
};
export declare type RegisteredNFT = NFTCollection & {
registeredBy: Array<string>;
};
declare type uniqueTokensType = Array<RegisteredToken | RegisteredNFT>;
export declare const uniqueTokens: (tokens: uniqueTokensType) => (RegisteredToken | RegisteredNFT)[];
export declare class Network {
name: string;
host: string;
ledgerCanisterId?: string;
id: string;
isCustom: boolean;
defaultTokens: StandardToken[];
registeredTokens: RegisteredToken[];
registeredNFTS: RegisteredNFT[];
private onChange;
private fetch;
private blsVerify;
constructor(networkParams: NetworkParams, fetch: any, blsVerify?: CreateCertificateOptions['blsVerify']);
get tokens(): StandardToken[];
tokenByCanisterId(canisterId: string): StandardToken | undefined;
edit({ name, host, ledgerCanisterId }: EditNetworkParams): void;
createAgent({ defaultIdentity }: {
defaultIdentity: SignIdentity;
}): import("@funded-labs/dab-js").HttpAgent;
getTokenInfo: ({ canisterId, standard, defaultIdentity }: {
canisterId: any;
standard: any;
defaultIdentity: any;
}) => Promise<RegisteredToken>;
getNftInfo: ({ canisterId, identity, standard }: {
canisterId: any;
identity: any;
standard: any;
}) => Promise<{
registeredBy: never[];
name: string;
canisterId: string;
standard: string;
tokens: import("@funded-labs/dab-js").NFTDetails<string | bigint>[];
icon?: string | undefined;
description?: string | undefined;
}>;
registerNFT: ({ canisterId, standard, walletId, identity }: {
canisterId: any;
standard: any;
walletId: any;
identity: any;
}) => Promise<RegisteredNFT[]>;
registerToken: ({ canisterId, standard, walletId, defaultIdentity, logo, }: {
canisterId: string;
standard: string;
walletId: string;
defaultIdentity: SignIdentity;
logo?: string | undefined;
}) => Promise<StandardToken[]>;
removeToken: ({ canisterId, }: {
canisterId: string;
}) => Promise<RegisteredToken[]>;
getTokens: (walletId: any) => StandardToken[];
toJSON(): Omit<NetworkParams, 'onChange'>;
}
export declare class Mainnet extends Network {
constructor({ registeredTokens, onChange, }: {
registeredTokens?: RegisteredToken[];
onChange?: () => void;
}, fetch: any, blsVerify?: CreateCertificateOptions['blsVerify']);
edit(): void;
}
export {};