import { Artifact, Libraries } from "hardhat/types"; import { Artifacts } from "hardhat/internal/artifacts"; import { Consensus, CrossChainLayer, MerkleTreeUtils, Settings, TacSAFactory, TacSmartAccount, TokenUtils, WTAC } from "../../typechain-types"; import { DeployConfig, GroupInfo } from "../config/base_config"; import { Signer } from "ethers"; import { DeployProxyOptions } from "@openzeppelin/hardhat-upgrades/dist/utils"; export type TacContracts = { crossChainLayer: CrossChainLayer; consensus: Consensus; merkleTreeUtils: MerkleTreeUtils; settings: Settings; tokenUtils: TokenUtils; wTAC: WTAC; }; export declare function getCCLArtifacts(): Promise; export declare const inGroupConsensusThresholdKey: string; export declare const groupsConsensusThresholdKey: string; export declare const epochDelayKey: string; export declare const treeDurationKey: string; export declare const rootValidityDurationKey: string; export declare const maxEpochDurationKey: string; export declare const crossChainLayerAddressKey: string; export declare const tokenUtilsAddressKey: string; export declare const consensusAddressKey: string; export declare const nftPrefixURIKey: string; export declare const ftPrefixImageKey: string; export declare const assetDeployFinalizeTimeKey: string; export declare function deployCCLContracts(deployConfig: DeployConfig, deployer: Signer, localTest?: boolean, verbose?: boolean): Promise; export declare function deployTacSmartAccount(deployer: Signer, localTest?: boolean, verbose?: boolean): Promise; export declare function deployTacSAFactory(deployer: Signer, smartAccountBlueprint: TacSmartAccount, localTest?: boolean, verbose?: boolean): Promise; export declare function setupGroups(admin: Signer, contracts: TacContracts, groupsInfo: GroupInfo[], verbose?: boolean): Promise; export declare function setupGroupConsensus(groupAdmin: Signer, contracts: TacContracts, groupInfo: GroupInfo, verbose?: boolean): Promise; export declare function deploy(deployer: Signer, contractArtifact: Artifact, args: any[], libs?: Libraries | undefined, verbose?: boolean): Promise; export declare function deployUpgradableLocal(deployer: Signer, contractArtifact: Artifact, args: any[], opts: DeployProxyOptions, libs?: Libraries | undefined, verbose?: boolean): Promise; export declare function deployUpgradable(deployer: Signer, contractArtifact: Artifact, args: any[], opts: DeployProxyOptions, libs?: Libraries | undefined, verbose?: boolean): Promise; export declare function saveContractAddress(addressesFilePath: string, name: string, address: string): void; export declare function saveTacContracts(addressesFilePath: string, contractsAddresses: { [contractName: string]: string; }): void; export declare function loadTacContracts(addressesFilePath: string, signer: Signer): Promise; interface Info { Type: "function" | "event" | "error"; Name: string; Params: string[]; Sighash: string; } type ContractSignatures = { [contractName: string]: { [signature: string]: Info; }; }; export declare function getContractSignatures(artifacts: Artifacts): Promise; export {};