/** Stats associated with an ACIR proof generation.*/ export type ProofConstructed = { /** Name of the event for metrics purposes */ eventName: 'proof_construction_time'; /** Name of the program being proven */ acir_test: string; /** Number of threads used for proving */ threads: number; /** Time spent proving */ value: number; }; /** Stats associated with an L2 block. */ export type L2BlockStats = { /** Number of txs in the L2 block. */ txCount: number; /** Number of the L2 block. */ blockNumber: number; /** Number of public logs. */ publicLogCount?: number; }; export type CheckpointStats = { /** Number of transactions in the checkpoint */ txCount: number; /** Number of blocks in the checkpoint */ blockCount: number; }; /** Stats logged for each L1 publish tx.*/ export type L1PublishStats = { /** Address of the sender. */ sender: string; /** Effective gas price of the tx. */ gasPrice: bigint; /** Effective gas used in the tx. */ gasUsed: bigint; /** Hash of the L1 tx. */ transactionHash: string; /** Gas cost of the calldata. */ calldataGas: number; /** Size in bytes of the calldata. */ calldataSize: number; /** Gas cost of the blob data */ blobDataGas: bigint; /** Amount of blob gas used. */ blobGasUsed: bigint; /** Number of blobs in the tx */ blobCount?: number; /** Number of L1 blocks between tx submission and inclusion */ inclusionBlocks?: number; }; /** Stats logged for each L1 rollup publish tx.*/ export type L1PublishCheckpointStats = { /** Name of the event for metrics purposes */ eventName: 'rollup-published-to-l1'; } & L1PublishStats & CheckpointStats; /** Stats logged for each L1 rollup publish tx.*/ export type L1PublishProofStats = { /** Name of the event for metrics purposes */ eventName: 'proof-published-to-l1'; } & L1PublishStats; /** Stats logged for synching node chain history. */ export type NodeSyncedChainHistoryStats = { /** Name of the event. */ eventName: 'node-synced-chain-history'; /** Number of txs in the L2 block.. */ txCount: number; /** Number of txs in each block. */ txsPerBlock: number; /** Duration in ms. */ duration: number; /** Id of the L2 block. */ blockNumber: number; /** Number of blocks processed. */ blockCount: number; /** Size of the db in bytes. */ dbSize: number; }; export type ClientCircuitName = 'private-kernel-init' | 'private-kernel-inner' | 'private-kernel-reset' | 'private-kernel-tail' | 'private-kernel-tail-to-public' | 'hiding-kernel-to-rollup' | 'hiding-kernel-to-public' | 'app-circuit'; export type ServerCircuitName = 'parity-base' | 'parity-root' | 'chonk-verifier-public' | 'rollup-tx-base-private' | 'rollup-tx-base-public' | 'rollup-tx-merge' | 'rollup-block-root-first' | 'rollup-block-root-first-single-tx' | 'rollup-block-root-first-empty-tx' | 'rollup-block-root' | 'rollup-block-root-single-tx' | 'rollup-block-merge' | 'rollup-checkpoint-root' | 'rollup-checkpoint-root-single-block' | 'rollup-checkpoint-padding' | 'rollup-checkpoint-merge' | 'rollup-root' | 'avm-circuit'; export type CircuitName = ClientCircuitName | ServerCircuitName; /** Stats for circuit simulation. */ export type CircuitSimulationStats = { /** name of the event. */ eventName: 'circuit-simulation'; /** Name of the circuit. */ circuitName: CircuitName; /** Optional. The function name that's being simulated */ appCircuitName?: string; /** Duration in ms. */ duration: number; /** Size in bytes of circuit inputs. */ inputSize: number; /** Size in bytes of circuit outputs (aka public inputs). */ outputSize: number; }; export type PublicDBAccessStats = { eventName: 'public-db-access'; duration: number; operation: string; }; export type AvmSimulationStats = { /** name of the event. */ eventName: 'avm-simulation'; /** Name of the circuit. */ appCircuitName: string; /** Duration in ms. */ duration: number; }; /** Stats for witness generation. */ export type CircuitWitnessGenerationStats = { /** name of the event. */ eventName: 'circuit-witness-generation'; /** Name of the circuit. */ circuitName: CircuitName; /** Optional. The function name that's being proven */ appCircuitName?: string; /** Duration in ms. */ duration: number; /** Size in bytes of circuit inputs. */ inputSize: number; /** Size in bytes of circuit outputs (aka public inputs). */ outputSize: number; }; /** Stats for proving a circuit */ export type CircuitProvingStats = { /** Name of the event. */ eventName: 'circuit-proving'; /** Name of the circuit. */ circuitName: CircuitName; /** Optional. The function name that was proven */ appCircuitName?: string; /** Duration in ms. */ duration: number; /** The size of the circuit (in gates) */ circuitSize: number; /** Size in bytes of circuit inputs. */ inputSize: number; /** Size in bytes of the proof. */ proofSize: number; /** The number of public inputs */ numPublicInputs: number; }; /** Stats for verifying a circuit */ export type CircuitVerificationStats = { /** Name of the event. */ eventName: 'circuit-verification'; /** Name of the circuit. */ circuitName: CircuitName; /** Type of proof (chonk, honk, etc) */ proofType: 'chonk' | 'ultra-honk'; /** Duration in ms. */ duration: number; }; /** Stats for an L2 block built by a sequencer. */ export type L2BlockBuiltStats = { /** Name of the event. */ eventName: 'l2-block-built'; /** Total duration in ms. */ duration: number; /** Time for processing public txs in ms. */ publicProcessDuration: number; } & L2BlockStats; /** Stats for an L2 block processed by the world state synchronizer. */ export type L2BlockHandledStats = { /** Name of the event. */ eventName: 'l2-block-handled'; /** Total duration in ms. */ duration: number; /** Pending block number. */ unfinalizedBlockNumber: bigint; /** Proven block number. */ finalizedBlockNumber: bigint; /** Oldest historic block number. */ oldestHistoricBlock: bigint; } & L2BlockStats; /** Stats for a tx. */ export type TxStats = { /** Hash of the tx. */ txHash: string; /** Total size in bytes. */ size: number; /** Size of the proof. */ proofSize: number; /** Number of note hashes */ noteHashCount: number; /** Number of nullifiers */ nullifierCount: number; /** Number of private logs */ privateLogCount: number; /** How many classes were published to the canonical class registry. */ classPublishedCount: number; /** Serialized size of contract class logs in fields. */ contractClassLogSize: number; /** How this tx pays for its fee */ feePaymentMethod: 'fee_juice' | 'fpc'; }; /** * Stats for tree insertions */ export type TreeInsertionStats = { /** Name of the event. */ eventName: 'tree-insertion'; /** Duration in ms. */ duration: number; /** The size of the insertion batch */ batchSize: number; /** The tree name */ treeName: string; /** The tree depth */ treeDepth: number; /** Tree type */ treeType: 'append-only' | 'indexed'; /** Number of hashes performed */ hashCount: number; /** Average duration of a hash operation */ hashDuration: number; }; /** A new tx was added to the tx pool. */ export type TxAddedToPoolStats = { /** Name of the event. */ eventName: 'tx-added-to-pool'; } & TxStats; /** Stats emitted in structured logs with an `eventName` for tracking. */ export type Stats = AvmSimulationStats | CircuitProvingStats | CircuitSimulationStats | CircuitWitnessGenerationStats | PublicDBAccessStats | L1PublishCheckpointStats | L1PublishProofStats | L2BlockBuiltStats | L2BlockHandledStats | NodeSyncedChainHistoryStats | ProofConstructed | TreeInsertionStats | TxAddedToPoolStats; /** Set of event names across emitted stats. */ export type StatsEventName = Stats['eventName']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0cy9zdGF0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQzdCLDZDQUE2QztJQUM3QyxTQUFTLEVBQUUseUJBQXlCLENBQUM7SUFDckMsdUNBQXVDO0lBQ3ZDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIseUNBQXlDO0lBQ3pDLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIseUJBQXlCO0lBQ3pCLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBRUYseUNBQXlDO0FBQ3pDLE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIscUNBQXFDO0lBQ3JDLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsOEJBQThCO0lBQzlCLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsNkJBQTZCO0lBQzdCLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN6QixDQUFDO0FBRUYsTUFBTSxNQUFNLGVBQWUsR0FBRztJQUM1QiwrQ0FBK0M7SUFDL0MsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQix5Q0FBeUM7SUFDekMsVUFBVSxFQUFFLE1BQU0sQ0FBQztDQUNwQixDQUFDO0FBRUYsMENBQTBDO0FBQzFDLE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsNkJBQTZCO0lBQzdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixxQ0FBcUM7SUFDckMsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixvQ0FBb0M7SUFDcEMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQix5QkFBeUI7SUFDekIsZUFBZSxFQUFFLE1BQU0sQ0FBQztJQUN4QixnQ0FBZ0M7SUFDaEMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixxQ0FBcUM7SUFDckMsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixnQ0FBZ0M7SUFDaEMsV0FBVyxF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