declare module 'ethereumjs-util' { import { Buffer } from 'safe-buffer' import BN = require('bn.js') 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): number export function bufferToHex (buf: Buffer): string export function fromSigned (num: Buffer): 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 stripHexPrefix (str: string): string export function isValidSignature (v: number, r: Buffer|string, s: Buffer|string, homestead?: boolean): boolean export function baToJSON (ba: Buffer): string export function baToJSON (ba: any[]): string[] }