59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
const {
|
|
EvmContract,
|
|
DefaultStore,
|
|
Store,
|
|
getDefaultDeploymentConfig,
|
|
} = require("contract_manager");
|
|
|
|
function convertAddress(address) {
|
|
return "0x" + address;
|
|
}
|
|
|
|
function convertChainId(number) {
|
|
return "0x" + number.toString(16);
|
|
}
|
|
|
|
function getDefaultConfig(chainName) {
|
|
const chain = DefaultStore.chains[chainName];
|
|
const { dataSources, governanceDataSource, wormholeConfig } =
|
|
getDefaultDeploymentConfig(chain.isMainnet() ? "stable" : "edge");
|
|
|
|
const emitterChainIds = dataSources.map((dataSource) =>
|
|
convertChainId(dataSource.emitterChain)
|
|
);
|
|
const emitterAddresses = dataSources.map((dataSource) =>
|
|
convertAddress(dataSource.emitterAddress)
|
|
);
|
|
const governanceChainId = convertChainId(governanceDataSource.emitterChain);
|
|
const governanceEmitter = convertAddress(governanceDataSource.emitterAddress);
|
|
|
|
const wormholeInitialSigners =
|
|
wormholeConfig.initialGuardianSet.map(convertAddress);
|
|
const wormholeGovernanceChainId = convertChainId(
|
|
wormholeConfig.governanceChainId
|
|
);
|
|
const wormholeGovernanceContract = convertAddress(
|
|
wormholeConfig.governanceContract
|
|
);
|
|
|
|
return {
|
|
governanceEmitter,
|
|
governanceChainId,
|
|
emitterAddresses,
|
|
emitterChainIds,
|
|
wormholeInitialSigners,
|
|
wormholeGovernanceChainId,
|
|
wormholeGovernanceContract,
|
|
};
|
|
}
|
|
function saveConfig(chainName, address) {
|
|
const chain = DefaultStore.chains[chainName];
|
|
const contract = new EvmContract(chain, address);
|
|
DefaultStore.contracts[contract.getId()] = contract;
|
|
DefaultStore.saveAllContracts();
|
|
console.log("Added the following to your evm contract configs");
|
|
console.log(Store.serialize(contract));
|
|
}
|
|
|
|
module.exports = { saveConfig, getDefaultConfig };
|