import { Fr } from '@aztec/foundation/curves/bn254'; import type { ContractClass } from './interfaces/contract_class.js'; /** * Returns the id of a contract class computed as its hash. * * ``` * version = 1 * private_function_leaves = private_functions.map(fn => pedersen([fn.function_selector as Field, fn.vk_hash], GENERATOR__PRIVATE_FUNCTION_LEAF)) * private_functions_root = merkleize(private_function_leaves) * bytecode_commitment = calculate_commitment(packed_bytecode) * contract_class_id = pedersen([version, artifact_hash, private_functions_root, bytecode_commitment], GENERATOR__CLASS_IDENTIFIER) * ``` * @param contractClass - Contract class. * @returns The identifier. */ export declare function computeContractClassId(contractClass: ContractClass | ContractClassIdPreimage): Promise; /** Computes a contract class id and returns it along with its preimage. */ export declare function computeContractClassIdWithPreimage(contractClass: ContractClass | ContractClassIdPreimage): Promise; /** Returns the preimage of a contract class id given a contract class. */ export declare function computeContractClassIdPreimage(contractClass: ContractClass): Promise; /** Preimage of a contract class id. */ export type ContractClassIdPreimage = { artifactHash: Fr; privateFunctionsRoot: Fr; publicBytecodeCommitment: Fr; }; export declare function computePublicBytecodeCommitment(packedBytecode: Buffer): Promise; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfaWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9jbGFzc19pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLcEQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEU7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsd0JBQXNCLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxhQUFhLEdBQUcsdUJBQXVCLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUVoSDtBQUVELDJFQUEyRTtBQUMzRSx3QkFBc0Isa0NBQWtDLENBQ3RELGFBQWEsRUFBRSxhQUFhLEdBQUcsdUJBQXVCLEdBQ3JELE9BQU8sQ0FBQyx1QkFBdUIsR0FBRztJQUFFLEVBQUUsRUFBRSxFQUFFLENBQUE7Q0FBRSxDQUFDLENBZS9DO0FBRUQsMEVBQTBFO0FBQzFFLHdCQUFzQiw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUluSDtBQUVELHVDQUF1QztBQUN2QyxNQUFNLE1BQU0sdUJBQXVCLEdBQUc7SUFDcEMsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUNqQixvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDekIsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO0NBQzlCLENBQUM7QUFFRix3QkFBc0IsK0JBQStCLENBQUMsY0FBYyxFQUFFLE1BQU0sZUFlM0UifQ==