/// import { ethers } from 'ethers'; import { ECDSASignature } from 'ethereumjs-util'; import { TypedDataDomain, TypedDataField } from '@ethersproject/abstract-signer'; import { EthereumAddress, EthereumPrivateKey, EthereumPublicKey, EthereumSignature, EthereumSignatureNative, EthereumTxData, EthUnit } from '../models'; /** Checks if a valid signature with ECDSASignature */ export declare function isValidSignature(v: number, r: Buffer, s: Buffer): boolean; export declare function isValidEthereumTxData(value: string | Buffer | EthereumTxData): value is EthereumTxData; export declare function isValidEthereumPublicKey(value: string | EthereumPublicKey): value is EthereumPublicKey; export declare function isValidEthereumPrivateKey(value: EthereumPrivateKey | string): value is EthereumPrivateKey; /** whether a value is a valid native Ethereum signature (or a strinigified version of it) */ export declare function isValidEthereumSignatureNative(value: EthereumSignature | string | ECDSASignature): value is EthereumSignature; /** whether a value is a valid native Ethereum signature (or a strinigified version of it) */ export declare function isValidEthereumSignature(value: EthereumSignature | string | ECDSASignature): value is EthereumSignature; /** whether value is an Ethereum address */ export declare function isValidEthereumAddress(value: string | Buffer | EthereumAddress): boolean; /** whether value is an Ethereum TxId (Hash) */ export declare function isValidEthereumTxId(value: string | Buffer | EthereumAddress): boolean; /** throws error if value is not a valid transactionId */ export declare function assertIsValidTransactionId(value: any): void; /** Accepts hex string checks if a valid ethereum data hex * Returns EthereumPublicKey with prefix */ export declare function toEthereumTxData(value: string | Buffer): EthereumTxData; /** Accepts hex string checks if a valid ethereum public key * Returns EthereumPublicKey with prefix */ export declare function toEthereumPublicKey(value: string): EthereumPublicKey; /** Accepts hex string checks if a valid ethereum private key * Returns EthereumPrivateKey with prefix */ export declare function toEthereumPrivateKey(value: string): EthereumPrivateKey; /** Accepts ECDSASignature object or stringified version of it, or hexstring of signature (as returned from eth_sign) * Returns EthereumSignatureNative */ export declare function toEthereumSignatureNative(value: string | ECDSASignature): EthereumSignatureNative; /** Accepts any signature object or stringified version of it * Returns EthereumSignature string (stringified valid for ETh chain or multisig contract) */ export declare function toEthereumSignature(value: any): EthereumSignature; /** Accepts hex string checks if a valid ethereum address * Returns EthereumAddress with prefix */ export declare function toEthereumAddress(value: string): EthereumAddress; /** convert to supported units - e.g. 'eth' to 'ether' */ export declare function mapAlternativeUnits(unit: string): string; /** convert string to EthUnit - throws if not valid value, maps known synonyms ('eth' to 'ether') */ export declare function toEthUnit(unit: string): EthUnit; /** accepts a hexstring or Buffer and returns hexstring (converts buffer to hexstring) */ export declare function convertBufferToHexStringIfNeeded(value: string | Buffer): any; /** accepts a privatekey string returns a wallet object */ export declare function getEthersWallet(privateKey: string, provider?: ethers.providers.Provider): ethers.Wallet; /** accepts a privatekey string returns an address */ export declare function privateKeyToAddress(privateKey: string): EthereumAddress; /** checks that the signature matches the message and that the message matches the types provided */ export declare function verifyTypedData(domain: TypedDataDomain, types: Record, message: Record, signature: any): string; /** splits a signature into r, s, v values */ export declare function splitSignature(signature: string): ethers.Signature;