@gooddollar/goodprotocol 2.0.34-beta.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/artifacts/abis/Faucet.min.json +1 -1
  2. package/artifacts/abis/FuseFaucetV2.min.json +1 -1
  3. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  4. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +34 -2
  5. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  6. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json +34 -2
  7. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  8. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  9. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  10. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
  11. package/contracts/fuseFaucet/Faucet.sol +6 -0
  12. package/contracts/fuseFaucet/FuseFaucetV2.sol +10 -0
  13. package/contracts/utils/ProxyFactory1967.sol +19 -16
  14. package/hardhat.config.ts +25 -20
  15. package/package.json +1 -1
  16. package/releases/olddao.json +1 -1
  17. package/scripts/fv.ts +0 -2
  18. package/scripts/multichain-deploy/fulldeploy.sh +17 -17
  19. package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +443 -0
  20. package/scripts/upgrades/upgradeFaucet.ts +46 -0
  21. package/types/contracts/fuseFaucet/Faucet.ts +43 -0
  22. package/types/contracts/fuseFaucet/FuseFaucetV2.ts +43 -0
  23. package/types/factories/contracts/fuseFaucet/Faucet__factory.ts +33 -1
  24. package/types/factories/contracts/fuseFaucet/FuseFaucetV2__factory.ts +33 -1
  25. package/types/factories/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy__factory.ts +1 -1
  26. package/types/factories/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967__factory.ts +1 -1
  27. package/contracts/IQuoter.sol +0 -108
  28. package/scripts/multichain-deploy/verify.ts +0 -41
  29. package/scripts/proposals/gip-25-xdc-upgrade.ts +0 -438
