UNPKG

iso-filecoin

Version:

Isomorphic filecoin abstractions for RPC, signatures, address, token and wallet

157 lines 6.15 kB
/** * Generate mnemonic */ export function generateMnemonic(): string; /** * Get seed from mnemonic * * @param {string} mnemonic * @param {string} [password] */ export function mnemonicToSeed(mnemonic: string, password?: string): Uint8Array<ArrayBufferLike>; /** * Get HD account from mnemonic * * @param {string} mnemonic * @param {import('./types.js').SignatureType} type * @param {string} path * @param {string} [password] * @param {import('./types.js').Network} [network] */ export function accountFromMnemonic(mnemonic: string, type: import("./types.js").SignatureType, path: string, password?: string, network?: import("./types.js").Network): { type: import("./signature.js").SignatureType; address: import("./types.js").IAddress; publicKey: Uint8Array; path: string; privateKey: Uint8Array; }; /** * Get HD account from seed * * @param {Uint8Array} seed * @param {import('./types.js').SignatureType} type * @param {string} path * @param {import('./types.js').Network} [network] * @returns {SetRequired<import('./types.js').IAccount, 'privateKey' | 'path'>} */ export function accountFromSeed(seed: Uint8Array, type: import("./types.js").SignatureType, path: string, network?: import("./types.js").Network): SetRequired<import("./types.js").IAccount, "privateKey" | "path">; /** * Get account from private key * * Lotus BLS private key is little endian so you need to reverse the byte order. Use `lotusBlsPrivateKeyToBytes` to convert. * * @param {Uint8Array} privateKey * @param {import('./types.js').SignatureType} type * @param {import('./types.js').Network} network * @param {string} [path] * @returns {SetRequired<import('./types.js').IAccount, 'privateKey'>} */ export function accountFromPrivateKey(privateKey: Uint8Array, type: import("./types.js").SignatureType, network: import("./types.js").Network, path?: string): SetRequired<import("./types.js").IAccount, "privateKey">; /** * Get account from lotus private key export * * @param {string} lotusHex - Lotus hex encoded private key .ie `hex({"Type":"bls","PrivateKey":"base64pad(private-key)"})` * @param {import('./types.js').Network} network - Network * @returns {import('./types.js').IAccount} */ export function accountFromLotus(lotusHex: string, network: import("./types.js").Network): import("./types.js").IAccount; /** * Create account * * @param {import('./types.js').SignatureType} type * @param {import('./types.js').Network} network * @returns {SetRequired<import('./types.js').IAccount, 'privateKey'>} */ export function create(type: import("./types.js").SignatureType, network: import("./types.js").Network): SetRequired<import("./types.js").IAccount, "privateKey">; /** * Get public key from private key * * @param {Uint8Array} privateKey * @param {import('./types.js').Network} network * @param {import('./types.js').SignatureType} type * @returns {import('./types.js').IAccount} */ export function getPublicKey(privateKey: Uint8Array, network: import("./types.js").Network, type: import("./types.js").SignatureType): import("./types.js").IAccount; /** * Sign filecoin message * * @param {Uint8Array} privateKey * @param {import('./types.js').SignatureType} type * @param {import('./types.js').MessageObj} message * @returns */ export function signMessage(privateKey: Uint8Array, type: import("./types.js").SignatureType, message: import("./types.js").MessageObj): Signature; /** * Sign arbitary bytes similar to `lotus wallet sign` * * Lotus BLS private key is little endian so you need to reverse the byte order. Use `lotusBlsPrivateKeyToBytes` to convert. * * @param {Uint8Array} privateKey * @param {import('./types.js').SignatureType} type * @param {Uint8Array} data */ export function sign(privateKey: Uint8Array, type: import("./types.js").SignatureType, data: Uint8Array): Signature; /** * Personal sign using FRC-102 * * @see https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0102.md * * @param {Uint8Array} privateKey * @param {import('./types.js').SignatureType} type * @param {Uint8Array} data */ export function personalSign(privateKey: Uint8Array, type: import("./types.js").SignatureType, data: Uint8Array): Signature; /** * Personal verify using FRC-102 * * @see https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0102.md * * @param {import('./signature.js').Signature} signature * @param {Uint8Array} data * @param {Uint8Array} publicKey */ export function personalVerify(signature: import("./signature.js").Signature, data: Uint8Array, publicKey: Uint8Array): boolean; /** * Verify signatures * * @param {import('./signature.js').Signature} signature * @param {Uint8Array} data * @param {Uint8Array} publicKey */ export function verify(signature: import("./signature.js").Signature, data: Uint8Array, publicKey: Uint8Array): boolean; /** * Lotus BLS base64 private key to bytes * Lotus BLS private key is little endian so you need to reverse the byte order. * * @param {string} priv */ export function lotusBlsPrivateKeyToBytes(priv: string): Uint8Array<ArrayBufferLike>; /** * * @param {Signature} signature * @param {Uint8Array} data */ export function recoverPublicKey(signature: Signature, data: Uint8Array): Uint8Array<ArrayBufferLike>; /** * * @param {Signature} signature * @param {Uint8Array} data * @param {import('./types.js').Network} network */ export function recoverAddress(signature: Signature, data: Uint8Array, network: import("./types.js").Network): import("./address.js").AddressSecp256k1 | import("./address.js").AddressBLS; /** * Export account to lotus private key export format (hex) * * @param {import('./types.js').IAccount} account */ export function accountToLotus(account: import("./types.js").IAccount): string; export namespace Schemas { let lotusPrivateKey: z.ZodObject<{ Type: z.ZodUnion<readonly [z.ZodLiteral<"bls">, z.ZodLiteral<"secp256k1">]>; PrivateKey: z.ZodString; }, z.core.$strip>; } import type { SetRequired } from 'type-fest'; import { Signature } from './signature.js'; import { z } from 'zod'; //# sourceMappingURL=wallet.d.ts.map