@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
52 lines • 5.06 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 { IsmConfig } from '../ism/types.js';
import { MultiProvider } from '../providers/MultiProvider.js';
import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
import { ProxiedFactories } from '../router/types.js';
import { ChainMap, ChainName } from '../types.js';
import { TokenMetadataMap } from './TokenMetadataMap.js';
import { DeployableTokenType } from './config.js';
import { HypERC20Factories, HypERC20contracts, HypERC721Factories, TokenFactories } from './contracts.js';
import { HypTokenConfig, HypTokenRouterConfig, PredicateWrapperConfig, WarpRouteDeployConfig } from './types.js';
export declare const TOKEN_INITIALIZE_SIGNATURE: (contractName: HypERC20contracts[DeployableTokenType]) => "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 configureCctpV2MaxFee(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected configureDepositAddressDestinations(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected configureOftDomains(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>;
protected deployPredicateWrappers(configMap: ChainMap<HypTokenConfig & {
predicateWrapper?: PredicateWrapperConfig;
}>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected enrollCrossCollateralRouters(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
protected setRateLimitedIsms(rateLimitedIsms: ChainMap<IsmConfig>, configMap: ChainMap<HypTokenRouterConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
deploy(configMap: ChainMap<HypTokenRouterConfig>, rateLimitedIsms?: ChainMap<IsmConfig>): Promise<HyperlaneContractsMap<Factories & ProxiedFactories>>;
}
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