UNPKG

@fioprotocol/fiojs

Version:

FioJS is a Utility SDK for packing, signing and encryption functionality for the FIO blockchain. It is used by the FIO TypeScript SDK

74 lines (73 loc) 3.06 kB
/** Is `bignum` a negative number? */ export declare function isNegative(bignum: Uint8Array): boolean; /** Negate `bignum` */ export declare function negate(bignum: Uint8Array): void; /** * Convert an unsigned decimal number in `s` to a bignum * @param size bignum size (bytes) */ export declare function decimalToBinary(size: number, s: string): Uint8Array; /** * Convert a signed decimal number in `s` to a bignum * @param size bignum size (bytes) */ export declare function signedDecimalToBinary(size: number, s: string): Uint8Array; /** * Convert `bignum` to an unsigned decimal number * @param minDigits 0-pad result to this many digits */ export declare function binaryToDecimal(bignum: Uint8Array, minDigits?: number): string; /** * Convert `bignum` to a signed decimal number * @param minDigits 0-pad result to this many digits */ export declare function signedBinaryToDecimal(bignum: Uint8Array, minDigits?: number): string; /** * Convert an unsigned base-58 number in `s` to a bignum * @param size bignum size (bytes) */ export declare function base58ToBinary(size: number, s: string): Uint8Array; /** * Convert `bignum` to a base-58 number * @param minDigits 0-pad result to this many digits */ export declare function binaryToBase58(bignum: Uint8Array, minDigits?: number): string; /** Convert an unsigned base-64 number in `s` to a bignum */ export declare function base64ToBinary(s: string): Uint8Array; /** Key types this library supports */ export declare enum KeyType { k1 = 0, r1 = 1 } /** Public key data size, excluding type field */ export declare const publicKeyDataSize = 33; /** Private key data size, excluding type field */ export declare const privateKeyDataSize = 32; /** Signature data size, excluding type field */ export declare const signatureDataSize = 65; /** Public key, private key, or signature in binary form */ export interface Key { type: KeyType; data: Uint8Array; } /** Convert key in `s` to binary form */ export declare function stringToPublicKey(s: string): Key; /** Convert `key` to string (base-58) form */ export declare function publicKeyToString(key: Key): string; /** If a key is in the legacy format (`FIO` prefix), then convert it to the new format (`PUB_K1_`). * Leaves other formats untouched */ export declare function convertLegacyPublicKey(s: string): string; /** If a key is in the legacy format (`FIO` prefix), then convert it to the new format (`PUB_K1_`). * Leaves other formats untouched */ export declare function convertLegacyPublicKeys(keys: string[]): string[]; /** Convert key in `s` to binary form */ export declare function stringToPrivateKey(s: string): Key; /** Convert `key` to string (base-58) form */ export declare function privateKeyToString(key: Key): string; /** Convert key in `s` to binary form */ export declare function stringToSignature(s: string): Key; /** Convert `signature` to string (base-58) form */ export declare function signatureToString(signature: Key): string; export declare function arrayToHex(data: Uint8Array): string;