@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
45 lines • 4.13 kB
TypeScript
import { GasRouter, TokenRouter } from '@hyperlane-xyz/core';
import { HyperlaneContracts, HyperlaneContractsMap } from '../contracts/types.js';
import { ContractVerifier } from '../deploy/verify/ContractVerifier.js';
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
import { MultiProvider } from '../providers/MultiProvider.js';
import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
import { ChainMap, ChainName } from '../types.js';
import { TokenMetadataMap } from './TokenMetadataMap.js';
import { TokenType } from './config.js';
import { HypERC20Factories, HypERC20contracts, HypERC721Factories, TokenFactories } from './contracts.js';
import { HypTokenConfig, HypTokenRouterConfig, WarpRouteDeployConfig, WarpRouteDeployConfigMailboxRequired } from './types.js';
export declare const TOKEN_INITIALIZE_SIGNATURE: (contractName: HypERC20contracts[TokenType]) => "initialize" | "initialize(address,address)" | "initialize(address,address,string[])" | "initialize(address,string[])";
declare abstract class TokenDeployer<Factories extends TokenFactories> extends GasRouterDeployer<HypTokenRouterConfig, Factories> {
constructor(multiProvider: MultiProvider, factories: Factories, loggerName: string, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean);
constructorArgs(_: ChainName, config: HypTokenRouterConfig): Promise<any>;
initializeFnSignature(name: string): string;
initializeArgs(chain: ChainName, config: HypTokenRouterConfig): Promise<any>;
static deriveTokenMetadata(multiProvider: MultiProvider, configMap: WarpRouteDeployConfig): Promise<TokenMetadataMap>;
protected configureCctpDomains(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected setRebalancers(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected setAllowedBridges(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected setBridgesTokenApprovals(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected setEverclearFeeParams(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected setEverclearOutputAssets(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
deploy(configMap: WarpRouteDeployConfigMailboxRequired): Promise<HyperlaneContractsMap<Factories & import("../contracts/types.js").HyperlaneFactories & {
proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
timelockController: import("@hyperlane-xyz/core").TimelockController__factory;
}>>;
}
export declare class HypERC20Deployer extends TokenDeployer<HypERC20Factories> {
constructor(multiProvider: MultiProvider, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean);
router(contracts: HyperlaneContracts<HypERC20Factories>): TokenRouter;
routerContractKey(config: HypTokenRouterConfig): keyof HypERC20Factories;
routerContractName(config: HypTokenRouterConfig): string;
deployContractFromFactory(chain: ChainName, factory: any, contractName: string, constructorArgs: any[], initializeArgs?: any[], shouldRecover?: boolean, implementationAddress?: string): Promise<any>;
deployAndConfigureTokenFees(deployedContractsMap: HyperlaneContractsMap<HypERC20Factories>, configMap: ChainMap<HypTokenRouterConfig>): Promise<void>;
}
export declare class HypERC721Deployer extends TokenDeployer<HypERC721Factories> {
constructor(multiProvider: MultiProvider, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier);
router(contracts: HyperlaneContracts<HypERC721Factories>): GasRouter;
routerContractKey(config: HypTokenRouterConfig): keyof HypERC721Factories;
routerContractName(config: HypTokenRouterConfig): string;
}
export {};
//# sourceMappingURL=deploy.d.ts.map