import { ArtifactDeployed, IArtifactManager } from './artifact.js'; /** * Validator Announce configuration for the Artifact API. * Defines the parameters needed to deploy or configure a validator announce contract. */ export interface ValidatorAnnounceArtifactConfig { mailboxAddress: string; } /** * Deployment data returned after deploying a validator announce contract. * Contains the on-chain address. */ export interface DeployedValidatorAnnounceAddress { address: string; } /** * Describes the configuration of a deployed validator announce contract */ export type DeployedValidatorAnnounceArtifact = ArtifactDeployed; /** * Validator announce artifact configs map */ export interface ValidatorAnnounceArtifactConfigs { validatorAnnounce: ValidatorAnnounceArtifactConfig; } export type ValidatorAnnounceType = keyof ValidatorAnnounceArtifactConfigs; /** * Should be used to implement an object/closure or class that is in charge of coordinating * deployment of a ValidatorAnnounce config. */ export type IValidatorAnnounceArtifactManager = IArtifactManager; /** * Raw validator announce config - identical to the compound config since there are no nested artifacts. * Kept for consistency with the artifact API pattern. */ export interface RawValidatorAnnounceConfig { mailboxAddress: string; } /** * Raw validator announce artifact configs map */ export interface RawValidatorAnnounceArtifactConfigs { validatorAnnounce: RawValidatorAnnounceConfig; } /** * Should be used for the specific artifact code that * deploys or reads a single validator announce artifact on chain */ export type RawValidatorAnnounceArtifactConfig = RawValidatorAnnounceArtifactConfigs[ValidatorAnnounceType]; /** * Describes the configuration of deployed validator announce without nested config expansion */ export type DeployedRawValidatorAnnounceArtifact = ArtifactDeployed; /** * Should be used to implement an object/closure or class that individually deploys * ValidatorAnnounce contracts on chain */ export interface IRawValidatorAnnounceArtifactManager extends IArtifactManager { /** * Read a validator announce contract by its address. * This is the entry point for reading validator announce configuration from the chain. * @param address The on-chain address of the validator announce contract * @returns The artifact configuration and deployment data */ readValidatorAnnounce(address: string): Promise; } //# sourceMappingURL=validator-announce.d.ts.map