@gooddollar/goodprotocol 2.0.32 → 2.0.34-beta.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.
- package/artifacts/abis/BuyFromReserveHelper.min.json +1 -0
- package/artifacts/abis/Faucet.min.json +1 -1
- package/artifacts/abis/GoodDollar2.min.json +1 -0
- package/artifacts/abis/ISuperToken.min.json +1 -1
- package/artifacts/abis/IdentityV3.min.json +1 -0
- package/artifacts/abis/SuperGoodDollar.min.json +1 -1
- package/artifacts/abis/SuperToken.min.json +1 -1
- package/artifacts/abis/SuperfluidFaucet.min.json +1 -1
- package/artifacts/abis/UBISchemeV2.min.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
- package/artifacts/contracts/IQuoter.sol/IQuoterV2.dbg.json +4 -0
- package/artifacts/contracts/IQuoter.sol/IQuoterV2.json +211 -0
- package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +57 -2
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
- package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json +2 -2
- package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.json +46 -28
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +2 -2
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
- package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +2 -2
- package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +4 -0
- package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.json +1089 -0
- package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.json +2 -2
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +2 -2
- package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
- package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.json +2 -2
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +2 -2
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.json +2 -2
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.json +2 -2
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +2 -2
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +2 -2
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +2 -2
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +2 -2
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +2 -2
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.json +2 -2
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +2 -2
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +2 -2
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
- package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.json +2 -2
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -2
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +2 -2
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
- package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.json +2 -2
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +2 -2
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +2 -2
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +2 -2
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +2 -2
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +2 -2
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +2 -2
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +2 -2
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +2 -2
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +2 -2
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +2 -2
- package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.json +2 -2
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +2 -2
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
- package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +2 -2
- package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
- package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
- package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.json +2 -2
- package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
- package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
- package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.json +2 -2
- package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +4 -0
- package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.json +1206 -0
- package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
- package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
- package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.json +2 -2
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.json +0 -52
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +2 -74
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.json +2 -54
- package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +2 -2
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.json +2 -2
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +2 -7
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +2 -2
- package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.json +2 -2
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
- package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.json +2 -2
- package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +2 -2
- package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +4 -0
- package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.json +476 -0
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.json +2 -2
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.json +2 -2
- package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.json +2 -2
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +2 -2
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.json +2 -2
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.json +2 -2
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.json +2 -2
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.json +2 -2
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.json +2 -2
- package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
- package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.json +2 -2
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +2 -2
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
- package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
- package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.json +2 -2
- package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
- package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.json +2 -2
- package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
- package/artifacts/contracts/utils/MultiCall.sol/Multicall.json +2 -2
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/NameService.sol/NameService.json +2 -2
- package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.json +2 -2
- package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.json +2 -2
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
- package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
- package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.json +2 -2
- package/contracts/IQuoter.sol +108 -0
- package/contracts/fuseFaucet/Faucet.sol +49 -37
- package/contracts/fuseFaucet/SuperfluidFacuet.sol +29 -8
- package/contracts/identity/IdentityV3.sol +534 -0
- package/contracts/token/ERC20PresetMinterPauserUpgradeable.sol +8 -9
- package/contracts/token/GoodDollar.sol +1 -1
- package/contracts/token/GoodDollar2.sol +13 -0
- package/contracts/token/superfluid/ISuperToken.sol +0 -19
- package/contracts/token/superfluid/SuperGoodDollar.sol +2 -21
- package/contracts/token/superfluid/SuperToken.sol +2 -2
- package/contracts/token/superfluid/SuperfluidToken.sol +66 -67
- package/contracts/ubi/UBISchemeV2.sol +12 -18
- package/contracts/utils/BuyFromReserveHelper.sol +129 -0
- package/dist/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +2 -2
- package/dist/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +177 -256
- package/dist/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +2 -2
- package/dist/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
- package/dist/test-sdk/deploySuperGoodDollar.d.ts +1 -1
- package/dist/test-sdk/deploySuperGoodDollar.js +4 -8
- package/dist/test-sdk/index.js +1 -5
- package/hardhat.config.ts +37 -30
- package/package.json +3 -2
- package/releases/deploy-settings.json +5 -1
- package/releases/deployment.json +27 -1
- package/releases/olddao.json +1 -1
- package/scripts/analytics/activeGDStakers.ts +188 -0
- package/scripts/fv.ts +19 -1
- package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +28 -5
- package/scripts/multichain-deploy/1_basicdao-deploy.ts +111 -73
- package/scripts/multichain-deploy/2_helpers-deploy.ts +13 -8
- package/scripts/multichain-deploy/4_ubi-deploy.ts +17 -19
- package/scripts/multichain-deploy/5_gov-deploy.ts +58 -26
- package/scripts/multichain-deploy/flattened/Avatar.sol +913 -0
- package/scripts/multichain-deploy/flattened/Controller.sol +1891 -0
- package/scripts/multichain-deploy/flattened/FeeFormula.sol +1290 -0
- package/scripts/multichain-deploy/fulldeploy.sh +17 -17
- package/scripts/multichain-deploy/helpers.ts +203 -70
- package/scripts/multichain-deploy/verify.ts +41 -0
- package/test/governance/ClaimersDistribution.test.ts +1 -1
- package/test/helpers.ts +59 -46
- package/test/identity/IdentityV2.test.ts +4 -1
- package/test/identity/IdentityV3.test.ts +449 -0
- package/test/invite/InvitesV2.test.ts +1 -1
- package/test/token/GoodDollar.test.ts +1 -1
- package/test/token/SuperGoodDollar.nohost.test.ts +383 -0
- package/test/token/SuperGoodDollar.test.ts +2 -10
- package/test/ubi/UBIScheme.e2e.test.ts +5 -5
- package/test/ubi/UBISchemeCycle.test.ts +69 -22
- package/test/ubi/UBISchemeV2.test.ts +636 -0
- package/test/utils/AdminWallet.test.ts +1 -1
- package/test/utils/ProxyFactory.test.ts +4 -1
- package/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +108 -0
- package/types/@openzeppelin/contracts/proxy/ERC1967/index.ts +1 -0
- package/types/contracts/IQuoter.sol/IQuoterV2.ts +297 -0
- package/types/contracts/IQuoter.sol/index.ts +4 -0
- package/types/contracts/Interfaces.sol/AToken.ts +81 -0
- package/types/contracts/Interfaces.sol/IAaveIncentivesControllerV3.ts +156 -0
- package/types/contracts/Interfaces.sol/ILendingPoolV3.ts +254 -0
- package/types/contracts/fuseFaucet/Faucet.ts +109 -11
- package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor.ts +648 -0
- package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable.ts +843 -0
- package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +4 -0
- package/types/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.ts +79 -41
- package/types/contracts/identity/IdentityV3.ts +1899 -0
- package/types/contracts/identity/index.ts +1 -0
- package/types/contracts/index.ts +2 -0
- package/types/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper.ts +1252 -0
- package/types/contracts/reserve/GoodReserveADai.ts +2212 -0
- package/types/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2.ts +1808 -0
- package/types/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +4 -0
- package/types/contracts/token/GoodDollar18.ts +1871 -0
- package/types/contracts/token/GoodDollar2.ts +1871 -0
- package/types/contracts/token/index.ts +1 -0
- package/types/contracts/token/superfluid/ISuperToken.ts +0 -84
- package/types/contracts/token/superfluid/SuperGoodDollar.ts +12 -126
- package/types/contracts/token/superfluid/SuperToken.ts +0 -84
- package/types/contracts/ubi/UBISchemeV2.ts +3 -14
- package/types/contracts/utils/BuyFromReserveHelper.ts +699 -0
- package/types/contracts/utils/BuyGDClone.sol/IQuoterV2.ts +184 -0
- package/types/contracts/utils/BuyGDClone.sol/ISwapRouter.ts +306 -0
- package/types/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677.ts +108 -0
- package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange.ts +81 -0
- package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts +161 -0
- package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +5 -0
- package/types/contracts/utils/ReserveRestore.sol/MentoExchange.ts +81 -0
- package/types/contracts/utils/ReserveRestore.sol/ReserveRestore.ts +112 -0
- package/types/contracts/utils/ReserveRestore.sol/index.ts +5 -0
- package/types/contracts/utils/index.ts +1 -0
- package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +146 -0
- package/types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +1 -0
- package/types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +1 -1
- package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.ts +1 -1
- package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable__factory.ts +1 -1
- package/types/factories/@superfluid-finance/ethereum-contracts/contracts/libs/EventsEmitter__factory.ts +1 -1
- package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantInflowNFT__factory.ts +1 -1
- package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantOutflowNFT__factory.ts +1 -1
- package/types/factories/contracts/IQuoter.sol/IQuoterV2__factory.ts +226 -0
- package/types/factories/contracts/IQuoter.sol/index.ts +4 -0
- package/types/factories/contracts/Interfaces.sol/AToken__factory.ts +36 -0
- package/types/factories/contracts/Interfaces.sol/IAaveIncentivesControllerV3__factory.ts +88 -0
- package/types/factories/contracts/Interfaces.sol/ILendingPoolV3__factory.ts +186 -0
- package/types/factories/contracts/fuseFaucet/Faucet__factory.ts +56 -1
- package/types/factories/contracts/fuseFaucet/FuseFaucetV2__factory.ts +1 -1
- package/types/factories/contracts/fuseFaucet/FuseFaucet__factory.ts +1 -1
- package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable__factory.ts +572 -0
- package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor__factory.ts +482 -0
- package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +4 -0
- package/types/factories/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet__factory.ts +45 -27
- package/types/factories/contracts/governance/ClaimersDistribution__factory.ts +1 -1
- package/types/factories/contracts/governance/CompoundVotingMachine__factory.ts +1 -1
- package/types/factories/contracts/governance/GReputation__factory.ts +1 -1
- package/types/factories/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking__factory.ts +1 -1
- package/types/factories/contracts/governance/GovernanceStaking__factory.ts +1 -1
- package/types/factories/contracts/governance/Reputation__factory.ts +1 -1
- package/types/factories/contracts/governance/StakersDistribution__factory.ts +1 -1
- package/types/factories/contracts/identity/IdentityV2__factory.ts +1 -1
- package/types/factories/contracts/identity/IdentityV3__factory.ts +1140 -0
- package/types/factories/contracts/identity/index.ts +1 -0
- package/types/factories/contracts/index.ts +1 -0
- package/types/factories/contracts/invite/InvitesFuseV2__factory.ts +1 -1
- package/types/factories/contracts/invite/InvitesV1__factory.ts +1 -1
- package/types/factories/contracts/invite/InvitesV2__factory.ts +1 -1
- package/types/factories/contracts/invite/OneTimeReward__factory.ts +1 -1
- package/types/factories/contracts/mocks/AaveMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/AaveUSDMockOracle__factory.ts +1 -1
- package/types/factories/contracts/mocks/BatUSDMockOracle__factory.ts +1 -1
- package/types/factories/contracts/mocks/CBATMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/CDAILowWorthMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/CDAIMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/CDAINonMintableMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/CDecimalsMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/CSDTMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/CUSDCMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +1 -1
- package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest__factory.ts +1 -1
- package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +929 -0
- package/types/factories/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle__factory.ts +1 -1
- package/types/factories/contracts/mocks/DAIMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/DaiEthPriceMockOracle__factory.ts +1 -1
- package/types/factories/contracts/mocks/DecimalsMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/DistributionBridgeMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +1 -1
- package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest__factory.ts +1 -1
- package/types/factories/contracts/mocks/EthUSDMockOracle__factory.ts +1 -1
- package/types/factories/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/GasPriceMockOracle__factory.ts +1 -1
- package/types/factories/contracts/mocks/GoodCompoundStakingTest__factory.ts +1 -1
- package/types/factories/contracts/mocks/GoodDollarStakingMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/GoodFundManagerTest__factory.ts +1 -1
- package/types/factories/contracts/mocks/IdentityMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/IncentiveControllerMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/LendingPoolMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/OverMintTester.sol/OverMintTester__factory.ts +1 -1
- package/types/factories/contracts/mocks/OverMintTesterRegularStake__factory.ts +1 -1
- package/types/factories/contracts/mocks/PayableMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/SixteenDecimalsTokenMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/StakingMockFixedAPY__factory.ts +1 -1
- package/types/factories/contracts/mocks/SwapHelperTest__factory.ts +1 -1
- package/types/factories/contracts/mocks/TwentyDecimalsTokenMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock2__factory.ts +1 -1
- package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock3__factory.ts +1 -1
- package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock4__factory.ts +1 -1
- package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock__factory.ts +1 -1
- package/types/factories/contracts/mocks/UsdcMock.sol/USDCMock__factory.ts +1 -1
- package/types/factories/contracts/reserve/CeloDistributionHelper__factory.ts +1 -1
- package/types/factories/contracts/reserve/DistributionHelper__factory.ts +1 -1
- package/types/factories/contracts/reserve/ExchangeHelper__factory.ts +1 -1
- package/types/factories/contracts/reserve/GoodMarketMaker__factory.ts +1 -1
- package/types/factories/contracts/reserve/GoodReserveADai__factory.ts +1502 -0
- package/types/factories/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai__factory.ts +1 -1
- package/types/factories/contracts/staking/BaseShareFieldV2__factory.ts +1 -1
- package/types/factories/contracts/staking/BaseShareField__factory.ts +1 -1
- package/types/factories/contracts/staking/DonationsStaking__factory.ts +1 -1
- package/types/factories/contracts/staking/FuseStakingV3.sol/FuseStakingV3__factory.ts +1 -1
- package/types/factories/contracts/staking/GoodFundManager__factory.ts +1 -1
- package/types/factories/contracts/staking/UniswapV2SwapHelper__factory.ts +1 -1
- package/types/factories/contracts/staking/aave/AaveStakingFactory__factory.ts +1 -1
- package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2__factory.ts +1240 -0
- package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +4 -0
- package/types/factories/contracts/staking/aave/GoodAaveStakingV2__factory.ts +1 -1
- package/types/factories/contracts/staking/aave/GoodAaveStaking__factory.ts +1 -1
- package/types/factories/contracts/staking/compound/CompoundStakingFactory__factory.ts +1 -1
- package/types/factories/contracts/staking/compound/GoodCompoundStakingV2__factory.ts +1 -1
- package/types/factories/contracts/staking/compound/GoodCompoundStaking__factory.ts +1 -1
- package/types/factories/contracts/token/ERC20PresetMinterPauserUpgradeable__factory.ts +1 -1
- package/types/factories/contracts/token/GoodDollar18__factory.ts +1257 -0
- package/types/factories/contracts/token/GoodDollar2__factory.ts +1257 -0
- package/types/factories/contracts/token/GoodDollar__factory.ts +1 -1
- package/types/factories/contracts/token/MultichainFeeFormula__factory.ts +1 -1
- package/types/factories/contracts/token/index.ts +1 -0
- package/types/factories/contracts/token/superfluid/ISuperToken__factory.ts +0 -52
- package/types/factories/contracts/token/superfluid/SuperGoodDollar__factory.ts +1 -73
- package/types/factories/contracts/token/superfluid/SuperToken__factory.ts +1 -53
- package/types/factories/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy__factory.ts +1 -1
- package/types/factories/contracts/ubi/UBISchemeV2__factory.ts +1 -6
- package/types/factories/contracts/ubi/UBIScheme__factory.ts +1 -1
- package/types/factories/contracts/utils/AdminWalletFuse__factory.ts +1 -1
- package/types/factories/contracts/utils/AdminWallet__factory.ts +1 -1
- package/types/factories/contracts/utils/BancorFormula__factory.ts +1 -1
- package/types/factories/contracts/utils/BulkWhitelist__factory.ts +1 -1
- package/types/factories/contracts/utils/BuyAndBridgeHelper__factory.ts +1 -1
- package/types/factories/contracts/utils/BuyFromReserveHelper__factory.ts +566 -0
- package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory__factory.ts +1 -1
- package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDClone__factory.ts +1 -1
- package/types/factories/contracts/utils/BuyGDClone.sol/DonateGDClone__factory.ts +1 -1
- package/types/factories/contracts/utils/BuyGDClone.sol/IQuoterV2__factory.ts +126 -0
- package/types/factories/contracts/utils/BuyGDClone.sol/ISwapRouter__factory.ts +220 -0
- package/types/factories/contracts/utils/DAOContract__factory.ts +1 -1
- package/types/factories/contracts/utils/DAOUpgradeableContract__factory.ts +1 -1
- package/types/factories/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677__factory.ts +86 -0
- package/types/factories/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill__factory.ts +1 -1
- package/types/factories/contracts/utils/FuseOldBridgeKill.sol/Initializable__factory.ts +1 -1
- package/types/factories/contracts/utils/FuseOldBridgeKill.sol/Ownable__factory.ts +1 -1
- package/types/factories/contracts/utils/GDFaucet__factory.ts +1 -1
- package/types/factories/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper__factory.ts +1 -1
- package/types/factories/contracts/utils/IdentityFix__factory.ts +1 -1
- package/types/factories/contracts/utils/LastauthReduction__factory.ts +1 -1
- package/types/factories/contracts/utils/MultiCall.sol/Multicall__factory.ts +1 -1
- package/types/factories/contracts/utils/MultichainBridgeHelper__factory.ts +1 -1
- package/types/factories/contracts/utils/NameService__factory.ts +1 -1
- package/types/factories/contracts/utils/OneTimePaymentsV2__factory.ts +1 -1
- package/types/factories/contracts/utils/OneTimePayments__factory.ts +1 -1
- package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +1 -1
- package/types/factories/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade__factory.ts +1 -1
- package/types/factories/contracts/utils/ProtocolUpgradeFuseRecover__factory.ts +1 -1
- package/types/factories/contracts/utils/ProtocolUpgradeFuse__factory.ts +1 -1
- package/types/factories/contracts/utils/ProtocolUpgradeRecover__factory.ts +1 -1
- package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange__factory.ts +39 -0
- package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +152 -0
- package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +5 -0
- package/types/factories/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy__factory.ts +1 -1
- package/types/factories/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967__factory.ts +1 -1
- package/types/factories/contracts/utils/ReputationTestHelper__factory.ts +1 -1
- package/types/factories/contracts/utils/ReserveRestore.sol/MentoExchange__factory.ts +39 -0
- package/types/factories/contracts/utils/ReserveRestore.sol/ReserveRestore__factory.ts +95 -0
- package/types/factories/contracts/utils/ReserveRestore.sol/index.ts +5 -0
- package/types/factories/contracts/utils/ReserveRestore__factory.ts +1 -1
- package/types/factories/contracts/utils/index.ts +1 -0
- package/types/hardhat.d.ts +45 -0
- package/types/index.ts +8 -2
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"type": "receive"
|
|
26
26
|
}
|
|
27
27
|
],
|
|
28
|
-
"bytecode": "
|
|
29
|
-
"deployedBytecode": "
|
|
28
|
+
"bytecode": "0x608060405234801561001057600080fd5b50610205806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f61005436600461017f565b61006b565b610069610064610139565b610148565b565b6001600160a01b0381166100c05760405162461bcd60e51b81526020600482015260176024820152765555505350726f78793a207a65726f206164647265737360481b60448201526064015b60405180910390fd5b60006100ca61016c565b6001600160a01b0316146101205760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100b7565b610136816000805160206101b083398151915255565b50565b600061014361016c565b905090565b3660008037600080366000845af43d6000803e808015610167573d6000f35b3d6000fd5b6000805160206101b08339815191525490565b60006020828403121561019157600080fd5b81356001600160a01b03811681146101a857600080fd5b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122054303c95e3083467af14f8e45d0e4948671519cda9ee34d9041f82134179ec4464736f6c63430008100033",
|
|
29
|
+
"deployedBytecode": "0x6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f61005436600461017f565b61006b565b610069610064610139565b610148565b565b6001600160a01b0381166100c05760405162461bcd60e51b81526020600482015260176024820152765555505350726f78793a207a65726f206164647265737360481b60448201526064015b60405180910390fd5b60006100ca61016c565b6001600160a01b0316146101205760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100b7565b610136816000805160206101b083398151915255565b50565b600061014361016c565b905090565b3660008037600080366000845af43d6000803e808015610167573d6000f35b3d6000fd5b6000805160206101b08339815191525490565b60006020828403121561019157600080fd5b81356001600160a01b03811681146101a857600080fd5b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122054303c95e3083467af14f8e45d0e4948671519cda9ee34d9041f82134179ec4464736f6c63430008100033",
|
|
30
30
|
"linkReferences": {},
|
|
31
31
|
"deployedLinkReferences": {}
|
|
32
32
|
}
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
"type": "receive"
|
|
76
76
|
}
|
|
77
77
|
],
|
|
78
|
-
"bytecode": "
|
|
79
|
-
"deployedBytecode": "
|
|
78
|
+
"bytecode": "0x608060405234801561001057600080fd5b506105a6806100206000396000f3fe6080604052600436106100225760003560e01c8063d1f578941461003957610031565b366100315761002f61004c565b005b61002f61004c565b61002f6100473660046103ef565b61005e565b61005c61005761013d565b61014c565b565b6000610068610170565b6001600160a01b0316146100b15760405162461bcd60e51b815260206004820152600b60248201526a1a5b9a5d1a585b1a5e995960aa1b60448201526064015b60405180910390fd5b6100dc60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61047f565b60008051602061052a833981519152146100f8576100f86104a0565b6101388383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061018c915050565b505050565b6000610147610170565b905090565b3660008037600080366000845af43d6000803e80801561016b573d6000f35b3d6000fd5b60008051602061052a833981519152546001600160a01b031690565b610195836101b7565b6000825111806101a25750805b15610138576101b183836101f7565b50505050565b6101c081610225565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061021c838360405180606001604052806027815260200161054a602791396102bf565b90505b92915050565b61022e81610337565b6102905760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016100a8565b60008051602061052a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516102dc91906104da565b600060405180830381855af49150503d8060008114610317576040519150601f19603f3d011682016040523d82523d6000602084013e61031c565b606091505b509150915061032d86838387610346565b9695505050505050565b6001600160a01b03163b151590565b606083156103b35782516000036103ac5761036085610337565b6103ac5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016100a8565b50816103bd565b6103bd83836103c5565b949350505050565b8151156103d55781518083602001fd5b8060405162461bcd60e51b81526004016100a891906104f6565b60008060006040848603121561040457600080fd5b83356001600160a01b038116811461041b57600080fd5b925060208401356001600160401b038082111561043757600080fd5b818601915086601f83011261044b57600080fd5b81358181111561045a57600080fd5b87602082850101111561046c57600080fd5b6020830194508093505050509250925092565b8181038181111561021f57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60005b838110156104d15781810151838201526020016104b9565b50506000910152565b600082516104ec8184602087016104b6565b9190910192915050565b60208152600082518060208401526105158160408501602087016104b6565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e61bf4b283e7c7127b63eb541e464310619a8e941077fd50b9791d417ed8557b64736f6c63430008100033",
|
|
79
|
+
"deployedBytecode": "0x6080604052600436106100225760003560e01c8063d1f578941461003957610031565b366100315761002f61004c565b005b61002f61004c565b61002f6100473660046103ef565b61005e565b61005c61005761013d565b61014c565b565b6000610068610170565b6001600160a01b0316146100b15760405162461bcd60e51b815260206004820152600b60248201526a1a5b9a5d1a585b1a5e995960aa1b60448201526064015b60405180910390fd5b6100dc60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61047f565b60008051602061052a833981519152146100f8576100f86104a0565b6101388383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061018c915050565b505050565b6000610147610170565b905090565b3660008037600080366000845af43d6000803e80801561016b573d6000f35b3d6000fd5b60008051602061052a833981519152546001600160a01b031690565b610195836101b7565b6000825111806101a25750805b15610138576101b183836101f7565b50505050565b6101c081610225565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061021c838360405180606001604052806027815260200161054a602791396102bf565b90505b92915050565b61022e81610337565b6102905760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016100a8565b60008051602061052a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516102dc91906104da565b600060405180830381855af49150503d8060008114610317576040519150601f19603f3d011682016040523d82523d6000602084013e61031c565b606091505b509150915061032d86838387610346565b9695505050505050565b6001600160a01b03163b151590565b606083156103b35782516000036103ac5761036085610337565b6103ac5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016100a8565b50816103bd565b6103bd83836103c5565b949350505050565b8151156103d55781518083602001fd5b8060405162461bcd60e51b81526004016100a891906104f6565b60008060006040848603121561040457600080fd5b83356001600160a01b038116811461041b57600080fd5b925060208401356001600160401b038082111561043757600080fd5b818601915086601f83011261044b57600080fd5b81358181111561045a57600080fd5b87602082850101111561046c57600080fd5b6020830194508093505050509250925092565b8181038181111561021f57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60005b838110156104d15781810151838201526020016104b9565b50506000910152565b600082516104ec8184602087016104b6565b9190910192915050565b60208152600082518060208401526105158160408501602087016104b6565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e61bf4b283e7c7127b63eb541e464310619a8e941077fd50b9791d417ed8557b64736f6c63430008100033",
|
|
80
80
|
"linkReferences": {},
|
|
81
81
|
"deployedLinkReferences": {}
|
|
82
82
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "@openzeppelin/hardhat-upgrades";
|
|
2
|
-
export type TokenArgs = [string, string];
|
|
2
|
+
export declare type TokenArgs = [string, string];
|
|
3
3
|
export declare const deploySuperGoodDollar: (signer: any, sfContracts: any, tokenArgs?: any[]) => Promise<{
|
|
4
4
|
GoodDollar: import("ethers").Contract;
|
|
5
5
|
Identity: import("ethers").Contract;
|
|
@@ -18,10 +18,7 @@ const deploySuperGoodDollar = async (signer, sfContracts, tokenArgs = []) => {
|
|
|
18
18
|
const proxyFactory = new hardhat_1.ethers.ContractFactory(ERC1967Proxy_json_1.default.abi, ERC1967Proxy_json_1.default.bytecode, signer);
|
|
19
19
|
const idProxy = await proxyFactory.deploy();
|
|
20
20
|
const idLogic = await IdentityFactory.deploy();
|
|
21
|
-
const encodedInit = idLogic.interface.encodeFunctionData("initialize", [
|
|
22
|
-
await signer.getAddress(),
|
|
23
|
-
hardhat_1.ethers.constants.AddressZero
|
|
24
|
-
]);
|
|
21
|
+
const encodedInit = idLogic.interface.encodeFunctionData("initialize", [await signer.getAddress(), hardhat_1.ethers.constants.AddressZero]);
|
|
25
22
|
await idProxy.initialize(idLogic.address, encodedInit);
|
|
26
23
|
// const Identity = await upgrades.deployProxy(
|
|
27
24
|
// IdentityFactory,
|
|
@@ -31,12 +28,11 @@ const deploySuperGoodDollar = async (signer, sfContracts, tokenArgs = []) => {
|
|
|
31
28
|
const initializeArgs = [
|
|
32
29
|
"GoodDollar",
|
|
33
30
|
"G$",
|
|
34
|
-
0,
|
|
31
|
+
0,
|
|
35
32
|
FeeFormula.address,
|
|
36
33
|
idProxy.address,
|
|
37
34
|
hardhat_1.ethers.constants.AddressZero,
|
|
38
|
-
await signer.getAddress(),
|
|
39
|
-
...tokenArgs
|
|
35
|
+
await signer.getAddress(), ...tokenArgs
|
|
40
36
|
];
|
|
41
37
|
const SuperGoodDollarFactory = new hardhat_1.ethers.ContractFactory(SuperGoodDollar_json_1.default.abi, SuperGoodDollar_json_1.default.bytecode, signer);
|
|
42
38
|
const SuperGoodDollar = await SuperGoodDollarFactory.deploy(sfContracts.host);
|
|
@@ -44,7 +40,7 @@ const deploySuperGoodDollar = async (signer, sfContracts, tokenArgs = []) => {
|
|
|
44
40
|
const GoodDollarProxy = await GoodDollarProxyFactory.deploy();
|
|
45
41
|
await GoodDollarProxy.initializeProxy(SuperGoodDollar.address);
|
|
46
42
|
const GoodDollar = SuperGoodDollar.attach(GoodDollarProxy.address);
|
|
47
|
-
await GoodDollar["initialize(string,string,uint256,address,address,address,address
|
|
43
|
+
await GoodDollar["initialize(string,string,uint256,address,address,address,address)"](...initializeArgs);
|
|
48
44
|
return { GoodDollar, Identity: idLogic.attach(idProxy.address) };
|
|
49
45
|
};
|
|
50
46
|
exports.deploySuperGoodDollar = deploySuperGoodDollar;
|
package/dist/test-sdk/index.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
9
5
|
}) : (function(o, m, k, k2) {
|
|
10
6
|
if (k2 === undefined) k2 = k;
|
|
11
7
|
o[k2] = m[k];
|
package/hardhat.config.ts
CHANGED
|
@@ -10,6 +10,7 @@ import "solidity-coverage";
|
|
|
10
10
|
import "hardhat-gas-reporter";
|
|
11
11
|
import "hardhat-contract-sizer";
|
|
12
12
|
import "hardhat-storage-layout";
|
|
13
|
+
import "hardhat-deploy";
|
|
13
14
|
import { task, types } from "hardhat/config";
|
|
14
15
|
import { sha3 } from "web3-utils";
|
|
15
16
|
import { config } from "dotenv";
|
|
@@ -35,12 +36,12 @@ const ethplorer_key = process.env.ETHPLORER_KEY;
|
|
|
35
36
|
|
|
36
37
|
const MAINNET_URL = "https://mainnet.infura.io/v3/" + infura_api;
|
|
37
38
|
|
|
38
|
-
const
|
|
39
|
+
const xdc = {
|
|
39
40
|
accounts: { mnemonic },
|
|
40
|
-
url: "https://
|
|
41
|
+
url: "https://rpc.xdc.network",
|
|
41
42
|
gas: 3000000,
|
|
42
|
-
gasPrice:
|
|
43
|
-
chainId:
|
|
43
|
+
gasPrice: 12.5e9,
|
|
44
|
+
chainId: 50
|
|
44
45
|
};
|
|
45
46
|
|
|
46
47
|
// console.log({ mnemonic: sha3(mnemonic) });
|
|
@@ -63,6 +64,8 @@ const hhconfig: HardhatUserConfig = {
|
|
|
63
64
|
etherscan: {
|
|
64
65
|
apiKey: {
|
|
65
66
|
mainnet: etherscan_key,
|
|
67
|
+
txdc: etherscan_key,
|
|
68
|
+
xdc: etherscan_key,
|
|
66
69
|
celo: celoscan_key,
|
|
67
70
|
alfajores: celoscan_key,
|
|
68
71
|
base: basescan_key
|
|
@@ -83,6 +86,22 @@ const hhconfig: HardhatUserConfig = {
|
|
|
83
86
|
apiURL: "https://alfajores.celoscan.io/api",
|
|
84
87
|
browserURL: "https://alfajores.celoscan.io/"
|
|
85
88
|
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
network: "txdc",
|
|
92
|
+
chainId: 51,
|
|
93
|
+
urls: {
|
|
94
|
+
apiURL: "https://api.etherscan.io/v2/api?chainid=51",
|
|
95
|
+
browserURL: "https://testnet.xdcscan.com/"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
network: "xdc",
|
|
100
|
+
chainId: 50,
|
|
101
|
+
urls: {
|
|
102
|
+
apiURL: "https://api.etherscan.io/v2/api?chainid=50",
|
|
103
|
+
browserURL: "https://xdcscan.com/"
|
|
104
|
+
}
|
|
86
105
|
}
|
|
87
106
|
]
|
|
88
107
|
},
|
|
@@ -130,27 +149,6 @@ const hhconfig: HardhatUserConfig = {
|
|
|
130
149
|
gasPrice: 1000000000, //1 gwei
|
|
131
150
|
url: "http://127.0.0.1:8545/"
|
|
132
151
|
},
|
|
133
|
-
ropsten: {
|
|
134
|
-
accounts: { mnemonic },
|
|
135
|
-
url: "https://ropsten.infura.io/v3/" + infura_api,
|
|
136
|
-
gas: 8000000,
|
|
137
|
-
gasPrice: 25000000000,
|
|
138
|
-
chainId: 3
|
|
139
|
-
},
|
|
140
|
-
kovan: {
|
|
141
|
-
accounts: { mnemonic },
|
|
142
|
-
url: "https://kovan.infura.io/v3/" + infura_api,
|
|
143
|
-
gas: 3000000,
|
|
144
|
-
gasPrice: 1000000000,
|
|
145
|
-
chainId: 42
|
|
146
|
-
},
|
|
147
|
-
"kovan-mainnet": {
|
|
148
|
-
accounts: { mnemonic },
|
|
149
|
-
url: "https://kovan.infura.io/v3/" + infura_api,
|
|
150
|
-
gas: 3000000,
|
|
151
|
-
gasPrice: 1000000000,
|
|
152
|
-
chainId: 42
|
|
153
|
-
},
|
|
154
152
|
fuse: {
|
|
155
153
|
accounts: { mnemonic },
|
|
156
154
|
url: "https://rpc.fuse.io/",
|
|
@@ -211,14 +209,14 @@ const hhconfig: HardhatUserConfig = {
|
|
|
211
209
|
accounts: [deployerPrivateKey],
|
|
212
210
|
url: "https://forno.celo.org",
|
|
213
211
|
gas: 8000000,
|
|
214
|
-
gasPrice:
|
|
212
|
+
gasPrice: 26e9,
|
|
215
213
|
chainId: 42220
|
|
216
214
|
},
|
|
217
215
|
celo: {
|
|
218
216
|
accounts: { mnemonic },
|
|
219
217
|
url: "https://forno.celo.org",
|
|
220
218
|
gas: 3000000,
|
|
221
|
-
gasPrice:
|
|
219
|
+
gasPrice: 25.01e9,
|
|
222
220
|
chainId: 42220
|
|
223
221
|
},
|
|
224
222
|
alfajores: {
|
|
@@ -266,9 +264,18 @@ const hhconfig: HardhatUserConfig = {
|
|
|
266
264
|
gasPrice: 500000000,
|
|
267
265
|
chainId: 100
|
|
268
266
|
},
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
267
|
+
txdc: {
|
|
268
|
+
accounts: [deployerPrivateKey],
|
|
269
|
+
url: "https://rpc.apothem.network",
|
|
270
|
+
chainId: 51
|
|
271
|
+
},
|
|
272
|
+
"production-xdc": {
|
|
273
|
+
...xdc,
|
|
274
|
+
accounts: [deployerPrivateKey]
|
|
275
|
+
},
|
|
276
|
+
"development-xdc": {
|
|
277
|
+
...xdc
|
|
278
|
+
}
|
|
272
279
|
},
|
|
273
280
|
mocha: {
|
|
274
281
|
timeout: 6000000
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddollar/goodprotocol",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.34-beta.0",
|
|
4
4
|
"description": "GoodDollar Protocol",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16.x"
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@mean-finance/uniswap-v3-oracle": "^1.0.3",
|
|
77
77
|
"@nomicfoundation/hardhat-chai-matchers": "1",
|
|
78
78
|
"@nomicfoundation/hardhat-network-helpers": "^1.0.8",
|
|
79
|
-
"@nomicfoundation/hardhat-verify": "2",
|
|
79
|
+
"@nomicfoundation/hardhat-verify": "^2.1.0",
|
|
80
80
|
"@nomiclabs/hardhat-ethers": "^2.2.1",
|
|
81
81
|
"@nomiclabs/hardhat-waffle": "^2.0.6",
|
|
82
82
|
"@openzeppelin/contracts": "^4.8.0",
|
|
@@ -111,6 +111,7 @@
|
|
|
111
111
|
"graphql-request": "^3.4.0",
|
|
112
112
|
"hardhat": "^2.*",
|
|
113
113
|
"hardhat-contract-sizer": "^2.6.1",
|
|
114
|
+
"hardhat-deploy": "^1.0.4",
|
|
114
115
|
"hardhat-gas-reporter": "^1.0.8",
|
|
115
116
|
"hardhat-storage-layout": "^0.1.7",
|
|
116
117
|
"lodash": "^4.17.21",
|
|
@@ -298,5 +298,9 @@
|
|
|
298
298
|
"superfluidHost": "0xA4Ff07cF81C02CFD356184879D953970cA957585",
|
|
299
299
|
"superfluidInflowNFTLogic": "",
|
|
300
300
|
"superfluidOutflowNNFTLogic": ""
|
|
301
|
+
},
|
|
302
|
+
"development-xdc": {
|
|
303
|
+
"gasPrice": 12.5e9,
|
|
304
|
+
"superfluidHost": "0x0000000000000000000000000000000000000000"
|
|
301
305
|
}
|
|
302
|
-
}
|
|
306
|
+
}
|
package/releases/deployment.json
CHANGED
|
@@ -442,7 +442,8 @@
|
|
|
442
442
|
"MentoReserve": "0x94A3240f484A04F5e3d524f528d02694c109463b",
|
|
443
443
|
"MentoBroker": "0x88de45906D4F5a57315c133620cfa484cB297541",
|
|
444
444
|
"MentoUpgradeHelper": "0xc413cC6C58f0c290e89ddAeC83c2590017985eb7",
|
|
445
|
-
"CeloDistributionHelper": "0x6B845eFfAf36c374e8E7cf543Efa680f2F71F098"
|
|
445
|
+
"CeloDistributionHelper": "0x6B845eFfAf36c374e8E7cf543Efa680f2F71F098",
|
|
446
|
+
"CUSDExchangeId": "0xba77f5c7bb3317643c6d81d1ef3f9913561741d92095f88efa402faf2cbe9124"
|
|
446
447
|
},
|
|
447
448
|
"gnosis": { "GuardiansSafe": "0x84c10b45fe51bfb4f86c19a47fdbc187d4572fb8" },
|
|
448
449
|
"development-celo": {
|
|
@@ -631,5 +632,30 @@
|
|
|
631
632
|
"ProxyFactory": "0xD86cd6Bb3c2a576b2C2CEF4e047b1A7adC5Be62D",
|
|
632
633
|
"SuperfluidFaucet": "0x51A073a0F910B3902a98a584397101211F01d81F",
|
|
633
634
|
"AdminWallet": "0x7119CD89D4792aF90277d84cDffa3F2Ab22a0022"
|
|
635
|
+
},
|
|
636
|
+
"txdc": {
|
|
637
|
+
"ProxyFactory": "0x737ac1C082D5548Ec44f8CA053d263672327047d",
|
|
638
|
+
"DAOCreator": "0x848cf57be7054B4Ac68037B4E5f92f3C6f30A1b0",
|
|
639
|
+
"GoodDollar": "0x23279D336E55F54D0F92aE2e56e2126De13E38BA",
|
|
640
|
+
"Avatar": "0x49A1e001922bC154B3B92B6c79D5B5CEdba54F91",
|
|
641
|
+
"Controller": "0xe02fab3D127F4AF0932f3c0025EA563B7F8f6AB6",
|
|
642
|
+
"Identity": "0xD6520ba9E2aF65e140E09e7444C1dD437b24768C",
|
|
643
|
+
"NameService": "0xd63d169cb2d18E8221E2401D0f4f19DF9FFAD83B",
|
|
644
|
+
"FeeFormula": "0x4aC8AAcef1736c1e9980f57A3c063707e21651AD",
|
|
645
|
+
"SuperfluidHost": "0x0000000000000000000000000000000000000000"
|
|
646
|
+
},
|
|
647
|
+
"development-xdc": {
|
|
648
|
+
"ProxyFactory": "0x2a866c021AAeD17DE0e679dB52b13079847Ec66B",
|
|
649
|
+
"GoodDollar": "0xA13625A72Aef90645CfCe34e25c114629d7855e7",
|
|
650
|
+
"Avatar": "0xC47747659b74Cc23210DD851b254260b0B039eED",
|
|
651
|
+
"Controller": "0x36B0273c0537D73265Ae2607a3E9Be949Bff97c8",
|
|
652
|
+
"Identity": "0xa6632e9551A340E8582cc797017fbA645695E29f",
|
|
653
|
+
"NameService": "0x00a619Ee0Fe0c3646Acf2C6D2FC89FA1aDE98f1D",
|
|
654
|
+
"FeeFormula": "0x94459db2E5F27CDec32a8aa94c0a54F4ff33C93a",
|
|
655
|
+
"DAOCreator": "0x6c8a0B3A2bdebc48827bd1FE383AA5e75b7143df",
|
|
656
|
+
"AdminWallet": "0x63B69B1b986427a63cB8d6Ba25CdF08605471BE9",
|
|
657
|
+
"Faucet": "0x5CE5e22329914F3317B770184a405E91ef72e489",
|
|
658
|
+
"Invites": "0xE376DAd6FAe634332B514cE8fF2aD23FBB5d82EF",
|
|
659
|
+
"UBIScheme": "0xA2619D468EfE2f6D8b3D915B999327C8fE13aE2c"
|
|
634
660
|
}
|
|
635
661
|
}
|
package/releases/olddao.json
CHANGED
|
@@ -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":"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}}
|
|
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}}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import "dotenv/config";
|
|
3
|
+
|
|
4
|
+
// --- CONFIGURATION ---
|
|
5
|
+
// For better performance and reliability, use a private RPC endpoint.
|
|
6
|
+
const FUSE_RPC_URL = process.env.FUSE_RPC_URL || "https://rpc.fuse.io";
|
|
7
|
+
const GOVERNANCE_STAKING_ADDRESS = "0xB7C3e738224625289C573c54d402E9Be46205546";
|
|
8
|
+
const GREPUTATION_STAKING_ADDRESS = "0x603B8C0F110E037b51A381CBCacAbb8d6c6E4543";
|
|
9
|
+
// This is the standard Multicall3 contract address, available on Fuse and many other EVM chains.
|
|
10
|
+
const MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
|
|
11
|
+
|
|
12
|
+
// Contract deployment block. We start scanning from here to find all historical events.
|
|
13
|
+
const START_BLOCK = 15900000; //15900000
|
|
14
|
+
|
|
15
|
+
// Chunk sizes to avoid overwhelming the RPC endpoint. Adjust if you get timeout errors.
|
|
16
|
+
const BLOCK_CHUNK_SIZE = 50000;
|
|
17
|
+
const MULTICALL_CHUNK_SIZE = 100; // Number of stakers to query per multicall batch.
|
|
18
|
+
|
|
19
|
+
// --- ABIs (derived from GovernanceStaking.sol) ---
|
|
20
|
+
const GOVERNANCE_STAKING_ABI = [
|
|
21
|
+
"event Staked(address indexed who,uint256 amount)",
|
|
22
|
+
"function balanceOf(address staker) view returns (uint256)",
|
|
23
|
+
"function getUserPendingReward(address staker) view returns (uint256)"
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const MULTICALL_ABI = [
|
|
27
|
+
"function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)"
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
// --- TYPES ---
|
|
31
|
+
interface StakerData {
|
|
32
|
+
address: string;
|
|
33
|
+
stakeAmount: bigint;
|
|
34
|
+
pendingGood: bigint;
|
|
35
|
+
goodBalance: bigint;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Fetches all unique staker addresses by scanning Staked events in block chunks.
|
|
40
|
+
* @param contract The GovernanceStaking contract instance.
|
|
41
|
+
* @param startBlock The block to start scanning from.
|
|
42
|
+
* @param endBlock The block to scan until (usually the latest block).
|
|
43
|
+
* @returns A promise that resolves to an array of unique staker addresses.
|
|
44
|
+
*/
|
|
45
|
+
async function getAllStakers(contract: ethers.Contract, startBlock: number, endBlock: number): Promise<string[]> {
|
|
46
|
+
console.log(`Fetching all historical stakers from block ${startBlock} to ${endBlock}...`);
|
|
47
|
+
const stakers = new Set<string>();
|
|
48
|
+
|
|
49
|
+
for (let fromBlock = startBlock; fromBlock <= endBlock; fromBlock += BLOCK_CHUNK_SIZE) {
|
|
50
|
+
const toBlock = Math.min(fromBlock + BLOCK_CHUNK_SIZE - 1, endBlock);
|
|
51
|
+
console.log(` - Scanning blocks ${fromBlock} to ${toBlock} for Staked events...`);
|
|
52
|
+
|
|
53
|
+
try {
|
|
54
|
+
const events = await contract.queryFilter(contract.filters.Staked(), fromBlock, toBlock);
|
|
55
|
+
console.log(` Found ${events.length} Staked events in this block range.`);
|
|
56
|
+
for (const event of events) {
|
|
57
|
+
// The 'who' argument from the event is the staker's address
|
|
58
|
+
if (event.args && event.args.who) {
|
|
59
|
+
stakers.add(event.args.who);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.error(`Error fetching events in block range ${fromBlock}-${toBlock}:`, error);
|
|
64
|
+
// Optionally, you could add retry logic here.
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
console.log(`Found ${stakers.size} unique historical stakers.`);
|
|
69
|
+
return Array.from(stakers);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Fetches stake and entitlement data for a list of stakers using multicall.
|
|
74
|
+
* @param provider An ethers provider instance.
|
|
75
|
+
* @param stakerAddresses An array of staker addresses to query.
|
|
76
|
+
* @returns A promise that resolves to an array of StakerData objects.
|
|
77
|
+
*/
|
|
78
|
+
async function fetchStakersData(
|
|
79
|
+
provider: ethers.providers.JsonRpcProvider,
|
|
80
|
+
stakerAddresses: string[]
|
|
81
|
+
): Promise<StakerData[]> {
|
|
82
|
+
console.log(`\nFetching current stake and pending GOOD for ${stakerAddresses.length} stakers using multicall...`);
|
|
83
|
+
const allStakerData: StakerData[] = [];
|
|
84
|
+
const govStakingInterface = new ethers.Contract(ethers.constants.AddressZero, GOVERNANCE_STAKING_ABI);
|
|
85
|
+
const multicall = new ethers.Contract(MULTICALL_ADDRESS, MULTICALL_ABI, provider);
|
|
86
|
+
|
|
87
|
+
for (let i = 0; i < stakerAddresses.length; i += MULTICALL_CHUNK_SIZE) {
|
|
88
|
+
const chunk = stakerAddresses.slice(i, i + MULTICALL_CHUNK_SIZE);
|
|
89
|
+
console.log(` - Processing multicall batch ${i / MULTICALL_CHUNK_SIZE + 1} for ${chunk.length} stakers...`);
|
|
90
|
+
|
|
91
|
+
const calls = chunk.flatMap(address => [
|
|
92
|
+
// Call 1: Get current G$ stake amount
|
|
93
|
+
{
|
|
94
|
+
target: GOVERNANCE_STAKING_ADDRESS,
|
|
95
|
+
callData: govStakingInterface.interface.encodeFunctionData("balanceOf", [address])
|
|
96
|
+
},
|
|
97
|
+
// Call 2: Get pending GOOD tokens
|
|
98
|
+
{
|
|
99
|
+
target: GOVERNANCE_STAKING_ADDRESS,
|
|
100
|
+
callData: govStakingInterface.interface.encodeFunctionData("getUserPendingReward", [address])
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
target: GREPUTATION_STAKING_ADDRESS,
|
|
104
|
+
callData: govStakingInterface.interface.encodeFunctionData("balanceOf", [address])
|
|
105
|
+
}
|
|
106
|
+
]);
|
|
107
|
+
|
|
108
|
+
try {
|
|
109
|
+
const [, returnData] = await multicall.aggregate(calls);
|
|
110
|
+
|
|
111
|
+
for (let j = 0; j < chunk.length; j++) {
|
|
112
|
+
const address = chunk[j];
|
|
113
|
+
// Each staker has two return values in the flat array
|
|
114
|
+
const stakeResult = returnData[j * 3];
|
|
115
|
+
const entitlementResult = returnData[j * 3 + 1];
|
|
116
|
+
const goodResult = returnData[j * 3 + 2];
|
|
117
|
+
|
|
118
|
+
const stakeAmount = govStakingInterface.interface.decodeFunctionResult("balanceOf", stakeResult)[0];
|
|
119
|
+
const pendingGood = govStakingInterface.interface.decodeFunctionResult(
|
|
120
|
+
"getUserPendingReward",
|
|
121
|
+
entitlementResult
|
|
122
|
+
)[0];
|
|
123
|
+
const goodBalance = govStakingInterface.interface.decodeFunctionResult("balanceOf", goodResult)[0];
|
|
124
|
+
|
|
125
|
+
allStakerData.push({
|
|
126
|
+
address,
|
|
127
|
+
stakeAmount,
|
|
128
|
+
pendingGood,
|
|
129
|
+
goodBalance
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
} catch (error) {
|
|
133
|
+
console.error(`Error during multicall batch ${i / MULTICALL_CHUNK_SIZE + 1}:`, error);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return allStakerData;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Main execution function.
|
|
142
|
+
*/
|
|
143
|
+
async function main() {
|
|
144
|
+
console.log("--- Fuse GovernanceStaking Analysis ---");
|
|
145
|
+
const provider = new ethers.providers.JsonRpcProvider(FUSE_RPC_URL);
|
|
146
|
+
const governanceStaking = new ethers.Contract(GOVERNANCE_STAKING_ADDRESS, GOVERNANCE_STAKING_ABI, provider);
|
|
147
|
+
|
|
148
|
+
const latestBlock = await provider.getBlockNumber();
|
|
149
|
+
console.log(`Connected to Fuse Network. Latest block: ${latestBlock}`);
|
|
150
|
+
|
|
151
|
+
// Step 1: Get all unique addresses that have ever staked.
|
|
152
|
+
const allHistoricalStakers = await getAllStakers(governanceStaking, START_BLOCK, latestBlock);
|
|
153
|
+
if (allHistoricalStakers.length === 0) {
|
|
154
|
+
console.log("No stakers found. Exiting.");
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Step 2: Use multicall to get current data for all historical stakers.
|
|
159
|
+
const allStakerData = await fetchStakersData(provider, allHistoricalStakers);
|
|
160
|
+
|
|
161
|
+
// Step 3: Filter for active stakers (stake > 0) and present the results.
|
|
162
|
+
const activeStakers = allStakerData.filter(data => data.stakeAmount > 0n);
|
|
163
|
+
|
|
164
|
+
console.log("\n--- Analysis Complete ---");
|
|
165
|
+
console.log(`Total unique historical stakers: ${allHistoricalStakers.length}`);
|
|
166
|
+
console.log(`Total active stakers (current stake > 0): ${activeStakers.length}`);
|
|
167
|
+
console.log("-------------------------\n");
|
|
168
|
+
|
|
169
|
+
// Optional: Print details for the top 5 active stakers by stake amount
|
|
170
|
+
// activeStakers.sort((a, b) => (Number(b.stakeAmount) > Number(a.stakeAmount) ? 1 : -1));
|
|
171
|
+
activeStakers.sort((a, b) =>
|
|
172
|
+
BigInt(b.goodBalance) + BigInt(b.pendingGood) > BigInt(a.goodBalance) + BigInt(a.pendingGood) ? 1 : -1
|
|
173
|
+
);
|
|
174
|
+
console.log("Top 100 Active Stakers by G$ Stake:");
|
|
175
|
+
activeStakers.slice(0, 100).forEach((staker, index) => {
|
|
176
|
+
console.log(` ${index + 1}. Address: ${staker.address}`);
|
|
177
|
+
console.log(` Stake: ${ethers.utils.formatUnits(staker.stakeAmount, 2)} G$`);
|
|
178
|
+
console.log(` Pending: ${ethers.utils.formatEther(staker.pendingGood)} GOOD`);
|
|
179
|
+
console.log(
|
|
180
|
+
` Total Good: ${ethers.utils.formatEther(BigInt(staker.goodBalance) + BigInt(staker.pendingGood))} GOOD`
|
|
181
|
+
);
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
main().catch(error => {
|
|
186
|
+
console.error("An unexpected error occurred:", error);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
});
|