UNPKG

@hyperlane-xyz/core

Version:

Core solidity contracts for Hyperlane

106 lines (91 loc) 2.65 kB
import { DeployConfigSpec } from '@eth-optimism/hardhat-deploy-config/dist/src/types' /** * Defines the configuration for a deployment. */ export interface DeployConfig { /** * Dedicated Deterministic Deployer address (DDD). * When deploying authenticated deterministic smart contracts to the same address on various * chains, it's necessary to have a single root address that will initially own the contract and * later transfer ownership to the final contract owner. We call this address the DDD. We expect * the DDD to transfer ownership to the final contract owner very quickly after deployment. */ ddd: string /** * Number of confs before considering it final */ numDeployConfirmations?: number /** * Name of the NFT in the Optimist contract. */ optimistName: string /** * Symbol of the NFT in the Optimist contract. */ optimistSymbol: string /** * Address of the privileged attestor for the Optimist contract. */ optimistBaseUriAttestorAddress: string /** * Address of the privileged account for the OptimistInviter contract that can grant invites. */ optimistInviterInviteGranter: string /** * Name of OptimistInviter contract, used for the EIP712 domain separator. */ optimistInviterName: string /** * Address of previleged account for the OptimistAllowlist contract that can add/remove people * from allowlist. */ optimistAllowlistAllowlistAttestor: string /** * Address of Coinbase attestor that attests to whether someone has completed Quest. */ optimistAllowlistCoinbaseQuestAttestor: string /** * Address of the owner of the proxies on L2. There will be a ProxyAdmin deployed as a predeploy * after bedrock, so the owner of proxies should be updated to that after the upgrade. * This currently is used as the owner of the nft related proxies. */ l2ProxyOwnerAddress: string } /** * Specification for each of the configuration options. */ export const configSpec: DeployConfigSpec<DeployConfig> = { ddd: { type: 'address', }, numDeployConfirmations: { type: 'number', default: 1, }, optimistName: { type: 'string', default: 'Optimist', }, optimistSymbol: { type: 'string', default: 'OPTIMIST', }, optimistBaseUriAttestorAddress: { type: 'address', }, optimistInviterInviteGranter: { type: 'address', }, optimistInviterName: { type: 'string', }, optimistAllowlistAllowlistAttestor: { type: 'address', }, optimistAllowlistCoinbaseQuestAttestor: { type: 'address', }, l2ProxyOwnerAddress: { type: 'address', }, }