@@ -1 +1 @@
1
- {"hardhat":{"Reserve":"0x09635F643e140090A9A8Dcd712eD6285858ceBef","GoodDollar":"0x8e80FFe6Dc044F4A766Afd6e5a8732Fe0977A493","Identity":"0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0","Avatar":"0x6F1216D1BFe15c98520CA1434FC1d9D57AC95321","Controller":"0xdAD42D43ecE0f6e8da8c2BCbC6A25FF6b3922C58","AbsoluteVote":"0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154","SchemeRegistrar":"0xCD8a1C3ba11CF5ECfa6267617243239504a98d90","UpgradeScheme":"0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575","DAI":"0x5FbDB2315678afecb367f032d93F642f64180aa3","cDAI":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","COMP":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","Contribution":"0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f","DAIStaking":"0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690","MarketMaker":"0x7a2088a1bFc9d81c55368AE168C2C02570cB814F","UBIScheme":"0x36C02dA8a0983159322a80FFE9F24b1acfF8B570","FirstClaimPool":"0x9d4454B023096f34B160D6B654540c56A1F81688","Bridge":"0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6","BancorFormula":"0x0165878A594ca255338adfa4d48449f69242Eb8F","DonationsStaking":"0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB","UniswapRouter":"0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f","DAIUsdOracle":"0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d","COMPUsdOracle":"0x04C89607413713Ec9775E14b954286519d836FEf","network":"develop","networkId":4447},"develop-mainnet":{"Reserve":"0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1","GoodDollar":"0x9bd03768a7DCc129555dE410FF8E85528A4F88b5","Identity":"0x0165878A594ca255338adfa4d48449f69242Eb8F","Avatar":"0x61c36a8d610163660E21a8b7359e1Cac0C9133e1","Controller":"0x23dB4a08f2272df049a4932a4Cc3A6Dc1002B33E","AbsoluteVote":"0x9E545E3C0baAB3E08CdfD552C960A1050f373042","SchemeRegistrar":"0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8","UpgradeScheme":"0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9","DAI":"0x5FbDB2315678afecb367f032d93F642f64180aa3","cDAI":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","COMP":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","USDC":"0x942ED2fa862887Dc698682cc6a86355324F0f01e","Contribution":"0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0","DAIStaking":"0x68B1D87F95878fE05B998F19b66F4baba5De1aed","MarketMaker":"0x9A676e781A523b5d0C0e43731313A708CB607508","UBIScheme":"0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E","FirstClaimPool":"0x67d269191c92Caf3cD7723F116c85e6E9bf55933","Bridge":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","BancorFormula":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","DonationsStaking":"0x3Aa5ebB10DC797CAC828524e59A333d0A371443c","UniswapRouter":"0x4826533B4897376654Bb4d4AD88B7faFD0C98528","DAIUsdOracle":"0x9d4454B023096f34B160D6B654540c56A1F81688","COMPUsdOracle":"0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00","USDCUsdOracle":"0x114e375B6FCC6d6fCb68c7A1d407E652C54F25FB","AAVEUsdOracle":"0x976C214741b4657bd99DFD38a5c0E3ac5C99D903","network":"develop","networkId":4447,"AaveLendingPool":"0x8D81A3DCd17030cD5F23Ac7370e4Efb10D2b3cA4","AaveIncentiveController":"0xcC4c41415fc68B2fBf70102742A83cDe435e0Ca7"},"develop":{"Reserve":"0x162A433068F51e18b7d13932F27e66a3f99E6890","GoodDollar":"0xfa7a32340ea54A3FF70942B33090a8a9A1B50214","Identity":"0xCD8a1C3ba11CF5ECfa6267617243239504a98d90","Avatar":"0x9FA5072032B7a7DCc49533401cec1C47bfcf350d","Controller":"0x37B37064d97eADAcc4d7A0cbC673b5C2932b673c","AbsoluteVote":"0x172076E0166D1F9Cc711C77Adf8488051744980C","SchemeRegistrar":"0xBEc49fA140aCaA83533fB00A2BB19bDdd0290f25","UpgradeScheme":"0x4EE6eCAD1c2Dae9f525404De8555724e3c35d07B","DAI":"0x36C02dA8a0983159322a80FFE9F24b1acfF8B570","cDAI":"0x4c5859f0F772848b2D91F1D83E2Fe57935348029","COMP":"0x809d550fca64d94Bd9F66E60752A544199cfAC3D","USDC":"0x2BB8B93F585B43b06F3d523bf30C203d3B6d4BD4","Contribution":"0xFD471836031dc5108809D173A067e8486B9047A3","DAIStaking":"0x5081a39b8A5f0E35a8D959395a630b68B74Dd30f","MarketMaker":"0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f","AdminWallet":"0x138A24c2DFD29b2db632a0c9E71E55621f5A745d","UBIScheme":"0x0355B7B8cb128fA5692729Ab3AAa199C1753f726","FirstClaimPool":"0x8198f5d8F8CfFE8f9C413d98a0A55aEB8ab9FbB7","Bridge":"0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154","BancorFormula":"0x1291Be112d480055DaFd8a610b7d1e203891C274","DonationsStaking":"0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d","UniswapRouter":"0x1c85638e118b37167e9298c2268758e058DdfDA0","DAIUsdOracle":"0x49fd2BE640DB2910c2fAb69bB8531Ab6E76127ff","COMPUsdOracle":"0x4631BCAbD6dF18D94796344963cB60d44a4136b6","USDCUsdOracle":"0xc6B407503dE64956Ad3cF5Ab112cA4f56AA13517","AAVEUsdOracle":"0x6A47346e722937B60Df7a1149168c0E76DD6520f","AaveLendingPool":"0xB7ca895F81F20e05A5eb11B05Cbaab3DAe5e23cd","AaveIncentiveController":"0xd0EC100F1252a53322051a95CF05c32f0C174354","network":"develop","networkId":4447},"kovan-mainnet":{"Reserve":"0x7330BbDd9Fc99Cc82bE0078fB643C1DDbF9be03f","GoodDollar":"0x46183b8822BB7Cbf27E10A1acc95DfB3b5f0ec79","Identity":"0xCA95A91238a9fbE2458aaC54Cf00F99eCAB14E0a","Avatar":"0x2cA80e8e6FE46066D432204dFbC902328e912Be6","Controller":"0x3778F359a108F48959562eCfe5CE677050c509D3","AbsoluteVote":"0xFC62b61205a9Df9699D0181896603e57A30Aca28","SchemeRegistrar":"0xaF633Cf595F0695aBa029F210D364e1C4282986e","UpgradeScheme":"0xAC7671a932287a69A5E1115BEde2687436Ebed7e","DAI":"0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa","cDAI":"0xf0d0eb522cfa50b716b3b1604c4f0fa6f04376ad","COMP":"0x61460874a7196d6a22d1ee4922473664b3e95270","Contribution":"0xb8e03cE6bb337A1161ca6E53DE568efBe5650eaF","DAIStaking":"0xd222e5557395c5b62b682Cbfd50567908592703d","MarketMaker":"0xD7cF329519e749B5f3c220e644660c61Acc24DAA","Bridge":"0x26D044e8a7bcD384FeFD22E753229922D6693d0E","BancorFormula":"0x56ca74cd7b31609a8ba666308f089e0d5e2d0584","DonationsStaking":"0xa30F00b4b2d02d1E02f48B645B04E60125dF6D49","network":"kovan-mainnet","networkId":42},"fuse":{"UBIScheme":"0xD85D794b7eb00749763e851EEAE37C5d862B9fb3","FirstClaimPool":"0x6CF223eE3c5f95CF97065de35757247E04EaaAe3","GoodDollar":"0xeE724540706296ebad65aeA2515Efe0949F97Ae6","Reputation":"0x1cb566802E61E7f661183F5d9A14645d7620CC8d","Identity":"0x30e1403C075dB97fD9FE02b114cEbea5acce38b7","Avatar":"0x07B41192DD74172576a443C7B28DDC3dC2CE3074","Controller":"0x903a6Ba8b5A43FBd34a511fB5Cf193CE8dc8907B","AbsoluteVote":"0x2170E9A5b72f143cdf9C2fc93fa9d6A9b67CD632","SchemeRegistrar":"0x7edb872c75e86fE53F828D65ad75B0B5862A0c2b","UpgradeScheme":"0xD142A79BAB57fed1FEed4734dFe33473d707EeCF","AdminWallet":"0xf61e08a98B446856eE3fbD6597D3698a1a138565","UBI":"0xCC9B1382b0Ae9D80E81eCB1863DcE8685a044603","SignupBonus":"0xcdC704D3dEA0FcFD1Cae95dfdCB7883632E171b2","OneTimePayments":"0x94079dF920115c5296Cc06AE6D8F29E077906246","FuseFaucet":"0xEEcc2620fb1EaC08Af5923B4D1D54d4703FBb29B","ProxyAdmin":"0xA74F8Ca91bA870608A909A9685e4a984Bbc068b5","Invites":"0x4218263062854C3953EF61699a85231b524A896a","HomeBridge":"0x628980264f86b20BbF4181f55a35602fEe6B4E6F"},"fuse-mainnet":{"FundManager":"0x6D5e39FC226958Ae60438cDe72E7ac4c46e8182c","DAIStaking":"0x49380979206Ea1E274A93d4912cA0950DE695E81","Reserve":"0xdAF541b3a4E1764D438D13F6D6C31157fec47A5e","MarketMaker":"0x01c5f99574235C5380e4fF9975Df58e387d6f9c4","Contribution":"0xd9dD31139a544Df145cf10cC73e7FC1Db33971Fa","DAI":"0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd","cDAI":"0x6ce27497a64fffb5517aa4aee908b1e7eb63b9ff","MainnetBridge":"0xF4aae0922718116fBeb60b49bbB2A66cbFaAC5E7","UBIScheme":"0xa611cb08E1b6ECdee4a9Db5caD045729de9ea1b1","network":"fuse-mainnet","networkId":3,"ForeignBridge":"0xEE0756A5394721e54A092F9aEbd525DD3A2Ace8d","GoodDollar":"0xd76135e33B9ee4F1bF1D57Ec18bBBC11AFf30941","Reputation":"0x5925F6Bf62147D2b14B85e6dCB979e3D1A81Dbb1","Identity":"0x13973e242C75091E605844F816b9a8E211929559","Avatar":"0xB7D068E9e4235176FA51c5971081117DFE5e7F75","Controller":"0xd6513d7145a208d94E508BAB2E4bE31f6dce5147","AbsoluteVote":"0x57312053C36A226Df13B01089218A5f9951D3f9c","SchemeRegistrar":"0xe1fe3f17c0C3C3333eFC54b07B92639fB765fdcd","UpgradeScheme":"0xAce125eDD5591F33653b856c6C2ADD4CA2Bf64Cd","UBI":"0x0000000000000000000000000000000000000000","SignupBonus":"0x0000000000000000000000000000000000000000","OneTimePayments":"0x0000000000000000000000000000000000000000","HomeBridge":"0x0000000000000000000000000000000000000000","ProxyAdmin":"0xE383e9D08e3e4f76CBb4a6953aF343E7bbcc6e98","DonationsStaking":"0x424e48447c1230544711a96b903C79ef6EB9e14C","COMP":"0xf76d4a441e4ba86a923ce32b89aff89dbccaa075"},"production":{"UBISchemeOld":"0xAACbaaB8571cbECEB46ba85B5981efDB8928545e","UBIScheme":"0xD7aC544F8A570C4d8764c3AAbCF6870CBD960D0D","FirstClaimPool":"0x18BcdF79A724648bF34eb06701be81bD072A2384","GoodDollar":"0x495d133B938596C9984d462F007B676bDc57eCEC","Reputation":"0x0be7C592374EE0bD0CcBFC76Be758a138BcaEc6E","Identity":"0xFa8d865A962ca8456dF331D78806152d3aC5B84F","Avatar":"0xf96dADc6D71113F6500e97590760C924dA1eF70e","Controller":"0xBcE053b99e22158f8B62f4DBFbEdE1f936b2D4e4","AbsoluteVote":"0x795CED99774430DF8902D8699388924a213A5aA6","SchemeRegistrar":"0x12F706FaafCBf8093282Dba0c40eD0D4Eb5CAF54","UpgradeScheme":"0x653c67Be5b3739708e84B61641253822405d78D8","AdminWallet":"0x9F75dAcB77419b87f568d417eBc84346e134144E","UBI":"0x0000000000000000000000000000000000000000","SignupBonus":"0x0000000000000000000000000000000000000000","OneTimePayments":"0xd9Aa86e0Ddb932bD78ab8c71C1B98F83cF610Bd4","HomeBridge":"0xD39021DB018E2CAEadb4B2e6717D31550e7918D0","ForeignBridge":"0x0000000000000000000000000000000000000000","network":"production","networkId":122,"FuseFaucet":"0x01ab5966C1d742Ae0CFF7f14cC0F4D85156e83d9","ProxyAdmin":"0x57179b2A8eB019157b0C3E761cdB26c82C982a3B","Invites":"0xCa2F09c3ccFD7aD5cB9276918Bd1868f2b922ea0","FuseStaking":"0xA199F0C353E25AdF022378B0c208D600f39a6505"},"production-mainnet":{"FundManager":"0xbDFD60f3aE73329D33ebe17d78383DEfd72643Ad","DAIStaking":"0xEa12bB3917cf6aE2FDE97cE4756177703426d41F","Reserve":"0x5C16960F2Eeba27b7de4F1F6e84E616C1977e070","MarketMaker":"0xEDbE438Cd865992fDB72dd252E6055A71b02BE72","Contribution":"0x8eEC64bb6807c0178f96277cCE6a334B4e565E5C","DAI":"0x6B175474E89094C44Da98b954EedeAC495271d0F","cDAI":"0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643","ForeignBridge":"0xD5D11eE582c8931F336fbcd135e98CEE4DB8CCB0","GoodDollar":"0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B","Reputation":"0xCb4a6aF3b15D64E8f50B3cea54c4f481d9E434C1","Identity":"0x76e76e10Ac308A1D54a00f9df27EdCE4801F288b","Avatar":"0x1ecFD1afb601C406fF0e13c3485f2d75699b6817","Controller":"0x95C0d9dCEA1E243ED696F34CAc5e6559C3c128a3","AbsoluteVote":"0xf6b5F7a885CBc57d739aDBEe76E52A70Bc04D795","SchemeRegistrar":"0x098148534aC15A44CFF52387bA81Ed929589eCAf","UpgradeScheme":"0xF9B357d83BDAD6881feb09d909095872B93203d0","UBI":"0x0000000000000000000000000000000000000000","SignupBonus":"0x0000000000000000000000000000000000000000","OneTimePayments":"0x0000000000000000000000000000000000000000","HomeBridge":"0x0000000000000000000000000000000000000000","network":"production-mainnet","networkId":1,"ProxyAdmin":"0xA2db14C68aB35e620fEA5bF07d65e9bff84c994C","DonationsStaking":"0x93FB057EeC37aBc11D955d1C09e6A0d218F35CfF"},"staging":{"FuseFaucet":"0xDfCb356c9bd420263aC56D7980f409AcE9050896","ProxyAdmin":"0x2Ea4aAA8351CfE63B537E81Cd4a13c435B945C1D","Invites":"0x7d5FC799dE6fB6a30161684f27320BAcAdBf4126","ProxyAdmin2":"0x23D8492444DA663fcb2bDa8cA9A0e84989D1f59e","GoodDollar":"0x100b8fd10ff8DC43fda45E636B4BB1eE6088270a","Reputation":"0x0CA09cA67B42272b83a05346545329DE5B30b398","Identity":"0x104efFcBDddae9cd4813b8A05Ecd6A17BaBfE6d9","Avatar":"0xcA9E4D51bc496F0b661E9fa02d25E4f67Dd88870","Controller":"0x7CBA0778748960145F3E56b3285255064D86709D","AbsoluteVote":"0x7b58A5737440Bc05ca3972fDeFf8ac3bA984536B","SchemeRegistrar":"0x0E79f80809180aB8FAE189D4e76fC814672d9a40","AdminWallet":"0x8b0Ec4aFaEE9974233c29fa52cC5D2493FB81D45","UpgradeScheme":"0xfC9F6F5E3ff7BAAB3fEf82e66f56917D625ba38B","OneTimePayments":"0x2b5Ef42bc3D1BEfCbA20E3233DeDadD2439B8Ac2","HomeBridge":"0x53f6Bd6Da1564f5B00D2069d8E0F316AF859fb99","UBIScheme":"0x57ab55C54ffC3f92544766D683645c8ED03Cc543","FirstClaimPool":"0x1EA5564a28F34107b99dC591f142537404329762","network":"staging","networkId":122},"staging-mainnet":{"GoodDollar":"0x4738C5e91C4F809da21DD0Df4B5aD5f699878C1c","Reputation":"0x49920f0bb0E099755Ad61B5EB23b807aE1B5caFe","Identity":"0xfb5dAF44cd18Db7b96DB3F9c6E411D65fcf4f372","Avatar":"0x3BC91a65f53dACBd2336C04AC060741f70dCd187","Controller":"0x589F7ae100a7dbd80DC512208b7a0F457A041BE6","AbsoluteVote":"0x11e7716de4B5bC9A1dBc93184b27aC2134CA6E42","SchemeRegistrar":"0x4F151834efb18108080716d1467b397FAA87cF66","FundManager":"0x483a044D792b2Ca0373956444c7e7db36b7DBc56","DAIStaking":"0xE6876231d1a5905Abed03E4C613E427b0357ec0b","Reserve":"0x5810950BF9184F286f1C33b2cf80533D2CB274AF","MarketMaker":"0xAE64E29c78056fB221099A1Ece5fB7D91cA27918","Contribution":"0x7cC2CcDA5483e721778C4040B1DbD23B3Ab1B4A5","DAI":"0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd","cDAI":"0x6ce27497a64fffb5517aa4aee908b1e7eb63b9ff","UpgradeScheme":"0xbd879865b649B7605c27cAa6A54e0f6B9Efb74b2","ForeignBridge":"0xEDA39475415f1A2944a467Aa6359CB4C1c3ed50f","COMP":"0xf76d4a441e4ba86a923ce32b89aff89dbccaa075","network":"staging-mainnet","networkId":3},"dapptest":{"Reserve":"0x4AE7ae2ddeb53bE55aC1dF732DB6bd82fE375DBe","FundManager":"0xc8074ACFfa93DC3783e14147734E088babA5bb02","GoodDollar":"0xE96FE3879991d1BBDA70EdC2Dca97d6891884891","Identity":"0x6d824682aA66da4e6738c6f3e16cC15fe9ce6F79","Avatar":"0x671857BCE3F4a5D22C85ee1bed0B683A893AF3C9","Controller":"0x781376b0094C9cA54210fF1A12F437B27239228A","AbsoluteVote":"0x2A7EC1a948C356c3D5cf0b275B0FAa4Df10701D5","SchemeRegistrar":"0x009eb8A8a1B7C4d48C721E47894346477d2f6647","UpgradeScheme":"0x70F804060040bAb7E443b0F4334d356B7a6D4bAc","DAI":"0xd3aAA70197b22116c6732a964edC09C853AaC941","cDAI":"0xdB52E4853b6A40D2972E6797E0BDBDb3eB761966","COMP":"0x72b46c86aA67f2aBa435414f410bb48300C064Bf","USDC":"0x6cA80f28E672632A8c9f1Ec9b7Fff00E70898f5C","Contribution":"0x4417E9B86Be5d09331eF8B5a98Af4589228F476E","DAIStaking":"0xE076341997771AB62fe184d1101BCd78d18053e2","MarketMaker":"0xE8aB4B54E9209522D387343D50e37b7a540056D1","UBIScheme":"0xA4e9C96b5FfA721223a3f360b9d4d25613c37Fc5","FirstClaimPool":"0xe3963EF7CC3044B64842d0AAe7F2Bf1543D341Ec","HomeBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","ForeignBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","BancorFormula":"0xFb3A7D4cdA276f3Ed98E4ACA2D6318BCd9751859","DonationsStaking":"0x5654740BF119bdC3214485e82D73358E56d7B759","UniswapRouter":"0x18a0503B232224B2f8954ADB2391B623Bc6A8960","DAIUsdOracle":"0xF8D306e484890EaDEB108A02357Cb496204f7716","COMPUsdOracle":"0x492f33E4701D9bd42a133c1b5AB1e4ac8333c590","USDCUsdOracle":"0xe7fA8a2D1DD0Bd3F766e04ccFC50061891A4641e","AAVEUsdOracle":"0x867e1Ccb964654A1074627b0C6557b0ccEb869C4","AaveLendingPool":"0xF758A89A9EbA1F6d74d32d9C00edC78E8e27fC6a","GasPriceOracle":"0x165f39D300c3546Fa8453E183910B042858C012f","DAIEthOracle":"0xddac1165475aC243Ea39915b62Cd0092f24aE931","ETHUsdOracle":"0xc538A445f35dD3b8f49853BDAC9D7DbF90eCcbC4","AaveIncentiveController":"0x51f6983a5f0602b10cA772BFB50EaFfA1822Cb98","AdminWallet":"0x8493F51fA07a9bB978a8AD45f7185A26C1185b9E","OneTimePayments":"0x8be34D7830d446747B95Aa3ace0eaA4FF19b2007","network":"dapptest","networkId":4447},"dapptest-mainnet":{"Reserve":"0x4AE7ae2ddeb53bE55aC1dF732DB6bd82fE375DBe","FundManager":"0xc8074ACFfa93DC3783e14147734E088babA5bb02","GoodDollar":"0xE96FE3879991d1BBDA70EdC2Dca97d6891884891","Identity":"0x6d824682aA66da4e6738c6f3e16cC15fe9ce6F79","Avatar":"0x671857BCE3F4a5D22C85ee1bed0B683A893AF3C9","Controller":"0x781376b0094C9cA54210fF1A12F437B27239228A","AbsoluteVote":"0x2A7EC1a948C356c3D5cf0b275B0FAa4Df10701D5","SchemeRegistrar":"0x009eb8A8a1B7C4d48C721E47894346477d2f6647","UpgradeScheme":"0x70F804060040bAb7E443b0F4334d356B7a6D4bAc","DAI":"0xd3aAA70197b22116c6732a964edC09C853AaC941","cDAI":"0xdB52E4853b6A40D2972E6797E0BDBDb3eB761966","COMP":"0x72b46c86aA67f2aBa435414f410bb48300C064Bf","USDC":"0x6cA80f28E672632A8c9f1Ec9b7Fff00E70898f5C","Contribution":"0x4417E9B86Be5d09331eF8B5a98Af4589228F476E","DAIStaking":"0xE076341997771AB62fe184d1101BCd78d18053e2","MarketMaker":"0xE8aB4B54E9209522D387343D50e37b7a540056D1","UBIScheme":"0xA4e9C96b5FfA721223a3f360b9d4d25613c37Fc5","FirstClaimPool":"0xe3963EF7CC3044B64842d0AAe7F2Bf1543D341Ec","HomeBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","ForeignBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","BancorFormula":"0xFb3A7D4cdA276f3Ed98E4ACA2D6318BCd9751859","DonationsStaking":"0x5654740BF119bdC3214485e82D73358E56d7B759","UniswapRouter":"0x18a0503B232224B2f8954ADB2391B623Bc6A8960","DAIUsdOracle":"0xF8D306e484890EaDEB108A02357Cb496204f7716","COMPUsdOracle":"0x492f33E4701D9bd42a133c1b5AB1e4ac8333c590","USDCUsdOracle":"0xe7fA8a2D1DD0Bd3F766e04ccFC50061891A4641e","AAVEUsdOracle":"0x867e1Ccb964654A1074627b0C6557b0ccEb869C4","AaveLendingPool":"0xF758A89A9EbA1F6d74d32d9C00edC78E8e27fC6a","GasPriceOracle":"0x165f39D300c3546Fa8453E183910B042858C012f","DAIEthOracle":"0xddac1165475aC243Ea39915b62Cd0092f24aE931","ETHUsdOracle":"0xc538A445f35dD3b8f49853BDAC9D7DbF90eCcbC4","AaveIncentiveController":"0x51f6983a5f0602b10cA772BFB50EaFfA1822Cb98","AdminWallet":"0x8493F51fA07a9bB978a8AD45f7185A26C1185b9E","OneTimePayments":"0x8be34D7830d446747B95Aa3ace0eaA4FF19b2007","network":"dapptest","networkId":4447},"test-mainnet":{"Reserve":"0x8B190573374637f144AC8D37375d97fd84cBD3a0","FundManager":"0xDde063eBe8E85D666AD99f731B4Dbf8C98F29708","GoodDollar":"0x6212Adf47F935b95da3a72Ee68790b5975FE9C6B","Identity":"0x82EdA215Fa92B45a3a76837C65Ab862b6C7564a8","Avatar":"0x7fDAA94532e0899820967A3991BEA1a584A15BE8","Controller":"0x6222912b72207156A03A0d774cA8839e9c6b9f57","AbsoluteVote":"0x6A59CC73e334b018C9922793d96Df84B538E6fD5","SchemeRegistrar":"0x683d9CDD3239E0e01E8dC6315fA50AD92aB71D2d","UpgradeScheme":"0xC1e0A9DB9eA830c52603798481045688c8AE99C2","DAI":"0xFE5f411481565fbF70D8D33D992C78196E014b90","cDAI":"0x139e1D41943ee15dDe4DF876f9d0E7F85e26660A","COMP":"0xD6b040736e948621c5b6E0a494473c47a6113eA8","USDC":"0xE8F7d98bE6722d42F29b50500B0E318EF2be4fc8","Contribution":"0xc9952Fc93Fa9bE383ccB39008c786b9f94eAc95d","DAIStaking":"0x162700d1613DfEC978032A909DE02643bC55df1A","MarketMaker":"0xD5724171C2b7f0AA717a324626050BD05767e2C6","UBIScheme":"0x0aec7c174554AF8aEc3680BB58431F6618311510","FirstClaimPool":"0xe1708FA6bb2844D5384613ef0846F9Bc1e8eC55E","HomeBridge":"0x7B4f352Cd40114f12e82fC675b5BA8C7582FC513","ForeignBridge":"0x7B4f352Cd40114f12e82fC675b5BA8C7582FC513","BancorFormula":"0xAdE429ba898c34722e722415D722A70a297cE3a2","DonationsStaking":"0x67aD6EA566BA6B0fC52e97Bc25CE46120fdAc04c","UniswapRouter":"0x1343248Cbd4e291C6979e70a138f4c774e902561","DAIUsdOracle":"0x512F7469BcC83089497506b5df64c6E246B39925","COMPUsdOracle":"0xCBBe2A5c3A22BE749D5DDF24e9534f98951983e2","USDCUsdOracle":"0x9fD16eA9E31233279975D99D5e8Fc91dd214c7Da","AAVEUsdOracle":"0x987e855776C03A4682639eEb14e65b3089EE6310","AaveLendingPool":"0xe38b6847E611e942E6c80eD89aE867F522402e80","GasPriceOracle":"0x7580708993de7CA120E957A62f26A5dDD4b3D8aC","DAIEthOracle":"0x75c68e69775fA3E9DD38eA32E554f6BF259C1135","ETHUsdOracle":"0x572316aC11CB4bc5daf6BDae68f43EA3CCE3aE0e","AaveIncentiveController":"0x2c8ED11fd7A058096F2e5828799c68BE88744E2F","AdminWallet":"0xb185E9f6531BA9877741022C92CE858cDCc5760E","OneTimePayments":"0x8D81A3DCd17030cD5F23Ac7370e4Efb10D2b3cA4","network":"test-mainnet","networkId":4447},"test":{"Reserve":"0x286B8DecD5ED79c962b2d8F4346CD97FF0E2C352","FundManager":"0xA9e6Bfa2BF53dE88FEb19761D9b2eE2e821bF1Bf","GoodDollar":"0xEC8B7056001Ee3F47fc636dD066Dca74a669cC61","Identity":"0xdF46e54aAadC1d55198A4a8b4674D7a4c927097A","Avatar":"0xCB41c8cCf109aa10eD7F858Ffde0947b75F3031d","Controller":"0x218b32b92cda6a015c3D9147A65dA572279Be678","AbsoluteVote":"0x4eaB29997D332A666c3C366217Ab177cF9A7C436","SchemeRegistrar":"0x627b9A657eac8c3463AD17009a424dFE3FDbd0b1","UpgradeScheme":"0x5Ffe31E4676D3466268e28a75E51d1eFa4298620","DAI":"0x975Ab64F4901Af5f0C96636deA0b9de3419D0c2F","cDAI":"0xCd7c00Ac6dc51e8dCc773971Ac9221cC582F3b1b","COMP":"0x4593ed9CbE6003e687e5e77368534bb04b162503","USDC":"0x76cec9299B6Fa418dc71416FF353737AB7933A7D","Contribution":"0x1D8D70AD07C8E7E442AD78E4AC0A16f958Eba7F0","DAIStaking":"0x70E5370b8981Abc6e14C91F4AcE823954EFC8eA3","MarketMaker":"0x1E3b98102e19D3a164d239BdD190913C2F02E756","UBIScheme":"0xa4E00CB342B36eC9fDc4B50b3d527c3643D4C49e","FirstClaimPool":"0x9849832a1d8274aaeDb1112ad9686413461e7101","HomeBridge":"0x94fFA1C7330845646CE9128450F8e6c3B5e44F86","ForeignBridge":"0x94fFA1C7330845646CE9128450F8e6c3B5e44F86","BancorFormula":"0x8ac87219a0F5639BC01b470F87BA2b26356CB2B9","DonationsStaking":"0x4000F8820522AC96C4221b299876e3e53bCc8525","UniswapRouter":"0x06b3244b086cecC40F1e5A826f736Ded68068a0F","DAIUsdOracle":"0x1D13fF25b10C9a6741DFdce229073bed652197c7","COMPUsdOracle":"0xC976c932092ECcD8f328FfD85066C0c05ED54044","USDCUsdOracle":"0x24d41dbc3d60d0784f8a937c59FBDe51440D5140","AAVEUsdOracle":"0x618fB9dbd2BD6eb968B4c1af36af6CB0b45310Ec","AaveLendingPool":"0xA3307BF348ACC4bEDdd67CCA2f7F0c4349d347Db","GasPriceOracle":"0xc0Bb1650A8eA5dDF81998f17B5319afD656f4c11","DAIEthOracle":"0x5322471a7E37Ac2B8902cFcba84d266b37D811A0","ETHUsdOracle":"0x90c84237fDdf091b1E63f369AF122EB46000bc70","AaveIncentiveController":"0x313F922BE1649cEc058EC0f076664500c78bdc0b","AdminWallet":"0xC32609C91d6B6b51D48f2611308FEf121B02041f","OneTimePayments":"0xA21DDc1f17dF41589BC6A5209292AED2dF61Cc94","network":"test","networkId":4447}}
1
+ {"hardhat":{"Reserve":"0x09635F643e140090A9A8Dcd712eD6285858ceBef","GoodDollar":"0x8e80FFe6Dc044F4A766Afd6e5a8732Fe0977A493","Identity":"0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0","Avatar":"0x6F1216D1BFe15c98520CA1434FC1d9D57AC95321","Controller":"0xdAD42D43ecE0f6e8da8c2BCbC6A25FF6b3922C58","AbsoluteVote":"0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154","SchemeRegistrar":"0xCD8a1C3ba11CF5ECfa6267617243239504a98d90","UpgradeScheme":"0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575","DAI":"0x5FbDB2315678afecb367f032d93F642f64180aa3","cDAI":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","COMP":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","Contribution":"0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f","DAIStaking":"0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690","MarketMaker":"0x7a2088a1bFc9d81c55368AE168C2C02570cB814F","UBIScheme":"0x36C02dA8a0983159322a80FFE9F24b1acfF8B570","FirstClaimPool":"0x9d4454B023096f34B160D6B654540c56A1F81688","Bridge":"0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6","BancorFormula":"0x0165878A594ca255338adfa4d48449f69242Eb8F","DonationsStaking":"0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB","UniswapRouter":"0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f","DAIUsdOracle":"0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d","COMPUsdOracle":"0x04C89607413713Ec9775E14b954286519d836FEf","network":"develop","networkId":4447},"develop-mainnet":{"Reserve":"0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1","GoodDollar":"0x9bd03768a7DCc129555dE410FF8E85528A4F88b5","Identity":"0x0165878A594ca255338adfa4d48449f69242Eb8F","Avatar":"0x61c36a8d610163660E21a8b7359e1Cac0C9133e1","Controller":"0x23dB4a08f2272df049a4932a4Cc3A6Dc1002B33E","AbsoluteVote":"0x9E545E3C0baAB3E08CdfD552C960A1050f373042","SchemeRegistrar":"0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8","UpgradeScheme":"0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9","DAI":"0x5FbDB2315678afecb367f032d93F642f64180aa3","cDAI":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","COMP":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","USDC":"0x942ED2fa862887Dc698682cc6a86355324F0f01e","Contribution":"0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0","DAIStaking":"0x68B1D87F95878fE05B998F19b66F4baba5De1aed","MarketMaker":"0x9A676e781A523b5d0C0e43731313A708CB607508","UBIScheme":"0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E","FirstClaimPool":"0x67d269191c92Caf3cD7723F116c85e6E9bf55933","Bridge":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","BancorFormula":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","DonationsStaking":"0x3Aa5ebB10DC797CAC828524e59A333d0A371443c","UniswapRouter":"0x4826533B4897376654Bb4d4AD88B7faFD0C98528","DAIUsdOracle":"0x9d4454B023096f34B160D6B654540c56A1F81688","COMPUsdOracle":"0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00","USDCUsdOracle":"0x114e375B6FCC6d6fCb68c7A1d407E652C54F25FB","AAVEUsdOracle":"0x976C214741b4657bd99DFD38a5c0E3ac5C99D903","network":"develop","networkId":4447,"AaveLendingPool":"0x8D81A3DCd17030cD5F23Ac7370e4Efb10D2b3cA4","AaveIncentiveController":"0xcC4c41415fc68B2fBf70102742A83cDe435e0Ca7"},"develop":{"Reserve":"0x162A433068F51e18b7d13932F27e66a3f99E6890","GoodDollar":"0xfa7a32340ea54A3FF70942B33090a8a9A1B50214","Identity":"0xCD8a1C3ba11CF5ECfa6267617243239504a98d90","Avatar":"0x9FA5072032B7a7DCc49533401cec1C47bfcf350d","Controller":"0x37B37064d97eADAcc4d7A0cbC673b5C2932b673c","AbsoluteVote":"0x172076E0166D1F9Cc711C77Adf8488051744980C","SchemeRegistrar":"0xBEc49fA140aCaA83533fB00A2BB19bDdd0290f25","UpgradeScheme":"0x4EE6eCAD1c2Dae9f525404De8555724e3c35d07B","DAI":"0x36C02dA8a0983159322a80FFE9F24b1acfF8B570","cDAI":"0x4c5859f0F772848b2D91F1D83E2Fe57935348029","COMP":"0x809d550fca64d94Bd9F66E60752A544199cfAC3D","USDC":"0x2BB8B93F585B43b06F3d523bf30C203d3B6d4BD4","Contribution":"0xFD471836031dc5108809D173A067e8486B9047A3","DAIStaking":"0x5081a39b8A5f0E35a8D959395a630b68B74Dd30f","MarketMaker":"0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f","AdminWallet":"0x138A24c2DFD29b2db632a0c9E71E55621f5A745d","UBIScheme":"0x0355B7B8cb128fA5692729Ab3AAa199C1753f726","FirstClaimPool":"0x8198f5d8F8CfFE8f9C413d98a0A55aEB8ab9FbB7","Bridge":"0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154","BancorFormula":"0x1291Be112d480055DaFd8a610b7d1e203891C274","DonationsStaking":"0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d","UniswapRouter":"0x1c85638e118b37167e9298c2268758e058DdfDA0","DAIUsdOracle":"0x49fd2BE640DB2910c2fAb69bB8531Ab6E76127ff","COMPUsdOracle":"0x4631BCAbD6dF18D94796344963cB60d44a4136b6","USDCUsdOracle":"0xc6B407503dE64956Ad3cF5Ab112cA4f56AA13517","AAVEUsdOracle":"0x6A47346e722937B60Df7a1149168c0E76DD6520f","AaveLendingPool":"0xB7ca895F81F20e05A5eb11B05Cbaab3DAe5e23cd","AaveIncentiveController":"0xd0EC100F1252a53322051a95CF05c32f0C174354","network":"develop","networkId":4447},"kovan-mainnet":{"Reserve":"0x7330BbDd9Fc99Cc82bE0078fB643C1DDbF9be03f","GoodDollar":"0x46183b8822BB7Cbf27E10A1acc95DfB3b5f0ec79","Identity":"0xCA95A91238a9fbE2458aaC54Cf00F99eCAB14E0a","Avatar":"0x2cA80e8e6FE46066D432204dFbC902328e912Be6","Controller":"0x3778F359a108F48959562eCfe5CE677050c509D3","AbsoluteVote":"0xFC62b61205a9Df9699D0181896603e57A30Aca28","SchemeRegistrar":"0xaF633Cf595F0695aBa029F210D364e1C4282986e","UpgradeScheme":"0xAC7671a932287a69A5E1115BEde2687436Ebed7e","DAI":"0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa","cDAI":"0xf0d0eb522cfa50b716b3b1604c4f0fa6f04376ad","COMP":"0x61460874a7196d6a22d1ee4922473664b3e95270","Contribution":"0xb8e03cE6bb337A1161ca6E53DE568efBe5650eaF","DAIStaking":"0xd222e5557395c5b62b682Cbfd50567908592703d","MarketMaker":"0xD7cF329519e749B5f3c220e644660c61Acc24DAA","Bridge":"0x26D044e8a7bcD384FeFD22E753229922D6693d0E","BancorFormula":"0x56ca74cd7b31609a8ba666308f089e0d5e2d0584","DonationsStaking":"0xa30F00b4b2d02d1E02f48B645B04E60125dF6D49","network":"kovan-mainnet","networkId":42},"fuse":{"UBIScheme":"0xD85D794b7eb00749763e851EEAE37C5d862B9fb3","FirstClaimPool":"0x6CF223eE3c5f95CF97065de35757247E04EaaAe3","GoodDollar":"0xeE724540706296ebad65aeA2515Efe0949F97Ae6","Reputation":"0x1cb566802E61E7f661183F5d9A14645d7620CC8d","Identity":"0x30e1403C075dB97fD9FE02b114cEbea5acce38b7","Avatar":"0x07B41192DD74172576a443C7B28DDC3dC2CE3074","Controller":"0x903a6Ba8b5A43FBd34a511fB5Cf193CE8dc8907B","AbsoluteVote":"0x2170E9A5b72f143cdf9C2fc93fa9d6A9b67CD632","SchemeRegistrar":"0x7edb872c75e86fE53F828D65ad75B0B5862A0c2b","UpgradeScheme":"0xD142A79BAB57fed1FEed4734dFe33473d707EeCF","AdminWallet":"0xf61e08a98B446856eE3fbD6597D3698a1a138565","UBI":"0xCC9B1382b0Ae9D80E81eCB1863DcE8685a044603","SignupBonus":"0xcdC704D3dEA0FcFD1Cae95dfdCB7883632E171b2","OneTimePayments":"0x94079dF920115c5296Cc06AE6D8F29E077906246","FuseFaucet":"0xEEcc2620fb1EaC08Af5923B4D1D54d4703FBb29B","ProxyAdmin":"0xA74F8Ca91bA870608A909A9685e4a984Bbc068b5","Invites":"0x4218263062854C3953EF61699a85231b524A896a","HomeBridge":"0x628980264f86b20BbF4181f55a35602fEe6B4E6F"},"fuse-mainnet":{"FundManager":"0x6D5e39FC226958Ae60438cDe72E7ac4c46e8182c","DAIStaking":"0x49380979206Ea1E274A93d4912cA0950DE695E81","Reserve":"0xdAF541b3a4E1764D438D13F6D6C31157fec47A5e","MarketMaker":"0x01c5f99574235C5380e4fF9975Df58e387d6f9c4","Contribution":"0xd9dD31139a544Df145cf10cC73e7FC1Db33971Fa","DAI":"0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd","cDAI":"0x6ce27497a64fffb5517aa4aee908b1e7eb63b9ff","MainnetBridge":"0xF4aae0922718116fBeb60b49bbB2A66cbFaAC5E7","UBIScheme":"0xa611cb08E1b6ECdee4a9Db5caD045729de9ea1b1","network":"fuse-mainnet","networkId":3,"ForeignBridge":"0xEE0756A5394721e54A092F9aEbd525DD3A2Ace8d","GoodDollar":"0xd76135e33B9ee4F1bF1D57Ec18bBBC11AFf30941","Reputation":"0x5925F6Bf62147D2b14B85e6dCB979e3D1A81Dbb1","Identity":"0x13973e242C75091E605844F816b9a8E211929559","Avatar":"0xB7D068E9e4235176FA51c5971081117DFE5e7F75","Controller":"0xd6513d7145a208d94E508BAB2E4bE31f6dce5147","AbsoluteVote":"0x57312053C36A226Df13B01089218A5f9951D3f9c","SchemeRegistrar":"0xe1fe3f17c0C3C3333eFC54b07B92639fB765fdcd","UpgradeScheme":"0xAce125eDD5591F33653b856c6C2ADD4CA2Bf64Cd","UBI":"0x0000000000000000000000000000000000000000","SignupBonus":"0x0000000000000000000000000000000000000000","OneTimePayments":"0x0000000000000000000000000000000000000000","HomeBridge":"0x0000000000000000000000000000000000000000","ProxyAdmin":"0xE383e9D08e3e4f76CBb4a6953aF343E7bbcc6e98","DonationsStaking":"0x424e48447c1230544711a96b903C79ef6EB9e14C","COMP":"0xf76d4a441e4ba86a923ce32b89aff89dbccaa075"},"production":{"UBISchemeOld":"0xAACbaaB8571cbECEB46ba85B5981efDB8928545e","UBIScheme":"0xD7aC544F8A570C4d8764c3AAbCF6870CBD960D0D","FirstClaimPool":"0x18BcdF79A724648bF34eb06701be81bD072A2384","GoodDollar":"0x495d133B938596C9984d462F007B676bDc57eCEC","Reputation":"0x0be7C592374EE0bD0CcBFC76Be758a138BcaEc6E","Identity":"0xFa8d865A962ca8456dF331D78806152d3aC5B84F","Avatar":"0xf96dADc6D71113F6500e97590760C924dA1eF70e","Controller":"0xBcE053b99e22158f8B62f4DBFbEdE1f936b2D4e4","AbsoluteVote":"0x795CED99774430DF8902D8699388924a213A5aA6","SchemeRegistrar":"0x12F706FaafCBf8093282Dba0c40eD0D4Eb5CAF54","UpgradeScheme":"0x653c67Be5b3739708e84B61641253822405d78D8","AdminWallet":"0x9F75dAcB77419b87f568d417eBc84346e134144E","UBI":"0x0000000000000000000000000000000000000000","SignupBonus":"0x0000000000000000000000000000000000000000","OneTimePayments":"0xd9Aa86e0Ddb932bD78ab8c71C1B98F83cF610Bd4","HomeBridge":"0xD39021DB018E2CAEadb4B2e6717D31550e7918D0","ForeignBridge":"0x0000000000000000000000000000000000000000","network":"production","networkId":122,"FuseFaucet":"0x01ab5966C1d742Ae0CFF7f14cC0F4D85156e83d9","ProxyAdmin":"0x57179b2A8eB019157b0C3E761cdB26c82C982a3B","Invites":"0xCa2F09c3ccFD7aD5cB9276918Bd1868f2b922ea0","FuseStaking":"0xA199F0C353E25AdF022378B0c208D600f39a6505"},"production-mainnet":{"FundManager":"0xbDFD60f3aE73329D33ebe17d78383DEfd72643Ad","DAIStaking":"0xEa12bB3917cf6aE2FDE97cE4756177703426d41F","Reserve":"0x5C16960F2Eeba27b7de4F1F6e84E616C1977e070","MarketMaker":"0xEDbE438Cd865992fDB72dd252E6055A71b02BE72","Contribution":"0x8eEC64bb6807c0178f96277cCE6a334B4e565E5C","DAI":"0x6B175474E89094C44Da98b954EedeAC495271d0F","cDAI":"0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643","ForeignBridge":"0xD5D11eE582c8931F336fbcd135e98CEE4DB8CCB0","GoodDollar":"0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B","Reputation":"0xCb4a6aF3b15D64E8f50B3cea54c4f481d9E434C1","Identity":"0x76e76e10Ac308A1D54a00f9df27EdCE4801F288b","Avatar":"0x1ecFD1afb601C406fF0e13c3485f2d75699b6817","Controller":"0x95C0d9dCEA1E243ED696F34CAc5e6559C3c128a3","AbsoluteVote":"0xf6b5F7a885CBc57d739aDBEe76E52A70Bc04D795","SchemeRegistrar":"0x098148534aC15A44CFF52387bA81Ed929589eCAf","UpgradeScheme":"0xF9B357d83BDAD6881feb09d909095872B93203d0","UBI":"0x0000000000000000000000000000000000000000","SignupBonus":"0x0000000000000000000000000000000000000000","OneTimePayments":"0x0000000000000000000000000000000000000000","HomeBridge":"0x0000000000000000000000000000000000000000","network":"production-mainnet","networkId":1,"ProxyAdmin":"0xA2db14C68aB35e620fEA5bF07d65e9bff84c994C","DonationsStaking":"0x93FB057EeC37aBc11D955d1C09e6A0d218F35CfF"},"staging":{"FuseFaucet":"0xDfCb356c9bd420263aC56D7980f409AcE9050896","ProxyAdmin":"0x2Ea4aAA8351CfE63B537E81Cd4a13c435B945C1D","Invites":"0x7d5FC799dE6fB6a30161684f27320BAcAdBf4126","ProxyAdmin2":"0x23D8492444DA663fcb2bDa8cA9A0e84989D1f59e","GoodDollar":"0x100b8fd10ff8DC43fda45E636B4BB1eE6088270a","Reputation":"0x0CA09cA67B42272b83a05346545329DE5B30b398","Identity":"0x104efFcBDddae9cd4813b8A05Ecd6A17BaBfE6d9","Avatar":"0xcA9E4D51bc496F0b661E9fa02d25E4f67Dd88870","Controller":"0x7CBA0778748960145F3E56b3285255064D86709D","AbsoluteVote":"0x7b58A5737440Bc05ca3972fDeFf8ac3bA984536B","SchemeRegistrar":"0x0E79f80809180aB8FAE189D4e76fC814672d9a40","AdminWallet":"0x8b0Ec4aFaEE9974233c29fa52cC5D2493FB81D45","UpgradeScheme":"0xfC9F6F5E3ff7BAAB3fEf82e66f56917D625ba38B","OneTimePayments":"0x2b5Ef42bc3D1BEfCbA20E3233DeDadD2439B8Ac2","HomeBridge":"0x53f6Bd6Da1564f5B00D2069d8E0F316AF859fb99","UBIScheme":"0x57ab55C54ffC3f92544766D683645c8ED03Cc543","FirstClaimPool":"0x1EA5564a28F34107b99dC591f142537404329762","network":"staging","networkId":122},"staging-mainnet":{"GoodDollar":"0x4738C5e91C4F809da21DD0Df4B5aD5f699878C1c","Reputation":"0x49920f0bb0E099755Ad61B5EB23b807aE1B5caFe","Identity":"0xfb5dAF44cd18Db7b96DB3F9c6E411D65fcf4f372","Avatar":"0x3BC91a65f53dACBd2336C04AC060741f70dCd187","Controller":"0x589F7ae100a7dbd80DC512208b7a0F457A041BE6","AbsoluteVote":"0x11e7716de4B5bC9A1dBc93184b27aC2134CA6E42","SchemeRegistrar":"0x4F151834efb18108080716d1467b397FAA87cF66","FundManager":"0x483a044D792b2Ca0373956444c7e7db36b7DBc56","DAIStaking":"0xE6876231d1a5905Abed03E4C613E427b0357ec0b","Reserve":"0x5810950BF9184F286f1C33b2cf80533D2CB274AF","MarketMaker":"0xAE64E29c78056fB221099A1Ece5fB7D91cA27918","Contribution":"0x7cC2CcDA5483e721778C4040B1DbD23B3Ab1B4A5","DAI":"0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd","cDAI":"0x6ce27497a64fffb5517aa4aee908b1e7eb63b9ff","UpgradeScheme":"0xbd879865b649B7605c27cAa6A54e0f6B9Efb74b2","ForeignBridge":"0xEDA39475415f1A2944a467Aa6359CB4C1c3ed50f","COMP":"0xf76d4a441e4ba86a923ce32b89aff89dbccaa075","network":"staging-mainnet","networkId":3},"dapptest":{"Reserve":"0x4AE7ae2ddeb53bE55aC1dF732DB6bd82fE375DBe","FundManager":"0xc8074ACFfa93DC3783e14147734E088babA5bb02","GoodDollar":"0xE96FE3879991d1BBDA70EdC2Dca97d6891884891","Identity":"0x6d824682aA66da4e6738c6f3e16cC15fe9ce6F79","Avatar":"0x671857BCE3F4a5D22C85ee1bed0B683A893AF3C9","Controller":"0x781376b0094C9cA54210fF1A12F437B27239228A","AbsoluteVote":"0x2A7EC1a948C356c3D5cf0b275B0FAa4Df10701D5","SchemeRegistrar":"0x009eb8A8a1B7C4d48C721E47894346477d2f6647","UpgradeScheme":"0x70F804060040bAb7E443b0F4334d356B7a6D4bAc","DAI":"0xd3aAA70197b22116c6732a964edC09C853AaC941","cDAI":"0xdB52E4853b6A40D2972E6797E0BDBDb3eB761966","COMP":"0x72b46c86aA67f2aBa435414f410bb48300C064Bf","USDC":"0x6cA80f28E672632A8c9f1Ec9b7Fff00E70898f5C","Contribution":"0x4417E9B86Be5d09331eF8B5a98Af4589228F476E","DAIStaking":"0xE076341997771AB62fe184d1101BCd78d18053e2","MarketMaker":"0xE8aB4B54E9209522D387343D50e37b7a540056D1","UBIScheme":"0xA4e9C96b5FfA721223a3f360b9d4d25613c37Fc5","FirstClaimPool":"0xe3963EF7CC3044B64842d0AAe7F2Bf1543D341Ec","HomeBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","ForeignBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","BancorFormula":"0xFb3A7D4cdA276f3Ed98E4ACA2D6318BCd9751859","DonationsStaking":"0x5654740BF119bdC3214485e82D73358E56d7B759","UniswapRouter":"0x18a0503B232224B2f8954ADB2391B623Bc6A8960","DAIUsdOracle":"0xF8D306e484890EaDEB108A02357Cb496204f7716","COMPUsdOracle":"0x492f33E4701D9bd42a133c1b5AB1e4ac8333c590","USDCUsdOracle":"0xe7fA8a2D1DD0Bd3F766e04ccFC50061891A4641e","AAVEUsdOracle":"0x867e1Ccb964654A1074627b0C6557b0ccEb869C4","AaveLendingPool":"0xF758A89A9EbA1F6d74d32d9C00edC78E8e27fC6a","GasPriceOracle":"0x165f39D300c3546Fa8453E183910B042858C012f","DAIEthOracle":"0xddac1165475aC243Ea39915b62Cd0092f24aE931","ETHUsdOracle":"0xc538A445f35dD3b8f49853BDAC9D7DbF90eCcbC4","AaveIncentiveController":"0x51f6983a5f0602b10cA772BFB50EaFfA1822Cb98","AdminWallet":"0x8493F51fA07a9bB978a8AD45f7185A26C1185b9E","OneTimePayments":"0x8be34D7830d446747B95Aa3ace0eaA4FF19b2007","network":"dapptest","networkId":4447},"dapptest-mainnet":{"Reserve":"0x4AE7ae2ddeb53bE55aC1dF732DB6bd82fE375DBe","FundManager":"0xc8074ACFfa93DC3783e14147734E088babA5bb02","GoodDollar":"0xE96FE3879991d1BBDA70EdC2Dca97d6891884891","Identity":"0x6d824682aA66da4e6738c6f3e16cC15fe9ce6F79","Avatar":"0x671857BCE3F4a5D22C85ee1bed0B683A893AF3C9","Controller":"0x781376b0094C9cA54210fF1A12F437B27239228A","AbsoluteVote":"0x2A7EC1a948C356c3D5cf0b275B0FAa4Df10701D5","SchemeRegistrar":"0x009eb8A8a1B7C4d48C721E47894346477d2f6647","UpgradeScheme":"0x70F804060040bAb7E443b0F4334d356B7a6D4bAc","DAI":"0xd3aAA70197b22116c6732a964edC09C853AaC941","cDAI":"0xdB52E4853b6A40D2972E6797E0BDBDb3eB761966","COMP":"0x72b46c86aA67f2aBa435414f410bb48300C064Bf","USDC":"0x6cA80f28E672632A8c9f1Ec9b7Fff00E70898f5C","Contribution":"0x4417E9B86Be5d09331eF8B5a98Af4589228F476E","DAIStaking":"0xE076341997771AB62fe184d1101BCd78d18053e2","MarketMaker":"0xE8aB4B54E9209522D387343D50e37b7a540056D1","UBIScheme":"0xA4e9C96b5FfA721223a3f360b9d4d25613c37Fc5","FirstClaimPool":"0xe3963EF7CC3044B64842d0AAe7F2Bf1543D341Ec","HomeBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","ForeignBridge":"0xe14EbF1e8e8c39C1cf075fe1582f54392C97d8FE","BancorFormula":"0xFb3A7D4cdA276f3Ed98E4ACA2D6318BCd9751859","DonationsStaking":"0x5654740BF119bdC3214485e82D73358E56d7B759","UniswapRouter":"0x18a0503B232224B2f8954ADB2391B623Bc6A8960","DAIUsdOracle":"0xF8D306e484890EaDEB108A02357Cb496204f7716","COMPUsdOracle":"0x492f33E4701D9bd42a133c1b5AB1e4ac8333c590","USDCUsdOracle":"0xe7fA8a2D1DD0Bd3F766e04ccFC50061891A4641e","AAVEUsdOracle":"0x867e1Ccb964654A1074627b0C6557b0ccEb869C4","AaveLendingPool":"0xF758A89A9EbA1F6d74d32d9C00edC78E8e27fC6a","GasPriceOracle":"0x165f39D300c3546Fa8453E183910B042858C012f","DAIEthOracle":"0xddac1165475aC243Ea39915b62Cd0092f24aE931","ETHUsdOracle":"0xc538A445f35dD3b8f49853BDAC9D7DbF90eCcbC4","AaveIncentiveController":"0x51f6983a5f0602b10cA772BFB50EaFfA1822Cb98","AdminWallet":"0x8493F51fA07a9bB978a8AD45f7185A26C1185b9E","OneTimePayments":"0x8be34D7830d446747B95Aa3ace0eaA4FF19b2007","network":"dapptest","networkId":4447},"test-mainnet":{"Reserve":"0x5be5E3995a774B4067785e53200Ec03645C834c6","FundManager":"0xd060c65cA125d9209Ea703136526d6fc3805c833","GoodDollar":"0xbc78D20d67410ef765A9AfBf41D2558fe6F0E8F0","Identity":"0xD7F61C5979BBc9d50B30e7459945726670FFdeA3","Avatar":"0x829a6ea1dDEE4D1deD57A636a1d7dE26bc281e75","Controller":"0x6fB72Ab86E5c03436C0249f8200313594c0A12B1","AbsoluteVote":"0x712e1b726F6149C768fff8572CeA0Bdba23a561B","SchemeRegistrar":"0x2De939A6cC6F53E47f62453029EB62C7e7BE3C8c","UpgradeScheme":"0x36c7b0946e701EA6cE8e101B4C959FF15D0DeE15","DAI":"0xBcA21A2e4c0b2Dc1279a282E6e6d8FaC8d88adAd","cDAI":"0x35BDA1D4f4E4D397d5b81a8cdc7fE183b98F537C","COMP":"0x607c2d79E406a5DC2D1E01b6820dd5a72FbA58C7","USDC":"0xDbB1e2122F297146ea815EA3EFc088854fb2cbaC","Contribution":"0xAd578511086c7b454DAf1f8BFbDCE6ca12dE2497","DAIStaking":"0x7D8Ade77A347Ba6ee34eac0f825Fc37B0A66B268","MarketMaker":"0x526BE3f5A71BFb2Be27fBeb85459F511030b04C2","UBIScheme":"0x502Dcaf7b2a3CE981F1a6c86cc4634b16c7a836f","FirstClaimPool":"0xb3DB53B5173d11C0c096576b52B3686294435B71","HomeBridge":"0x25e67aedBA8aCe016Dd4573df46c50E4F8a97497","ForeignBridge":"0x25e67aedBA8aCe016Dd4573df46c50E4F8a97497","BancorFormula":"0xfC3035f60A3d862E0753eA3D2Eec7679227E8B37","DonationsStaking":"0x67C109F60d55e89907C4d0Ac91103f1A8Ee86E7c","UniswapRouter":"0xD11D98Fe2Be0871E45B459Af22f7dd9FC8c6004d","DAIUsdOracle":"0x0B35E65d024985F51117d6C743F2AE822E70ADfE","COMPUsdOracle":"0xc4b11B176D4194A0175709cac9fEf9DFD40C005A","USDCUsdOracle":"0x86405c109847AdAc4Ad9fe1aE626308D30c7d2dd","AAVEUsdOracle":"0x67da6CA8F829a7A51701Eb3dB2296d349fBC3832","AaveLendingPool":"0x34084eAEbe9Cbc209A85FFe22fa387223CDFB3e8","GasPriceOracle":"0x53F269B876d16F36A3aB0eEC283702e592E51319","DAIEthOracle":"0x0205EE0152C0B67409F808F32D69bf65D4B8304E","ETHUsdOracle":"0xdef31014c9886bd715f4055a140151a7296C0e18","AaveIncentiveController":"0x6e7f85beF7392d9A79C657AE0EdD8CB378379103","AdminWallet":"0xcebe3F283f05A5815C4Af0EEC721692F86e21fD8","OneTimePayments":"0x72325cd72936Cf944BDf0CA6B624C8b1944A80Ab","network":"test-mainnet","networkId":4447},"test":{"Reserve":"0x11e73abC581190B9fe31B804a5877aB5C2754C64","FundManager":"0x60B6Fdb142AFfc43520027efC852C8418a2c436a","GoodDollar":"0xA3E78441e5FeE240167E03Fb9B4569a719340643","Identity":"0xc2837a9Afac387ABe93d49FAE81394892127Cbe5","Avatar":"0xd2B730Fa8FdEeE859ea628A58f186A220531298c","Controller":"0x359980847677b0E7d37cc715d46F62ca8948Dcc1","AbsoluteVote":"0xFE0Ef5a9B7cA4FB1a327f48771cA9b4725063A64","SchemeRegistrar":"0x7B9985adBc2629d3e80C18397837A967399E8EAd","UpgradeScheme":"0x85bdC135Bc56C3707551E9FEa8c5d7e31C82d16a","DAI":"0x050F5F4De07C1298162a675AdA47A5B65bCB32F4","cDAI":"0x776128Ede015F1e4B3FCB9e9365691F412580795","COMP":"0xac81E70942DF7b08238Cb09572b74F400AdE24C1","USDC":"0x112774740cD0D7a3cA68e8F6a7b3d15650821600","Contribution":"0xf16bA2643D03f9f3d6b1e8B66327eC5Fc9b69862","DAIStaking":"0x0c8A72d89AA40B71Ee5F430E89E1681f944DAAc0","MarketMaker":"0x52b6622fa8057b2180E0E87B0da9E3a30093751d","UBIScheme":"0xb8B814Fd019C00888eb34721f87aa82E3f2E1F28","FirstClaimPool":"0x12d73e63281fD1387290D75a66861B5368B4a616","HomeBridge":"0x45534f3e643F6497b562A867EC2D9ABEf94147Fb","ForeignBridge":"0x45534f3e643F6497b562A867EC2D9ABEf94147Fb","BancorFormula":"0x0c41c5af596173c8179c8F4663A8796224ECc31d","DonationsStaking":"0xC2100780F828810bAaeCD3039111006E12B26CF8","UniswapRouter":"0x6863952619b2a5f6556F32Cb05De23CC5d080255","DAIUsdOracle":"0x0C2CbA6148A53F0Aa596a371314cc206B681d0E2","COMPUsdOracle":"0x6Ad76BD51eaa41a125945218aBD920a91Afc633E","USDCUsdOracle":"0xF771D9111454D58D728d731752770B6Bf5Ad35Bf","AAVEUsdOracle":"0x0F9fFED1201De979dBe3A1562463B99bd5e7aB36","AaveLendingPool":"0x2EFBA7923E9A32A4C239BD2f7Da0c5b0e22a909E","GasPriceOracle":"0xe7D757FdeB78A806A72A652ac411738DEbC1670E","DAIEthOracle":"0x1CD1a7E4158Eb444bC55AaE2b89bE7E03a4E6Ae5","ETHUsdOracle":"0xf189e9EBCE19Ca3FC94427e64d4fa64D4118a180","AaveIncentiveController":"0x4Af81C96d19315212358f9E4a774bBcC0390B5f0","AdminWallet":"0x993630d22d60ef03b10DC0d82BEA5Aa71Eb66ea2","OneTimePayments":"0x2476aBF8B523625f548cFAA446324fe61eeD69FC","network":"test","networkId":4447}}
package/scripts/fv.ts CHANGED
@@ -261,5 +261,3 @@ const deleteIdentifier = async (id, walletAddress) => {
261
261
  // deleteIdentifiers(process.env.ADMIN_PASSWORD);
262
262
  // main();
263
263
  // saveImages(["", "", ""]);
264
- // saveImage("0x62c60cefbc22d0109d63ab3b517d0631a58aedc5", 0);
265
- deleteIdentifier("0x62c60cefbc22d0109d63ab3b517d0631a58aedc5", "0x2254690603d951f46b480df000f254e9a7b77246");
@@ -1,26 +1,26 @@
1
1
  #run with source .env && ./scripts/multichain-deploy/fulldeploy.sh
2
2
  NETWORK=$1
3
3
  npx hardhat run ./scripts/multichain-deploy/0_proxyFactory-deploy.ts --network $NETWORK
4
- # if [ $? != 0 ]; then
5
- # exit 1;
6
- # fi
4
+ if [ $? != 0 ]; then
5
+ exit 1;
6
+ fi
7
7
  npx hardhat run ./scripts/multichain-deploy/1_basicdao-deploy.ts --network $NETWORK
8
- # if [ $? != 0 ]; then
9
- # exit 1;
10
- # fi
8
+ if [ $? != 0 ]; then
9
+ exit 1;
10
+ fi
11
11
  npx hardhat run ./scripts/multichain-deploy/2_helpers-deploy.ts --network $NETWORK
12
- # # if [ $? != 0 ]; then
13
- # # exit 1;
14
- # # fi
15
- # npx hardhat run ./scripts/multichain-deploy/3_gdSavings-deploy.ts --network $NETWORK
16
- # if [ $? != 0 ]; then
17
- # exit 1;
18
- # fi
12
+ if [ $? != 0 ]; then
13
+ exit 1;
14
+ fi
15
+ npx hardhat run ./scripts/multichain-deploy/3_gdSavings-deploy.ts --network $NETWORK
16
+ if [ $? != 0 ]; then
17
+ exit 1;
18
+ fi
19
19
  npx hardhat run ./scripts/multichain-deploy/4_ubi-deploy.ts --network $NETWORK
20
20
  if [ $? != 0 ]; then
21
21
  exit 1;
22
22
  fi
23
- # npx hardhat run ./scripts/multichain-deploy/5_gov-deploy.ts --network $NETWORK
24
- # if [ $? != 0 ]; then
25
- # exit 1;
26
- # fi
23
+ npx hardhat run ./scripts/multichain-deploy/5_gov-deploy.ts --network $NETWORK
24
+ if [ $? != 0 ]; then
25
+ exit 1;
26
+ fi
@@ -0,0 +1,443 @@
1
+ // Part 1 UBI+Bridge
2
+ // deploy dao to xdc - Done
3
+ // deploy bridge to xdc - Done
4
+ // give minting rights to xdc bridge - done
5
+ // upgrade to improved identity + ubischeme on celo + fuse
6
+ // upgrade bridge on celo/ethereum/fuse - make sure they include xdc
7
+ // burn celo bridge locked supply (now each chain has its own supply and all bridges are mint/burn)
8
+ // add celo bridge as minter
9
+
10
+ // Part 2 Reserve
11
+ // create uniswap pools on xdc
12
+ // calculate how much G$s each reserve is backing
13
+ // deploy mento reserve to xdc with calculated parameters
14
+ // give mento broker minting rights on xdc
15
+ // deploy distribution helper
16
+ // transfer usdc to xdc reserve
17
+ // update celo reserve parameters accordingly
18
+
19
+ import { network, ethers, upgrades } from "hardhat";
20
+ import { reset } from "@nomicfoundation/hardhat-network-helpers";
21
+ import { defaultsDeep, last } from "lodash";
22
+ import prompt from "prompt";
23
+
24
+ import { executeViaGuardian, executeViaSafe, verifyProductionSigner } from "../multichain-deploy/helpers";
25
+
26
+ import ProtocolSettings from "../../releases/deploy-settings.json";
27
+
28
+ import dao from "../../releases/deployment.json";
29
+ import {
30
+ CeloDistributionHelper,
31
+ Controller,
32
+ FuseOldBridgeKill,
33
+ GoodMarketMaker,
34
+ IBancorExchangeProvider,
35
+ IBroker,
36
+ IdentityV3,
37
+ IGoodDollar,
38
+ IGoodDollarExchangeProvider,
39
+ IGoodDollarExpansionController,
40
+ IMentoReserve,
41
+ IMessagePassingBridge,
42
+ ProtocolUpgradeV4Mento,
43
+ UBISchemeV2
44
+ } from "../../types";
45
+ import releaser from "../releaser";
46
+ let { name: networkName } = network;
47
+ const isSimulation = network.name === "hardhat" || network.name === "fork" || network.name === "localhost";
48
+ const bridgeUpgradeImpl = {
49
+ "production-celo": "0x7bDaF2Fb332761b2a6A565a43ccB0ACfC36d2C3D",
50
+ production: "0x6f252280eB53df085eAD27BBe55d615741A8268D",
51
+ "production-mainnet": "0x7baFe060A37E31E707b8B28a90a36731ee99aFBa"
52
+ };
53
+ export const upgradeCeloStep1 = async (network, checksOnly) => {
54
+ let [root] = await ethers.getSigners();
55
+
56
+ const isProduction = networkName.includes("production");
57
+
58
+ if (isProduction) verifyProductionSigner(root);
59
+
60
+ let networkEnv = networkName;
61
+ let guardian = root;
62
+ if (isSimulation) {
63
+ networkEnv = network;
64
+ }
65
+
66
+ let release: { [key: string]: any } = dao[networkEnv];
67
+
68
+ console.log("signer:", root.address, { networkEnv, isSimulation, isProduction, release });
69
+
70
+ if (isSimulation) {
71
+ networkEnv = network;
72
+ guardian = await ethers.getImpersonatedSigner(release.GuardiansSafe);
73
+
74
+ await root.sendTransaction({
75
+ value: ethers.utils.parseEther("1"),
76
+ to: release.GuardiansSafe
77
+ });
78
+ }
79
+
80
+ const ubiImpl = await ethers.deployContract("UBISchemeV2");
81
+ const identityImpl = await ethers.deployContract("IdentityV3");
82
+ const bridgeImpl = bridgeUpgradeImpl[networkEnv];
83
+ const upgradeCall = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("upgrade()")).substring(0, 10);
84
+
85
+ // Extract the first four bytes as the function selector
86
+ console.log("deployed new impls", { ubiImpl: ubiImpl.address, identityImpl: identityImpl.address });
87
+
88
+ const gd = (await ethers.getContractAt("IGoodDollar", release.GoodDollar)) as IGoodDollar;
89
+ const avatarBalance = await gd.balanceOf(release.Avatar);
90
+ const bridgeBalance = await gd.balanceOf(release.MpbBridge);
91
+ const toBurn = avatarBalance.add(bridgeBalance);
92
+
93
+ console.log("calculated burn amount:", {
94
+ toBurn: toBurn.toString(),
95
+ avatarBalance: avatarBalance.toString(),
96
+ bridgeBalance: bridgeBalance.toString()
97
+ });
98
+ const proposalActions = [
99
+ [release.UBIScheme, "upgradeTo(address)", ethers.utils.defaultAbiCoder.encode(["address"], [ubiImpl.address]), "0"], //upgrade ubi
100
+ [
101
+ release.Identity,
102
+ "upgradeTo(address)",
103
+ ethers.utils.defaultAbiCoder.encode(["address"], [identityImpl.address]),
104
+ "0"
105
+ ], //upgrade identity
106
+ [
107
+ release.MpbBridge,
108
+ "upgradeToAndCall(address,bytes)",
109
+ ethers.utils.defaultAbiCoder.encode(["address", "bytes"], [bridgeImpl, upgradeCall]),
110
+ "0"
111
+ ], //upgrade bridge
112
+ [
113
+ release.MpbBridge,
114
+ "withdraw(address,uint256)",
115
+ ethers.utils.defaultAbiCoder.encode(["address", "uint256"], [release.GoodDollar, 0]),
116
+ "0"
117
+ ], //withdraw locked gd
118
+ [release.GoodDollar, "burn(uint256)", ethers.utils.defaultAbiCoder.encode(["uint256"], [toBurn.toString()]), "0"], //burn locked supply on celo bridge
119
+ [
120
+ release.Controller,
121
+ "registerScheme(address,bytes32,bytes4,address)",
122
+ ethers.utils.defaultAbiCoder.encode(
123
+ ["address", "bytes32", "bytes4", "address"],
124
+ [release.MpbBridge, ethers.constants.HashZero, "0x00000001", release.Avatar]
125
+ ),
126
+ "0"
127
+ ]
128
+ ];
129
+
130
+ console.log({
131
+ networkEnv,
132
+ guardian: guardian.address,
133
+ isSimulation,
134
+ isProduction,
135
+ release
136
+ });
137
+
138
+ const proposalContracts = proposalActions.map(a => a[0]);
139
+ const proposalFunctionSignatures = proposalActions.map(a => a[1]);
140
+ const proposalFunctionInputs = proposalActions.map(a => a[2]);
141
+ const proposalEthValues = proposalActions.map(a => a[3]);
142
+ if (isProduction && !checksOnly) {
143
+ await executeViaSafe(
144
+ proposalContracts,
145
+ proposalEthValues,
146
+ proposalFunctionSignatures,
147
+ proposalFunctionInputs,
148
+ release.GuardiansSafe,
149
+ "celo"
150
+ );
151
+ } else if (!checksOnly) {
152
+ await executeViaGuardian(
153
+ proposalContracts,
154
+ proposalEthValues,
155
+ proposalFunctionSignatures,
156
+ proposalFunctionInputs,
157
+ guardian,
158
+ networkEnv
159
+ );
160
+ }
161
+
162
+ if (isSimulation || !isProduction) {
163
+ const supplyAfter = await (await ethers.getContractAt("IGoodDollar", release.GoodDollar)).totalSupply();
164
+ const bridgeBalanceAfter = await (
165
+ await ethers.getContractAt("IGoodDollar", release.GoodDollar)
166
+ ).balanceOf(release.MpbBridge);
167
+ console.log("Bridge balance after upgrade:", { bridgeBalanceAfter });
168
+ console.log("Supply after upgrade:", { supplyAfter });
169
+
170
+ const ctrl = (await ethers.getContractAt("Controller", release.Controller)) as Controller;
171
+ const isMinterScheme = await ctrl.getSchemePermissions(release.MpbBridge, release.Avatar);
172
+ console.log("Bridge minter permissions on avatar:", isMinterScheme);
173
+ // check xdc chainid in bridge
174
+ const mpb = (await ethers.getContractAt("IMessagePassingBridge", release.MpbBridge)) as IMessagePassingBridge;
175
+ console.log("xdc lz chainid:", await mpb.toLzChainId(50));
176
+ const ubi = (await ethers.getContractAt("UBISchemeV2", release.UBIScheme)) as UBISchemeV2;
177
+ const claimer = await ethers.getImpersonatedSigner("0xA48840D89a761502A4a7d995c74f3864D651A87F");
178
+ const identity = (await ethers.getContractAt("IdentityV3", release.Identity)) as IdentityV3;
179
+ const tx = await (await identity.connect(claimer).connectAccount(guardian.address)).wait();
180
+ console.log("Identity connect account tx:", tx);
181
+ const claimTx = await (await ubi.connect(guardian).claim()).wait();
182
+ console.log("UBI claim from connected account tx:", claimTx.events);
183
+ }
184
+ };
185
+
186
+ export const upgradeFuseStep1 = async (network, checksOnly) => {
187
+ let [root] = await ethers.getSigners();
188
+
189
+ const isProduction = networkName.includes("production");
190
+
191
+ if (isProduction) verifyProductionSigner(root);
192
+
193
+ let networkEnv = networkName;
194
+ let guardian = root;
195
+ if (isSimulation) {
196
+ networkEnv = network;
197
+ }
198
+
199
+ let release: { [key: string]: any } = dao[networkEnv];
200
+
201
+ console.log("signer:", root.address, { networkEnv, isSimulation, isProduction, release });
202
+
203
+ if (isSimulation) {
204
+ networkEnv = network;
205
+ guardian = await ethers.getImpersonatedSigner(release.GuardiansSafe);
206
+
207
+ await root.sendTransaction({
208
+ value: ethers.utils.parseEther("1"),
209
+ to: release.GuardiansSafe
210
+ });
211
+ }
212
+
213
+ const ubiImpl = await ethers.deployContract("UBISchemeV2");
214
+ const identityImpl = await ethers.deployContract("IdentityV3");
215
+ const bridgeImpl = bridgeUpgradeImpl[networkEnv];
216
+ const upgradeCall = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("upgrade()")).substring(0, 10);
217
+
218
+ // Extract the first four bytes as the function selector
219
+ console.log("deployed new impls", { ubiImpl: ubiImpl.address, identityImpl: identityImpl.address });
220
+
221
+ const proposalActions = [
222
+ [release.UBIScheme, "upgradeTo(address)", ethers.utils.defaultAbiCoder.encode(["address"], [ubiImpl.address]), "0"], //upgrade ubi
223
+ [
224
+ release.Identity,
225
+ "upgradeTo(address)",
226
+ ethers.utils.defaultAbiCoder.encode(["address"], [identityImpl.address]),
227
+ "0"
228
+ ], //upgrade identity
229
+ [
230
+ release.MpbBridge,
231
+ "upgradeToAndCall(address,bytes)",
232
+ ethers.utils.defaultAbiCoder.encode(["address", "bytes"], [bridgeImpl, upgradeCall]),
233
+ "0"
234
+ ] //upgrade bridge
235
+ ];
236
+
237
+ console.log({
238
+ networkEnv,
239
+ guardian: guardian.address,
240
+ isSimulation,
241
+ isProduction,
242
+ release
243
+ });
244
+
245
+ const proposalContracts = proposalActions.map(a => a[0]);
246
+ const proposalFunctionSignatures = proposalActions.map(a => a[1]);
247
+ const proposalFunctionInputs = proposalActions.map(a => a[2]);
248
+ const proposalEthValues = proposalActions.map(a => a[3]);
249
+ if (isProduction && !checksOnly) {
250
+ await executeViaSafe(
251
+ proposalContracts,
252
+ proposalEthValues,
253
+ proposalFunctionSignatures,
254
+ proposalFunctionInputs,
255
+ release.GuardiansSafe,
256
+ "celo"
257
+ );
258
+ } else if (!checksOnly) {
259
+ await executeViaGuardian(
260
+ proposalContracts,
261
+ proposalEthValues,
262
+ proposalFunctionSignatures,
263
+ proposalFunctionInputs,
264
+ guardian,
265
+ networkEnv
266
+ );
267
+ }
268
+
269
+ if (isSimulation || !isProduction) {
270
+ const ctrl = (await ethers.getContractAt("Controller", release.Controller)) as Controller;
271
+ const isMinterScheme = await ctrl.getSchemePermissions(release.MpbBridge, release.Avatar);
272
+ console.log("Bridge minter permissions on avatar:", isMinterScheme);
273
+ // check xdc chainid in bridge
274
+ const mpb = (await ethers.getContractAt("IMessagePassingBridge", release.MpbBridge)) as IMessagePassingBridge;
275
+ console.log("xdc lz chainid:", await mpb.toLzChainId(50));
276
+ const ubi = (await ethers.getContractAt("UBISchemeV2", release.UBIScheme)) as UBISchemeV2;
277
+ const claimer = await ethers.getImpersonatedSigner("0xA48840D89a761502A4a7d995c74f3864D651A87F");
278
+ const identity = (await ethers.getContractAt("IdentityV3", release.Identity)) as IdentityV3;
279
+ const tx = await (await identity.connect(claimer).connectAccount(guardian.address)).wait();
280
+ console.log("Identity connect account tx:", tx);
281
+ const claimTx = await (await ubi.connect(guardian).claim()).wait();
282
+ console.log("UBI claim from connected account tx:", claimTx.events);
283
+ }
284
+ };
285
+
286
+ export const upgradeEthStep1 = async (network, checksOnly) => {
287
+ let [root] = await ethers.getSigners();
288
+
289
+ const isProduction = networkName.includes("production");
290
+
291
+ if (isProduction) verifyProductionSigner(root);
292
+
293
+ let networkEnv = networkName;
294
+ let guardian = root;
295
+ if (isSimulation) {
296
+ networkEnv = network;
297
+ }
298
+
299
+ let release: { [key: string]: any } = dao[networkEnv];
300
+
301
+ console.log("signer:", root.address, { networkEnv, isSimulation, isProduction, release });
302
+
303
+ if (isSimulation) {
304
+ networkEnv = network;
305
+ guardian = await ethers.getImpersonatedSigner(release.GuardiansSafe);
306
+
307
+ await root.sendTransaction({
308
+ value: ethers.utils.parseEther("1"),
309
+ to: release.GuardiansSafe
310
+ });
311
+ }
312
+
313
+ const bridgeImpl = bridgeUpgradeImpl[networkEnv];
314
+ const upgradeCall = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("upgrade()")).substring(0, 10);
315
+
316
+ const proposalActions = [
317
+ [
318
+ release.MpbBridge,
319
+ "upgradeToAndCall(address,bytes)",
320
+ ethers.utils.defaultAbiCoder.encode(["address", "bytes"], [bridgeImpl, upgradeCall]),
321
+ "0"
322
+ ] //upgrade bridge
323
+ ];
324
+
325
+ console.log({
326
+ networkEnv,
327
+ guardian: guardian.address,
328
+ isSimulation,
329
+ isProduction,
330
+ release
331
+ });
332
+
333
+ const proposalContracts = proposalActions.map(a => a[0]);
334
+ const proposalFunctionSignatures = proposalActions.map(a => a[1]);
335
+ const proposalFunctionInputs = proposalActions.map(a => a[2]);
336
+ const proposalEthValues = proposalActions.map(a => a[3]);
337
+ if (isProduction && !checksOnly) {
338
+ await executeViaSafe(
339
+ proposalContracts,
340
+ proposalEthValues,
341
+ proposalFunctionSignatures,
342
+ proposalFunctionInputs,
343
+ release.GuardiansSafe,
344
+ "celo"
345
+ );
346
+ } else if (!checksOnly) {
347
+ await executeViaGuardian(
348
+ proposalContracts,
349
+ proposalEthValues,
350
+ proposalFunctionSignatures,
351
+ proposalFunctionInputs,
352
+ guardian,
353
+ networkEnv
354
+ );
355
+ }
356
+
357
+ if (isSimulation || !isProduction) {
358
+ const ctrl = (await ethers.getContractAt("Controller", release.Controller)) as Controller;
359
+ const isMinterScheme = await ctrl.getSchemePermissions(release.MpbBridge, release.Avatar);
360
+ console.log("Bridge minter permissions on avatar:", isMinterScheme);
361
+ // check xdc chainid in bridge
362
+ const mpb = (await ethers.getContractAt("IMessagePassingBridge", release.MpbBridge)) as IMessagePassingBridge;
363
+ console.log("xdc lz chainid:", await mpb.toLzChainId(50));
364
+ }
365
+ };
366
+
367
+ const calculateReserveParams = async () => {
368
+ const celoProvider = new ethers.providers.JsonRpcProvider("https://forno.celo.org");
369
+ const gd = await ethers.getContractAt("GoodDollar", dao["production-celo"].GoodDollar);
370
+ const celoCusd = (await ethers.getContractAt("IERC20", dao["production-celo"].CUSD)).connect(celoProvider);
371
+ const gdCelo = gd.connect(celoProvider);
372
+ const totalSupplyCelo = await gdCelo.totalSupply();
373
+ const reserveBalance = await celoCusd.balanceOf(dao["production-celo"].MentoReserve);
374
+ const xdcReserveBalance = ethers.utils.parseUnits("200000", 18); //200k in xdc
375
+ const totalUSD = reserveBalance.add(xdcReserveBalance); //reserve + 200k in xdc
376
+ const xdcSupplyShare = xdcReserveBalance.mul(1e8).div(totalUSD);
377
+ const xdcGdSupplyEquivalent = totalSupplyCelo.mul(xdcSupplyShare).div(1e8);
378
+ const price = ethers.utils.parseUnits("0.00013", 8);
379
+ const celoGdSupplyEquivalent = totalSupplyCelo.sub(xdcGdSupplyEquivalent);
380
+
381
+ console.log({
382
+ totalSupplyCelo,
383
+ reserveBalance,
384
+ totalUSD,
385
+ xdcSupplyShare,
386
+ xdcGdSupplyEquivalent,
387
+ celoGdSupplyEquivalent
388
+ });
389
+
390
+ // uint32 reserveRatio = uint32(
391
+ // (cUSDBalance * 1e18 * 1e8) / (price * totalGlobalSupply)
392
+ // );
393
+ //calculate reserve ratio
394
+ const reserveRatioXdc = xdcReserveBalance
395
+ .mul(ethers.BigNumber.from("100000000")) //1e8
396
+ .mul(ethers.BigNumber.from("1000000000000000000")) //1e18
397
+ .div(xdcGdSupplyEquivalent.mul(price));
398
+ console.log(
399
+ "recommended reserve ratio for xdc:",
400
+ reserveRatioXdc.toString(),
401
+ reserveRatioXdc.div("10000000000").toNumber() / 1e8
402
+ );
403
+
404
+ //calcualte reserve ratio for celo
405
+ const reserveRatioCelo = reserveBalance
406
+ .mul(ethers.BigNumber.from("100000000")) //1e8
407
+ .mul(ethers.BigNumber.from("1000000000000000000")) //1e18
408
+ .div(celoGdSupplyEquivalent.mul(price));
409
+
410
+ console.log(
411
+ "recommended reserve ratio for celo:",
412
+ reserveRatioCelo.toString(),
413
+ reserveRatioCelo.div("10000000000").toNumber() / 1e8
414
+ );
415
+ };
416
+
417
+ export const main = async () => {
418
+ // await calculateReserveParams();
419
+ // return;
420
+ prompt.start();
421
+ const { network } = await prompt.get(["network"]);
422
+
423
+ console.log("running step:", { network });
424
+ const chain = last(network.split("-")) || "fuse";
425
+ console.log("detected chain:", chain, network);
426
+ switch (chain) {
427
+ case "mainnet":
428
+ await upgradeEthStep1(network, false);
429
+
430
+ break;
431
+ case "production":
432
+ case "fuse":
433
+ await upgradeFuseStep1(network, false);
434
+
435
+ break;
436
+ case "celo":
437
+ await upgradeCeloStep1(network, false);
438
+
439
+ break;
440
+ }
441
+ };
442
+
443
+ main().catch(console.log);
@@ -0,0 +1,46 @@
1
+ import hre, { network, ethers } from "hardhat";
2
+ import { Contract } from "ethers";
3
+
4
+ import { deployDeterministic, printDeploy, verifyProductionSigner } from "../multichain-deploy/helpers";
5
+
6
+ import dao from "../../releases/deployment.json";
7
+ import { verifyContract } from "../multichain-deploy/helpers";
8
+ import { Faucet, ProxyAdmin } from "../../types";
9
+
10
+ let { name: networkName } = network;
11
+
12
+ export const upgrade = async () => {
13
+ const isProduction = networkName.includes("production");
14
+ let [root, ...signers] = await ethers.getSigners();
15
+
16
+ if (isProduction) verifyProductionSigner(root);
17
+
18
+ let guardian = root;
19
+ const isNotFuse = networkName.includes("-");
20
+ let release: { [key: string]: any } = dao[networkName];
21
+
22
+ const artifact = await hre.artifacts.readArtifact(isNotFuse ? "Faucet" : "FuseFaucetV2");
23
+ const result = await hre.deployments.deterministic("Faucet", {
24
+ skipIfAlreadyDeployed: true,
25
+ contract: artifact,
26
+ from: root.address
27
+ });
28
+ const deployed = await result.deploy();
29
+
30
+ console.log("new impl:", deployed.address);
31
+ await verifyContract(
32
+ deployed.address,
33
+ isNotFuse ? "contracts/fuseFaucet/Faucet.sol:Faucet" : "contracts/fuseFaucet/FuseFaucetV2.sol:FuseFaucetV2",
34
+ networkName
35
+ );
36
+
37
+ if (isNotFuse) {
38
+ const old = await ethers.getContractAt("Faucet", release.Faucet);
39
+ await old.upgradeTo(deployed.address).then(printDeploy);
40
+ } else {
41
+ const proxyadmin = (await ethers.getContractAt("ProxyAdmin", release.ProxyAdmin)) as ProxyAdmin;
42
+ proxyadmin.upgrade(release.FuseFaucet, deployed.address).then(printDeploy);
43
+ }
44
+ };
45
+
46
+ upgrade().catch(console.log);