import { Fr } from '@aztec/foundation/curves/bn254'; import { type FunctionAbi, FunctionSelector } from '../abi/index.js'; import type { AztecAddress } from '../aztec-address/index.js'; import type { ContractInstance } from './interfaces/contract_instance.js'; /** * Returns the deployment address for a given contract instance. * ``` * salted_initialization_hash = pedersen([salt, initialization_hash, deployer], GENERATOR__SALTED_INITIALIZATION_HASH) * partial_address = pedersen([contract_class_id, salted_initialization_hash], GENERATOR__CONTRACT_PARTIAL_ADDRESS_V1) * address = ((poseidon2Hash([public_keys_hash, partial_address, GENERATOR__CONTRACT_ADDRESS_V1]) * G) + ivpk_m).x <- the x-coordinate of the address point * ``` * @param instance - A contract instance for which to calculate the deployment address. */ export declare function computeContractAddressFromInstance(instance: ContractInstance | ({ originalContractClassId: Fr; saltedInitializationHash: Fr; } & Pick)): Promise; /** * Computes the partial address defined as the hash of the contract class id and salted initialization hash. * @param instance - Contract instance for which to calculate the partial address. */ export declare function computePartialAddress(instance: Pick | { originalContractClassId: Fr; saltedInitializationHash: Fr; }): Promise; /** * Computes the salted initialization hash for an address, defined as the hash of the salt and initialization hash. * @param instance - Contract instance for which to compute the salted initialization hash. */ export declare function computeSaltedInitializationHash(instance: Pick): Promise; /** * Computes the initialization hash for an instance given its constructor function and arguments. * @param initFn - Constructor function or empty if no initialization is expected. * @param args - Unencoded arguments, will be encoded as fields according to the constructor function abi. * @returns The hash, or zero if no initialization function is provided. */ export declare function computeInitializationHash(initFn: FunctionAbi | undefined, args: any[]): Promise; /** * Computes the initialization hash for an instance given its constructor function selector and encoded arguments. * @param initFn - Constructor function selector. * @param args - Encoded arguments. * @returns The hash. */ export declare function computeInitializationHashFromEncodedArgs(initFn: FunctionSelector, encodedArgs: Fr[]): Promise; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYWRkcmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NvbnRyYWN0X2FkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IsRUFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSTFFOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGtDQUFrQyxDQUN0RCxRQUFRLEVBQ0osZ0JBQWdCLEdBQ2hCLENBQUM7SUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUN6RyxPQUFPLENBQUMsWUFBWSxDQUFDLENBR3ZCO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLHFCQUFxQixDQUN6QyxRQUFRLEVBQ0osSUFBSSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixHQUFHLG9CQUFvQixHQUFHLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FDOUY7SUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxHQUNoRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBVWI7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsK0JBQStCLENBQzdDLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEdBQUcsTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUMzRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBS2I7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQix5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQU96RztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLHdDQUF3QyxDQUM1RCxNQUFNLEVBQUUsZ0JBQWdCLEVBQ3hCLFdBQVcsRUFBRSxFQUFFLEVBQUUsR0FDaEIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUdiIn0=