@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
31 lines • 1.18 kB
JavaScript
import { ethers } from 'ethers';
import { HyperlaneRouterDeployer } from '../../router/HyperlaneRouterDeployer.js';
import { interchainAccountFactories, } from './contracts.js';
export class InterchainAccountDeployer extends HyperlaneRouterDeployer {
constructor(multiProvider, contractVerifier, concurrentDeploy) {
super(multiProvider, interchainAccountFactories, {
contractVerifier,
concurrentDeploy,
});
}
router(contracts) {
return contracts.interchainAccountRouter;
}
async deployContracts(chain, config) {
if (config.interchainSecurityModule) {
throw new Error('Configuration of ISM not supported in ICA deployer');
}
const owner = await this.multiProvider.getSignerAddress(chain);
const interchainAccountRouter = await this.deployContract(chain, 'interchainAccountRouter', [
config.mailbox,
ethers.constants.AddressZero,
owner,
50000,
config.commitmentIsm.urls,
]);
return {
interchainAccountRouter,
};
}
}
//# sourceMappingURL=InterchainAccountDeployer.js.map