dp-contract-proxy-kit
Version:
Enable batched transactions and contract account interactions using a unique deterministic Gnosis Safe.
84 lines • 3.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeNetworksConfig = exports.defaultNetworks = void 0;
// First element belongs to latest release. Do not alter this order. New releases go first.
const masterCopyAddressVersions = [
{
version: '1.2.0',
address: '0x6851D6fDFAfD08c0295C392436245E5bc78B0185'
},
{
version: '1.1.1',
address: '0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F'
}
];
exports.defaultNetworks = {
// mainnet
1: {
masterCopyAddressVersions,
proxyFactoryAddress: '0x0fB4340432e56c014fa96286de17222822a9281b',
multiSendAddress: '0x8D29bE29923b68abfDD21e541b9374737B49cdAD',
fallbackHandlerAddress: '0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44'
},
// rinkeby
4: {
masterCopyAddressVersions,
proxyFactoryAddress: '0x336c19296d3989e9e0c2561ef21c964068657c38',
multiSendAddress: '0x8D29bE29923b68abfDD21e541b9374737B49cdAD',
fallbackHandlerAddress: '0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44'
},
// goerli
5: {
masterCopyAddressVersions,
proxyFactoryAddress: '0xfC7577774887aAE7bAcdf0Fc8ce041DA0b3200f7',
multiSendAddress: '0x8D29bE29923b68abfDD21e541b9374737B49cdAD',
fallbackHandlerAddress: '0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44'
},
// kovan
42: {
masterCopyAddressVersions,
proxyFactoryAddress: '0xfC7577774887aAE7bAcdf0Fc8ce041DA0b3200f7',
multiSendAddress: '0x8D29bE29923b68abfDD21e541b9374737B49cdAD',
fallbackHandlerAddress: '0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44'
},
// xdai
100: {
masterCopyAddressVersions,
proxyFactoryAddress: '0xfC7577774887aAE7bAcdf0Fc8ce041DA0b3200f7',
multiSendAddress: '0x8D29bE29923b68abfDD21e541b9374737B49cdAD',
fallbackHandlerAddress: '0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44'
}
};
function normalizeNetworksConfig(defaultNetworks, networks) {
if (!networks) {
return defaultNetworks;
}
const normalizedNetworks = {};
for (const networkId of Object.keys(networks)) {
const currentNetwork = networks[networkId];
let mcVersions = [];
if (currentNetwork.masterCopyAddress) {
mcVersions = [
{
version: masterCopyAddressVersions[0].version,
address: currentNetwork.masterCopyAddress
}
];
}
else if (currentNetwork.masterCopyAddressVersions) {
mcVersions = currentNetwork.masterCopyAddressVersions;
}
if (mcVersions.length === 0) {
throw new Error('Properties "masterCopyAddress" or "masterCopyAddressVersions" are missing in CPK network configuration');
}
normalizedNetworks[networkId] = {
masterCopyAddressVersions: mcVersions,
proxyFactoryAddress: currentNetwork.proxyFactoryAddress,
multiSendAddress: currentNetwork.multiSendAddress,
fallbackHandlerAddress: currentNetwork.fallbackHandlerAddress
};
}
return Object.assign(Object.assign({}, defaultNetworks), normalizedNetworks);
}
exports.normalizeNetworksConfig = normalizeNetworksConfig;
//# sourceMappingURL=networks.js.map