Files
bls-wallet/extension/buildMultiNetworkConfig.js
Andrew Morris 1303ffea9b Add network switching (#273)
* Update config system in prep for network switching

* Move builtinNetworks into config

* Move currencyConversionConfig into config

* Select network in ui

* mixtureHasChanged

* Fix issue where ethers Web3Provider assumes network doesn't change, handle addresses changing per network

* Implement per-network information for wallets

* lookupAddress -> pkHashToAddress

* Fix duplication of getting bls network config

* Restore preferred nonce sourcing

* Fix global access of blsNetworksConfig

* Fix global config access

* Fix commented hasChanged

* Fix build failures

* Fix linting issues

* Update extension/config.release.json

Co-authored-by: Jacob Caban-Tomski <jacque006@users.noreply.github.com>

* Update with PR feedback

Switch $preferences to non-$ name.
Add hidden field to networks to hide from end users.
Refactor wallet network data generation. Needs one more pass.

* PR fixes

Fix trailing comma in config json.
Properly inject env vars into config file.

* Move MultiNetowrkConfig to bls-wallet-clients

Add MultiNetworkConfig to clients. Deprecate NetworkConfig.
Update deps in clients.
Add chai-as-promised, ts-node to clients.
Remove need for transpiliation before client tests.
Finish getAndUpdateWalletsNetworkData changes in extension.

* Remove .only from client tests

* Use MultiNetworkConfig from clients lib.

* Fix file misspelling

* Update bls-wallet-clients experimental with main

* Remove empty local.json from CI build

* Update setup script with new extension config

Add troubleshooting section for Deno version

* Update extension & aggregator configs.

Update extension configs to hide all non-deployed networks.
Update aggregator local config to use pks 0 & 1 from main hardhat mnemonic.
Add dangerous command to print private keys from main hardhat mnemonic.

* Default extension network to arbitrum goerli

* Revert changes in aggregator local env

Co-authored-by: Jacob Caban-Tomski <jacque006@users.noreply.github.com>
2022-09-13 20:57:07 -06:00

28 lines
747 B
JavaScript

const fs = require('fs');
const path = require('path');
const networksConfigDir =
process.env.NETWORKS_CONFIG_DIR ??
path.join(__dirname, '..', 'contracts', 'networks');
fs.mkdirSync(path.join(__dirname, 'build'), { recursive: true });
const networkFilenames = fs.readdirSync(networksConfigDir);
const multiNetworkConfig = {};
for (const filename of networkFilenames) {
if (!filename.endsWith('.json')) {
throw new Error('Unexpected non-json file');
}
multiNetworkConfig[filename.slice(0, -'.json'.length)] = JSON.parse(
fs.readFileSync(path.join(networksConfigDir, filename), 'utf-8'),
);
}
fs.writeFileSync(
path.join(__dirname, 'build', 'multiNetworkConfig.json'),
JSON.stringify(multiNetworkConfig, null, 2),
);