diff --git a/Makefile b/Makefile index 8db35cf3..8db7ae3b 100644 --- a/Makefile +++ b/Makefile @@ -32,9 +32,22 @@ coverage : make coverage-clean make coverage-report make coverage-badge + # Utilities download :; cast etherscan-source --chain ${chain} -d src/etherscan/${chain}_${address} ${address} git-diff : @mkdir -p diffs @npx prettier ${before} ${after} --write @printf '%s\n%s\n%s\n' "\`\`\`diff" "$$(git diff --no-index --ignore-space-at-eol ${before} ${after})" "\`\`\`" > diffs/${out}.md + +# Deploy +deploy-libs-one :; + forge script scripts/misc/LibraryPreCompileOne.sol --rpc-url ${chain} --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --verify --slow --broadcast +deploy-libs-two :; + forge script scripts/misc/LibraryPreCompileTwo.sol --rpc-url ${chain} --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --verify --slow --broadcast + +deploy-libs : + make deploy-libs-one chain=${chain} + npx catapulta-verify -b broadcast/LibraryPreCompileOne.sol/${chainId}/run-latest.json + make deploy-libs-two chain=${chain} + npx catapulta-verify -b broadcast/LibraryPreCompileTwo.sol/${chainId}/run-latest.json diff --git a/foundry.toml b/foundry.toml index 97da41a2..a2c225e2 100644 --- a/foundry.toml +++ b/foundry.toml @@ -40,6 +40,7 @@ bnb_testnet = "${RPC_BNB_TESTNET}" bnb = "${RPC_BNB}" gnosis = "${RPC_GNOSIS}" base = "${RPC_BASE}" +metis = "${RPC_METIS}" [etherscan] mainnet = { key = "${ETHERSCAN_API_KEY_MAINNET}", chainId = 1 } @@ -47,14 +48,15 @@ optimism = { key = "${ETHERSCAN_API_KEY_OPTIMISM}", chainId = 10 } avalanche = { key = "${ETHERSCAN_API_KEY_AVALANCHE}", chainId = 43114 } polygon = { key = "${ETHERSCAN_API_KEY_POLYGON}", chainId = 137 } arbitrum = { key = "${ETHERSCAN_API_KEY_ARBITRUM}", chainId = 42161 } -fantom = { key = "${ETHERSCAN_API_KEY_FANTOM}", chainId = 250 } +# fantom = { key = "${ETHERSCAN_API_KEY_FANTOM}", chainId = 250 } scroll = { key = "${ETHERSCAN_API_KEY_SCROLL}", chainId = 534352, url = 'https://api.scrollscan.com/api\?' } -celo = { key = "${ETHERSCAN_API_KEY_CELO}", chainId = 42220 } -sepolia = { key = "${ETHERSCAN_API_KEY_MAINNET}", chainId = 11155111 } -mumbai = { key = "${ETHERSCAN_API_KEY_POLYGON}", chainId = 80001 } -amoy = { key = "${ETHERSCAN_API_KEY_POLYGON}", chainId = 80002 } -bnb_testnet = { key = "${ETHERSCAN_API_KEY_BNB}", chainId = 97, url = 'https://api-testnet.bscscan.com/api' } +# celo = { key = "${ETHERSCAN_API_KEY_CELO}", chainId = 42220 } +# sepolia = { key = "${ETHERSCAN_API_KEY_MAINNET}", chainId = 11155111 } +# mumbai = { key = "${ETHERSCAN_API_KEY_POLYGON}", chainId = 80001 } +# amoy = { key = "${ETHERSCAN_API_KEY_POLYGON}", chainId = 80002 } +# bnb_testnet = { key = "${ETHERSCAN_API_KEY_BNB}", chainId = 97, url = 'https://api-testnet.bscscan.com/api' } bnb = { key = "${ETHERSCAN_API_KEY_BNB}", chainId = 56, url = 'https://api.bscscan.com/api' } base = { key = "${ETHERSCAN_API_KEY_BASE}", chain = 8453 } gnosis = { key = "${ETHERSCAN_API_KEY_GNOSIS}", chainId = 100 } +metis = { key = "", chainId = 1088, url = 'https://api.routescan.io/v2/network/mainnet/evm/1088/etherscan/api' } # See more config options https://github.com/gakonst/foundry/tree/master/config diff --git a/tests/utils/ProtocolV3TestBase.sol b/tests/utils/ProtocolV3TestBase.sol index 407ab8dc..dbfbea39 100644 --- a/tests/utils/ProtocolV3TestBase.sol +++ b/tests/utils/ProtocolV3TestBase.sol @@ -156,6 +156,7 @@ contract ProtocolV3TestBase is DiffUtils { // keys for json stringification string memory eModesKey = 'emodes'; string memory content = '{}'; + vm.serializeJson(eModesKey, '{}'); uint8 emptyCounter = 0; for (uint8 i = 0; i < 256; i++) { DataTypes.CollateralConfig memory cfg = pool.getEModeCategoryCollateralConfig(i); @@ -163,6 +164,7 @@ contract ProtocolV3TestBase is DiffUtils { if (++emptyCounter > 2) break; } else { string memory key = vm.toString(i); + vm.serializeJson(key, '{}'); vm.serializeUint(key, 'eModeCategory', i); vm.serializeString(key, 'label', pool.getEModeCategoryLabel(i)); vm.serializeUint(key, 'ltv', cfg.ltv);