@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
23 lines • 1.03 kB
JavaScript
import { objKeys } from '@hyperlane-xyz/utils';
import { appFromAddressesMapHelper } from '../contracts/contracts.js';
import { GasRouterApp } from '../router/RouterApps.js';
import { proxiedFactories } from '../router/types.js';
import { hypERC20factories } from './contracts.js';
export class HypERC20App extends GasRouterApp {
constructor(contractsMap, multiProvider, logger, foreignDeployments = {}) {
super(contractsMap, multiProvider, logger, foreignDeployments);
}
router(contracts) {
for (const key of objKeys(hypERC20factories)) {
if (contracts[key]) {
return contracts[key];
}
}
throw new Error('No router found in contracts');
}
static fromAddressesMap(addressesMap, multiProvider) {
const helper = appFromAddressesMapHelper(addressesMap, { ...hypERC20factories, ...proxiedFactories }, multiProvider);
return new HypERC20App(helper.contractsMap, helper.multiProvider);
}
}
//# sourceMappingURL=app.js.map