import { LineInfo } from '../misc/utils'; import { IExpression } from '../typings/expression'; import { Expression } from '../core/expression'; import { MichelsonType } from '../core/enums/type'; /** * Compute a Blake2B cryptographic hash * * ```typescript * BLAKE2B(Bytes("0x01")); * ``` * * @category Crypto * * @param bytes An expression that evaluates to a bytes value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const BLAKE2B: (bytes: IExpression, line?: LineInfo) => Expression; /** * Compute a SHA-256 cryptographic hash * * ```typescript * SHA256(Bytes("0x01")); * ``` * * @category Crypto * * @param bytes An expression that evaluates to a bytes value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const SHA256: (bytes: IExpression, line?: LineInfo) => Expression; /** * Compute a SHA-512 cryptographic hash * * ```typescript * SHA512(Bytes("0x01")); * ``` * * @category Crypto * * @param bytes An expression that evaluates to a bytes value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const SHA512: (bytes: IExpression, line?: LineInfo) => Expression; /** * Compute a SHA3-256 cryptographic hash * * ```typescript * SHA3(Bytes("0x01")); * ``` * * @category Crypto * * @param bytes An expression that evaluates to a bytes value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const SHA3: (bytes: IExpression, line?: LineInfo) => Expression; /** * Compute a Keccak-256 cryptographic hash * * ```typescript * KECCAK(Bytes("0x01")); * ``` * * @category Crypto * * @param bytes An expression that evaluates to a bytes value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression */ export declare const KECCAK: (bytes: IExpression, line?: LineInfo) => Expression; /** * Verifies that a given sequence of bytes has been signed with a given key. * * ```typescript * CheckSignature(Key("edpku3g7CeTEvSKhxipD4Q2B6EiEP8cR323u8PFmGFgKRVRvCneEmT"), Signature("sigsAujsNePapNNGsVotTvcKWMNNJja9B4a2FfAe8vExzFhEgEo1GTQStiif22uSA6iNxPGCGsXsRyeLHzeLbJL2y8CnYuNe"), Bytes("0x01")); * ``` * * @category Crypto * * @param key The public key that signed the bytes. * @param signature The bytes signature. * @param bytes The raw bytes that were signed. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression of type `TBool()`. */ export declare const CheckSignature: (key: IExpression, signature: IExpression, bytes: IExpression, line?: LineInfo) => Expression; /** * Hash public key. * * ```typescript * HashKey(Key("edpku3g7CeTEvSKhxipD4Q2B6EiEP8cR323u8PFmGFgKRVRvCneEmT")); * ``` * * @category Contract * * @param key An expression that evaluates to a public key value. * @param {LineInfo} line Source code line information (Used in error messages) * * @returns {IExpression} An expression of type `TContract(TUnit())`. */ export declare const HashKey: (key: IExpression, line?: LineInfo) => IExpression; export declare const Crypto: { BLAKE2B: (bytes: IExpression, line?: LineInfo) => Expression; SHA256: (bytes: IExpression, line?: LineInfo) => Expression; SHA512: (bytes: IExpression, line?: LineInfo) => Expression; SHA3: (bytes: IExpression, line?: LineInfo) => Expression; KECCAK: (bytes: IExpression, line?: LineInfo) => Expression; CheckSignature: (key: IExpression, signature: IExpression, bytes: IExpression, line?: LineInfo) => Expression; HashKey: (key: IExpression, line?: LineInfo) => IExpression; };