UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

22 lines 902 B
import { objMap, rootLogger } from '@hyperlane-xyz/utils'; import { connectContracts, serializeContracts, } from '../contracts/contracts.js'; import { MultiGeneric } from '../utils/MultiGeneric.js'; export class HyperlaneApp extends MultiGeneric { multiProvider; logger; contractsMap; constructor(contractsMap, multiProvider, logger = rootLogger.child({ module: 'App' })) { const connectedContractsMap = objMap(contractsMap, (chain, contracts) => connectContracts(contracts, multiProvider.getSignerOrProvider(chain))); super(connectedContractsMap); this.multiProvider = multiProvider; this.logger = logger; this.contractsMap = connectedContractsMap; } getContracts(chain) { return this.get(chain); } getAddresses(chain) { return serializeContracts(this.get(chain)); } } //# sourceMappingURL=HyperlaneApp.js.map