@swtc/address-codec
Version:
encode decode base58 SWTC identifiers
92 lines • 3 kB
TypeScript
/**
* Codec class
*/
/// <reference types="node" />
export interface IChainConfig {
guomi?: boolean;
currency?: string;
ACCOUNT_ALPHABET?: string;
[key: string]: any;
}
export declare type IAlgorithm = "ed25519" | "secp256k1" | "sm2p256v1";
export declare class Codec {
sha256: (bytes: Uint8Array) => Buffer;
alphabet: string;
codec: any;
base: number;
constructor(options: {
sha256: (bytes: Uint8Array) => Buffer;
alphabet: string;
});
/**
* Encoder.
*
* @param bytes Buffer of data to encode.
* @param opts Options object including the version bytes and the expected length of the data to encode.
*/
encode(bytes: Buffer, opts: {
versions: number[];
expectedLength: number;
}): string;
encodeVersioned(bytes: Buffer, versions: number[], expectedLength: number): string;
encodeChecked(buffer: Buffer): string;
encodeRaw(bytes: Buffer): string;
/**
* Decoder.
*
* @param base58string Base58Check-encoded string to decode.
* @param opts Options object including the version byte(s) and the expected length of the data after decoding.
*/
decode(base58string: string, opts: {
versions: (number | number[])[];
expectedLength?: number;
versionTypes?: string[];
}): {
version: number[];
bytes: Buffer;
type: string | null;
};
decodeChecked(base58string: string): Buffer;
decodeRaw(base58string: string): Buffer;
verifyCheckSum(bytes: Buffer): boolean;
}
export declare function Factory(chain_or_token?: string | IChainConfig): {
guomi: boolean;
token: string;
codec: Codec;
encode: (bytes: Buffer, opts: {
versions: number[];
expectedLength: number;
}) => string;
decode: (base58string: string, opts: {
versions: (number | number[])[];
expectedLength?: number | undefined;
versionTypes?: string[] | undefined;
}) => {
version: number[];
bytes: Buffer;
type: string | null;
};
encodeSeed: (entropy: Buffer, type?: IAlgorithm) => string;
decodeSeed: (seed: string, opts?: {
versionTypes: string[];
versions: (number | number[])[];
expectedLength: number;
}) => {
version: number[];
bytes: Buffer;
type: string | null;
};
isValidSeed: (seed: string) => boolean;
encodeAccountID: (bytes: Buffer) => string;
decodeAccountID: (accountId: string) => Buffer;
encodeNodePublic: (bytes: Buffer) => string;
decodeNodePublic: (base58string: string) => Buffer;
encodeNodePrivate: (bytes: Buffer) => string;
decodeNodePrivate: (base58string: string) => Buffer;
isValidClassicAddress: (address: string) => boolean;
isValidAddress: (address: string) => boolean;
encodeAddress: (bytes: Buffer) => string;
decodeAddress: (accountId: string) => Buffer;
};
//# sourceMappingURL=address-codec.d.ts.map