MyCrypto/common/typescript/ethereumjs-util.d.ts

110 lines
3.3 KiB
TypeScript

declare module 'ethereumjs-util' {
import { Buffer } from 'buffer';
import BN from 'bn.js';
export import rlp = require('rlp');
interface Signature {
v: number;
r: Buffer;
s: Buffer;
}
export const MAX_INTEGER: BN;
export const TWO_POW256: BN;
export const SHA3_NULL_S: string;
export const SHA3_NULL: Buffer;
export const SHA3_RLP_ARRAY_S: string;
export const SHA3_RLP_ARRAY: Buffer;
export const SHA3_RLP_S: string;
export const SHA3_RLP: Buffer;
export function zeros(bytes: number): Buffer;
export function setLength(msg: Buffer, length: number, right: boolean): Buffer;
export function setLength(msg: number[], length: number, right: boolean): number[];
export function setLengthLeft(msg: Buffer, length: number, right: boolean): Buffer;
export function setLengthLeft(msg: number[], length: number, right: boolean): number[];
export function setLengthRight(msg: Buffer, length: number): Buffer;
export function setLengthRight(msg: number[], length: number): number[];
export function unpad(a: Buffer): Buffer;
export function unpad(a: number[]): number[];
export function unpad(a: string): string;
export function toBuffer(v: any): Buffer;
export function bufferToInt(buf: Buffer | BN): number;
export function bufferToHex(buf: Buffer | BN): string;
export function fromSigned(num: Buffer | BN): BN;
export function toUnsigned(num: BN): Buffer;
export function sha3(a: Buffer | string | number | number[], bits?: number): Buffer;
export function sha256(a: Buffer | string | number | number[]): Buffer;
export function ripemd160(a: Buffer | string | number | number[], padded?: boolean): Buffer;
export function rlphash(a: Buffer | string | number | number[]): Buffer;
export function isValidPrivate(privateKey: Buffer): boolean;
export function isValidPublic(publicKey: Buffer, sanitize?: boolean): boolean;
export function pubToAddress(publicKey: Buffer, sanitize?: boolean): Buffer;
export function publicToAddress(publicKey: Buffer, sanitize?: boolean): Buffer;
export function privateToPublic(privateKey: Buffer): Buffer;
export function importPublic(publicKey: Buffer): Buffer;
export function ecsign(message: Buffer, privateKey: Buffer): Signature;
export function hashPersonalMessage(message: Buffer | string): Buffer;
export function ecrecover(msgHash: Buffer, v: number, r: Buffer, s: Buffer): Buffer;
export function toRpcSig(v: number, r: Buffer, s: Buffer): string;
export function fromRpcSig(sig: string): Signature;
export function privateToAddress(privateKey: Buffer): Buffer;
export function isValidAddress(address: string): boolean;
export function toChecksumAddress(address: string): string;
export function isValidChecksumAddress(address: string): boolean;
export function generateAddress(
from: Buffer | string,
nonce: number | string | number[] | Buffer
): Buffer;
export function isPrecompiled(address: Buffer | string): boolean;
export function addHexPrefix(str: string): string;
export function isValidSignature(
v: number,
r: Buffer | string,
s: Buffer | string,
homestead?: boolean
): boolean;
export function padToEven(str: string): string;
export function baToJSON(ba: Buffer): string;
export function baToJSON(ba: any[]): string[];
}