import { FunctionL2Logs } from '@aztec/circuit-types'; import { AztecAddress, CallContext, ContractStorageRead, ContractStorageUpdateRequest, Fr, FunctionData, PublicDataRead, PublicDataUpdateRequest, SideEffect, SideEffectLinkedToNoteHash } from '@aztec/circuits.js'; /** * The public function execution result. */ export interface PublicExecutionResult { /** The execution that triggered this result. */ execution: PublicExecution; /** The return values of the function. */ returnValues: Fr[]; /** The new commitments to be inserted into the commitments tree. */ newCommitments: SideEffect[]; /** The new l2 to l1 messages generated in this call. */ newL2ToL1Messages: Fr[]; /** The new nullifiers to be inserted into the nullifier tree. */ newNullifiers: SideEffectLinkedToNoteHash[]; /** The contract storage reads performed by the function. */ contractStorageReads: ContractStorageRead[]; /** The contract storage update requests performed by the function. */ contractStorageUpdateRequests: ContractStorageUpdateRequest[]; /** The results of nested calls. */ nestedExecutions: this[]; /** * Unencrypted logs emitted during execution of this function call. * Note: These are preimages to `unencryptedLogsHash`. */ unencryptedLogs: FunctionL2Logs; } /** * The execution of a public function. */ export interface PublicExecution { /** Address of the contract being executed. */ contractAddress: AztecAddress; /** Function of the contract being called. */ functionData: FunctionData; /** Arguments for the call. */ args: Fr[]; /** Context of the call. */ callContext: CallContext; } /** * Returns if the input is a public execution result and not just a public execution. * @param input - Public execution or public execution result. * @returns Whether the input is a public execution result and not just a public execution. */ export declare function isPublicExecutionResult(input: PublicExecution | PublicExecutionResult): input is PublicExecutionResult; /** * Collect all public storage reads across all nested executions * and convert them to PublicDataReads (to match kernel output). * @param execResult - The topmost execution result. * @returns All public data reads (in execution order). */ export declare function collectPublicDataReads(execResult: PublicExecutionResult): PublicDataRead[]; /** * Collect all public storage update requests across all nested executions * and convert them to PublicDataUpdateRequests (to match kernel output). * @param execResult - The topmost execution result. * @returns All public data reads (in execution order). */ export declare function collectPublicDataUpdateRequests(execResult: PublicExecutionResult): PublicDataUpdateRequest[]; //# sourceMappingURL=execution.d.ts.map