import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader } from '@aztec/foundation/serialize'; import type { FieldsOf } from '@aztec/foundation/types'; import { type ContractArtifact, type FunctionAbi } from '../abi/index.js'; import { AztecAddress } from '../aztec-address/index.js'; import { PublicKeys } from '../keys/public_keys.js'; import type { ContractInstance, ContractInstanceWithAddress } from './interfaces/contract_instance.js'; export type ContractInstantiationData = { constructorArtifact?: FunctionAbi | string; constructorArgs?: any[]; skipArgsDecoding?: boolean; salt: Fr; publicKeys?: PublicKeys; deployer?: AztecAddress; }; export declare class SerializableContractInstance { readonly version: 1; readonly salt: Fr; readonly deployer: AztecAddress; readonly currentContractClassId: Fr; readonly originalContractClassId: Fr; readonly initializationHash: Fr; readonly publicKeys: PublicKeys; constructor(instance: ContractInstance); toBuffer(): Buffer; /** Returns a copy of this object with its address included. */ withAddress(address: AztecAddress): ContractInstanceWithAddress; static fromBuffer(bufferOrReader: Buffer | BufferReader): SerializableContractInstance; static random(opts?: Partial>): Promise; static default(): SerializableContractInstance; } /** * Generates a Contract Instance from some instantiation params. * @param artifact - The account contract build artifact. * @param opts - Options for the contract's instantiation. * @returns - The contract instance */ export declare function getContractInstanceFromInstantiationParams(artifact: ContractArtifact, opts: ContractInstantiationData): Promise; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBaUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxXQUFXLEVBS2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU1wRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSXZHLE1BQU0sTUFBTSx5QkFBeUIsR0FBRztJQUN0QyxtQkFBbUIsQ0FBQyxFQUFFLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDM0MsZUFBZSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDeEIsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNULFVBQVUsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN4QixRQUFRLENBQUMsRUFBRSxZQUFZLENBQUM7Q0FDekIsQ0FBQztBQUVGLHFCQUFhLDRCQUE0QjtJQUN2QyxTQUFnQixPQUFPLElBQVc7SUFDbEMsU0FBZ0IsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUN6QixTQUFnQixRQUFRLEVBQUUsWUFBWSxDQUFDO0lBQ3ZDLFNBQWdCLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztJQUMzQyxTQUFnQix1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFDNUMsU0FBZ0Isa0JBQWtCLEVBQUUsRUFBRSxDQUFDO0lBQ3ZDLFNBQWdCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFFdkMsWUFBWSxRQUFRLEVBQUUsZ0JBQWdCLEVBVXJDO0lBRU0sUUFBUSw0QkFVZDtJQUVELCtEQUErRDtJQUMvRCxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRywyQkFBMkIsQ0FFOUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxNQUFNLEdBQUcsWUFBWSxnQ0FXdEQ7SUFFRCxPQUFhLE1BQU0sQ0FBQyxJQUFJLEdBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNLHlDQVdqRTtJQUVELE1BQU0sQ0FBQyxPQUFPLGlDQVViO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQiwwQ0FBMEMsQ0FDOUQsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixJQUFJLEVBQUUseUJBQXlCLEdBQzlCLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQXlCdEMifQ==