import { BeaconConfig } from "@lodestar/config"; import { ForkSeq } from "@lodestar/params"; import { BLSPubkey, Bytes32, UintNum64, electra, phase0 } from "@lodestar/types"; import { CachedBeaconStateAllForks } from "../types.js"; /** * Process a Deposit operation. Potentially adds a new validator to the registry. Mutates the validators and balances * trees, pushing contigious values at the end. * * PERF: Work depends on number of Deposit per block. On regular networks the average is 0 / block. */ export declare function processDeposit(fork: ForkSeq, state: CachedBeaconStateAllForks, deposit: phase0.Deposit): void; /** * Adds a new validator into the registry. Or increase balance if already exist. * Follows applyDeposit() in consensus spec. Will be used by processDeposit() and processDepositRequest() * */ export declare function applyDeposit(fork: ForkSeq, state: CachedBeaconStateAllForks, deposit: phase0.DepositData | electra.DepositRequest): void; export declare function addValidatorToRegistry(fork: ForkSeq, state: CachedBeaconStateAllForks, pubkey: BLSPubkey, withdrawalCredentials: Bytes32, amount: UintNum64): void; export declare function isValidDepositSignature(config: BeaconConfig, pubkey: Uint8Array, withdrawalCredentials: Uint8Array, amount: number, depositSignature: Uint8Array): boolean; //# sourceMappingURL=processDeposit.d.ts.map