@gooddollar/goodprotocol 2.0.5-beta.4 → 2.0.5-beta.6
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/IFirstClaimPool.min.json +1 -1
- package/artifacts/abis/InvitesFuseV2.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/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/IFirstClaimPool.json +7 -0
- 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/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/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -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/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/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.json +15 -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/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- 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/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
- 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/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- 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/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
- 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/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/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- 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/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
- package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
- 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/FeesFormula.sol/IFeesFormula.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/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/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +2 -2
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
- 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/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/BulkProof.sol/BulkProof.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.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/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/DataTypes.sol/DataTypes.dbg.json +1 -1
- 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/MultiCall.sol/Multicall.dbg.json +1 -1
- 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/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/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/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
- package/contracts/Interfaces.sol +46 -61
- package/contracts/invite/InvitesFuseV2.sol +21 -25
- package/contracts/invite/InvitesV2.sol +20 -30
- package/contracts/token/superfluid/UUPSProxy.sol +1 -1
- package/package.json +2 -2
- package/releases/deployment.json +4 -2
- package/scripts/multichain-deploy/helpers.ts +13 -2
- package/scripts/proposals/gip-14_1.ts +255 -0
- package/scripts/proposals/gips-14_1.md +29 -0
- package/types/IFirstClaimPool.ts +21 -0
- package/types/InvitesFuseV2.ts +28 -0
- package/types/factories/AaveStakingFactory__factory.ts +1 -1
- package/types/factories/AdminWalletFuse__factory.ts +1 -1
- package/types/factories/AdminWallet__factory.ts +1 -1
- package/types/factories/BaseShareFieldV2__factory.ts +1 -1
- package/types/factories/BaseShareField__factory.ts +1 -1
- package/types/factories/BuyAndBridgeHelper__factory.ts +1 -1
- package/types/factories/ClaimersDistribution__factory.ts +1 -1
- package/types/factories/CompoundStakingFactory__factory.ts +1 -1
- package/types/factories/CompoundVotingMachine__factory.ts +1 -1
- package/types/factories/DAOContract__factory.ts +1 -1
- package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
- package/types/factories/DistributionBridgeMock__factory.ts +1 -1
- package/types/factories/DistributionHelperTestHelper__factory.ts +1 -1
- package/types/factories/DistributionHelperTest__factory.ts +1 -1
- package/types/factories/DistributionHelper__factory.ts +1 -1
- package/types/factories/DonationsStaking__factory.ts +1 -1
- package/types/factories/ExchangeHelper__factory.ts +1 -1
- package/types/factories/Faucet__factory.ts +1 -1
- package/types/factories/FuseFaucetV2__factory.ts +1 -1
- package/types/factories/FuseFaucet__factory.ts +1 -1
- package/types/factories/FuseStakingV3__factory.ts +1 -1
- package/types/factories/GReputation__factory.ts +1 -1
- package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
- package/types/factories/GoodAaveStaking__factory.ts +1 -1
- package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
- package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
- package/types/factories/GoodCompoundStaking__factory.ts +1 -1
- package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1 -1
- package/types/factories/GoodDollarStakingMock__factory.ts +1 -1
- package/types/factories/GoodDollarStaking__factory.ts +1 -1
- package/types/factories/GoodDollar__factory.ts +1 -1
- package/types/factories/GoodFundManagerTest__factory.ts +1 -1
- package/types/factories/GoodFundManager__factory.ts +1 -1
- package/types/factories/GoodMarketMaker__factory.ts +1 -1
- package/types/factories/GoodReserveCDai__factory.ts +1 -1
- package/types/factories/GovernanceStaking__factory.ts +1 -1
- package/types/factories/IFirstClaimPool__factory.ts +7 -0
- package/types/factories/IdentityMock__factory.ts +1 -1
- package/types/factories/IdentityV2__factory.ts +1 -1
- package/types/factories/InvitesFuseV2__factory.ts +14 -1
- package/types/factories/InvitesV1__factory.ts +1 -1
- package/types/factories/InvitesV2__factory.ts +1 -1
- package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
- package/types/factories/MultichainRouterMock__factory.ts +1 -1
- package/types/factories/OneTimePaymentsV2__factory.ts +1 -1
- package/types/factories/OneTimePayments__factory.ts +1 -1
- package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
- package/types/factories/OverMintTester__factory.ts +1 -1
- package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
- package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
- package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
- package/types/factories/ProtocolUpgrade__factory.ts +1 -1
- package/types/factories/ReputationTestHelper__factory.ts +1 -1
- package/types/factories/Reputation__factory.ts +1 -1
- package/types/factories/StakersDistribution__factory.ts +1 -1
- package/types/factories/SuperGoodDollar__factory.ts +1 -1
- package/types/factories/SwapHelperTest__factory.ts +1 -1
- package/types/factories/UBIScheme__factory.ts +1 -1
- package/types/factories/UUPSProxy__factory.ts +1 -1
- package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
- package/types/factories/UpgradableMock2__factory.ts +1 -1
- package/types/factories/UpgradableMock3__factory.ts +1 -1
- package/types/factories/UpgradableMock4__factory.ts +1 -1
- package/types/factories/UpgradableMock__factory.ts +1 -1
- package/yarn.lock +4 -4
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"type": "function"
|
|
75
75
|
}
|
|
76
76
|
],
|
|
77
|
-
"bytecode": "
|
|
78
|
-
"deployedBytecode": "
|
|
77
|
+
"bytecode": "0x608060405234801561001057600080fd5b5060405161033c38038061033c83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6102a9806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80635653eeeb1461004657806391d61f3e1461005b578063c52164c61461006e575b600080fd5b6100596100543660046101c9565b61009d565b005b6100596100693660046101c9565b610136565b600054610081906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60005b81811015610130576000546040516340c10f1960e01b81526001600160a01b03909116906340c10f19906100da908790879060040161020a565b6020604051808303816000875af11580156100f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011d9190610223565b50806101288161024c565b9150506100a0565b50505050565b60005b8181101561013057600054604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610173908790879060040161020a565b6020604051808303816000875af1158015610192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b69190610223565b50806101c18161024c565b915050610139565b6000806000606084860312156101de57600080fd5b83356001600160a01b03811681146101f557600080fd5b95602085013595506040909401359392505050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561023557600080fd5b8151801515811461024557600080fd5b9392505050565b60006001820161026c57634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212206c73c2a622a13a1420388daec412af012e94d78e840b29507bd279ce90dd324d64736f6c63430008100033",
|
|
78
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80635653eeeb1461004657806391d61f3e1461005b578063c52164c61461006e575b600080fd5b6100596100543660046101c9565b61009d565b005b6100596100693660046101c9565b610136565b600054610081906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60005b81811015610130576000546040516340c10f1960e01b81526001600160a01b03909116906340c10f19906100da908790879060040161020a565b6020604051808303816000875af11580156100f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011d9190610223565b50806101288161024c565b9150506100a0565b50505050565b60005b8181101561013057600054604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610173908790879060040161020a565b6020604051808303816000875af1158015610192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b69190610223565b50806101c18161024c565b915050610139565b6000806000606084860312156101de57600080fd5b83356001600160a01b03811681146101f557600080fd5b95602085013595506040909401359392505050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561023557600080fd5b8151801515811461024557600080fd5b9392505050565b60006001820161026c57634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212206c73c2a622a13a1420388daec412af012e94d78e840b29507bd279ce90dd324d64736f6c63430008100033",
|
|
79
79
|
"linkReferences": {},
|
|
80
80
|
"deployedLinkReferences": {}
|
|
81
81
|
}
|
package/contracts/Interfaces.sol
CHANGED
|
@@ -19,10 +19,10 @@ interface ERC20 {
|
|
|
19
19
|
|
|
20
20
|
function totalSupply() external view returns (uint256);
|
|
21
21
|
|
|
22
|
-
function allowance(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
function allowance(
|
|
23
|
+
address owner,
|
|
24
|
+
address spender
|
|
25
|
+
) external view returns (uint256);
|
|
26
26
|
|
|
27
27
|
function transferFrom(
|
|
28
28
|
address sender,
|
|
@@ -136,24 +136,25 @@ interface IERC2917 is ERC20 {
|
|
|
136
136
|
/// @notice It will get the productivity of given user.
|
|
137
137
|
/// @dev it will return 0 if user has no productivity proved in the contract.
|
|
138
138
|
/// @return user's productivity and overall productivity.
|
|
139
|
-
function getProductivity(
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
returns (uint256, uint256);
|
|
139
|
+
function getProductivity(
|
|
140
|
+
address user
|
|
141
|
+
) external view returns (uint256, uint256);
|
|
143
142
|
|
|
144
143
|
/// @notice increase a user's productivity.
|
|
145
144
|
/// @dev Note the best practice will be restrict the callee to prove of productivity's contract address.
|
|
146
145
|
/// @return true to confirm that the productivity added success.
|
|
147
|
-
function increaseProductivity(
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
function increaseProductivity(
|
|
147
|
+
address user,
|
|
148
|
+
uint256 value
|
|
149
|
+
) external returns (bool);
|
|
150
150
|
|
|
151
151
|
/// @notice decrease a user's productivity.
|
|
152
152
|
/// @dev Note the best practice will be restrict the callee to prove of productivity's contract address.
|
|
153
153
|
/// @return true to confirm that the productivity removed success.
|
|
154
|
-
function decreaseProductivity(
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
function decreaseProductivity(
|
|
155
|
+
address user,
|
|
156
|
+
uint256 value
|
|
157
|
+
) external returns (bool);
|
|
157
158
|
|
|
158
159
|
/// @notice take() will return the interests that callee will get at current block height.
|
|
159
160
|
/// @dev it will always calculated by block.number, so it will change when block height changes.
|
|
@@ -233,28 +234,24 @@ interface Uniswap {
|
|
|
233
234
|
uint256 reserveOut
|
|
234
235
|
) external pure returns (uint256 amountOut);
|
|
235
236
|
|
|
236
|
-
function getAmountsOut(
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
function getAmountsOut(
|
|
238
|
+
uint256 amountIn,
|
|
239
|
+
address[] memory path
|
|
240
|
+
) external pure returns (uint256[] memory amounts);
|
|
240
241
|
}
|
|
241
242
|
|
|
242
243
|
interface UniswapFactory {
|
|
243
|
-
function getPair(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
244
|
+
function getPair(
|
|
245
|
+
address tokenA,
|
|
246
|
+
address tokenB
|
|
247
|
+
) external view returns (address);
|
|
247
248
|
}
|
|
248
249
|
|
|
249
250
|
interface UniswapPair {
|
|
250
251
|
function getReserves()
|
|
251
252
|
external
|
|
252
253
|
view
|
|
253
|
-
returns (
|
|
254
|
-
uint112 reserve0,
|
|
255
|
-
uint112 reserve1,
|
|
256
|
-
uint32 blockTimestampLast
|
|
257
|
-
);
|
|
254
|
+
returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
|
|
258
255
|
|
|
259
256
|
function kLast() external view returns (uint256);
|
|
260
257
|
|
|
@@ -317,10 +314,9 @@ interface IIdentityV2 is IIdentity {
|
|
|
317
314
|
uint256 dateAuthenticated
|
|
318
315
|
) external;
|
|
319
316
|
|
|
320
|
-
function getWhitelistedRoot(
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
returns (address root);
|
|
317
|
+
function getWhitelistedRoot(
|
|
318
|
+
address account
|
|
319
|
+
) external view returns (address root);
|
|
324
320
|
}
|
|
325
321
|
|
|
326
322
|
interface IUBIScheme {
|
|
@@ -335,13 +331,14 @@ interface IFirstClaimPool {
|
|
|
335
331
|
function awardUser(address user) external returns (uint256);
|
|
336
332
|
|
|
337
333
|
function claimAmount() external view returns (uint256);
|
|
334
|
+
|
|
335
|
+
function end() external;
|
|
338
336
|
}
|
|
339
337
|
|
|
340
338
|
interface ProxyAdmin {
|
|
341
|
-
function getProxyImplementation(
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
returns (address);
|
|
339
|
+
function getProxyImplementation(
|
|
340
|
+
address proxy
|
|
341
|
+
) external view returns (address);
|
|
345
342
|
|
|
346
343
|
function getProxyAdmin(address proxy) external view returns (address);
|
|
347
344
|
|
|
@@ -371,7 +368,9 @@ interface AggregatorV3Interface {
|
|
|
371
368
|
// getRoundData and latestRoundData should both raise "No data present"
|
|
372
369
|
// if they do not have data to report, instead of returning unset values
|
|
373
370
|
// which could be misinterpreted as actual reported values.
|
|
374
|
-
function getRoundData(
|
|
371
|
+
function getRoundData(
|
|
372
|
+
uint80 _roundId
|
|
373
|
+
)
|
|
375
374
|
external
|
|
376
375
|
view
|
|
377
376
|
returns (
|
|
@@ -429,10 +428,9 @@ interface ILendingPool {
|
|
|
429
428
|
* @param asset The address of the underlying asset of the reserve
|
|
430
429
|
* @return The state of the reserve
|
|
431
430
|
**/
|
|
432
|
-
function getReserveData(
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
returns (DataTypes.ReserveData memory);
|
|
431
|
+
function getReserveData(
|
|
432
|
+
address asset
|
|
433
|
+
) external view returns (DataTypes.ReserveData memory);
|
|
436
434
|
}
|
|
437
435
|
|
|
438
436
|
interface IDonationStaking {
|
|
@@ -461,36 +459,23 @@ interface IAaveIncentivesController {
|
|
|
461
459
|
* @param user The address of the user
|
|
462
460
|
* @return The rewards
|
|
463
461
|
**/
|
|
464
|
-
function getRewardsBalance(
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
462
|
+
function getRewardsBalance(
|
|
463
|
+
address[] calldata assets,
|
|
464
|
+
address user
|
|
465
|
+
) external view returns (uint256);
|
|
468
466
|
}
|
|
469
467
|
|
|
470
468
|
interface IGoodStaking {
|
|
471
|
-
function collectUBIInterest(
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
uint256,
|
|
475
|
-
uint256,
|
|
476
|
-
uint256
|
|
477
|
-
);
|
|
469
|
+
function collectUBIInterest(
|
|
470
|
+
address recipient
|
|
471
|
+
) external returns (uint256, uint256, uint256);
|
|
478
472
|
|
|
479
473
|
function iToken() external view returns (address);
|
|
480
474
|
|
|
481
475
|
function currentGains(
|
|
482
476
|
bool _returnTokenBalanceInUSD,
|
|
483
477
|
bool _returnTokenGainsInUSD
|
|
484
|
-
)
|
|
485
|
-
external
|
|
486
|
-
view
|
|
487
|
-
returns (
|
|
488
|
-
uint256,
|
|
489
|
-
uint256,
|
|
490
|
-
uint256,
|
|
491
|
-
uint256,
|
|
492
|
-
uint256
|
|
493
|
-
);
|
|
478
|
+
) external view returns (uint256, uint256, uint256, uint256, uint256);
|
|
494
479
|
|
|
495
480
|
function getRewardEarned(address user) external view returns (uint256);
|
|
496
481
|
|
|
@@ -141,11 +141,9 @@ contract InvitesFuseV2 is Initializable {
|
|
|
141
141
|
emit InviteeJoined(inviter, msg.sender);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
function _whitelistedOnChainOrDefault(
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
returns (uint256 chainId)
|
|
148
|
-
{
|
|
144
|
+
function _whitelistedOnChainOrDefault(
|
|
145
|
+
address _invitee
|
|
146
|
+
) internal view returns (uint256 chainId) {
|
|
149
147
|
(bool success, bytes memory result) = address(identity).staticcall(
|
|
150
148
|
abi.encodeWithSignature("getWhitelistedOnChainId(address)", _invitee)
|
|
151
149
|
);
|
|
@@ -173,19 +171,15 @@ contract InvitesFuseV2 is Initializable {
|
|
|
173
171
|
isLevelExpired == false;
|
|
174
172
|
}
|
|
175
173
|
|
|
176
|
-
function getInvitees(
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
returns (address[] memory)
|
|
180
|
-
{
|
|
174
|
+
function getInvitees(
|
|
175
|
+
address _inviter
|
|
176
|
+
) public view returns (address[] memory) {
|
|
181
177
|
return users[_inviter].invitees;
|
|
182
178
|
}
|
|
183
179
|
|
|
184
|
-
function getPendingInvitees(
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
returns (address[] memory)
|
|
188
|
-
{
|
|
180
|
+
function getPendingInvitees(
|
|
181
|
+
address _inviter
|
|
182
|
+
) public view returns (address[] memory) {
|
|
189
183
|
address[] memory pending = users[_inviter].pending;
|
|
190
184
|
uint256 cur = 0;
|
|
191
185
|
uint256 total = 0;
|
|
@@ -222,19 +216,17 @@ contract InvitesFuseV2 is Initializable {
|
|
|
222
216
|
* @dev pay bounty for the inviter of _invitee
|
|
223
217
|
* invitee need to be whitelisted
|
|
224
218
|
*/
|
|
225
|
-
function bountyFor(
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
returns (uint256 bounty)
|
|
229
|
-
{
|
|
219
|
+
function bountyFor(
|
|
220
|
+
address _invitee
|
|
221
|
+
) public isActive returns (uint256 bounty) {
|
|
230
222
|
require(canCollectBountyFor(_invitee), "user not elligble for bounty yet");
|
|
231
223
|
return _bountyFor(_invitee, true);
|
|
232
224
|
}
|
|
233
225
|
|
|
234
|
-
function _bountyFor(
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
{
|
|
226
|
+
function _bountyFor(
|
|
227
|
+
address _invitee,
|
|
228
|
+
bool isSingleBounty
|
|
229
|
+
) internal returns (uint256 bounty) {
|
|
238
230
|
address invitedBy = users[_invitee].invitedBy;
|
|
239
231
|
uint256 joinedAt = users[_invitee].joinedAt;
|
|
240
232
|
Level memory level = levels[users[invitedBy].level];
|
|
@@ -291,6 +283,10 @@ contract InvitesFuseV2 is Initializable {
|
|
|
291
283
|
if (totalBounties > 0) goodDollar.transfer(msg.sender, totalBounties);
|
|
292
284
|
}
|
|
293
285
|
|
|
286
|
+
function setIdentity(IIdentityV2 _identity) external ownerOrAvatar {
|
|
287
|
+
identity = _identity;
|
|
288
|
+
}
|
|
289
|
+
|
|
294
290
|
function setLevel(
|
|
295
291
|
uint256 _lvl,
|
|
296
292
|
uint256 _toNext,
|
|
@@ -309,7 +305,7 @@ contract InvitesFuseV2 is Initializable {
|
|
|
309
305
|
|
|
310
306
|
function end() public ownerOrAvatar isActive {
|
|
311
307
|
uint256 gdBalance = goodDollar.balanceOf(address(this));
|
|
312
|
-
goodDollar.transfer(
|
|
308
|
+
goodDollar.transfer(msg.sender, gdBalance);
|
|
313
309
|
payable(msg.sender).transfer(address(this).balance);
|
|
314
310
|
active = false;
|
|
315
311
|
}
|
|
@@ -100,11 +100,9 @@ contract InvitesV2 is DAOUpgradeableContract {
|
|
|
100
100
|
levelExpirationEnabled = false;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
function _authorizeUpgrade(
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
ownerOrAvatar
|
|
107
|
-
{}
|
|
103
|
+
function _authorizeUpgrade(
|
|
104
|
+
address newImplementation
|
|
105
|
+
) internal override ownerOrAvatar {}
|
|
108
106
|
|
|
109
107
|
function getIdentity() public view returns (IIdentityV2) {
|
|
110
108
|
return IIdentityV2(nameService.getAddress("IDENTITY"));
|
|
@@ -149,11 +147,9 @@ contract InvitesV2 is DAOUpgradeableContract {
|
|
|
149
147
|
emit InviteeJoined(inviter, msg.sender);
|
|
150
148
|
}
|
|
151
149
|
|
|
152
|
-
function _whitelistedOnChainOrDefault(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
returns (uint256 chainId)
|
|
156
|
-
{
|
|
150
|
+
function _whitelistedOnChainOrDefault(
|
|
151
|
+
address _invitee
|
|
152
|
+
) internal view returns (uint256 chainId) {
|
|
157
153
|
(bool success, bytes memory result) = address(getIdentity()).staticcall(
|
|
158
154
|
abi.encodeWithSignature("getWhitelistedOnChainId(address)", _invitee)
|
|
159
155
|
);
|
|
@@ -181,19 +177,15 @@ contract InvitesV2 is DAOUpgradeableContract {
|
|
|
181
177
|
isLevelExpired == false;
|
|
182
178
|
}
|
|
183
179
|
|
|
184
|
-
function getInvitees(
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
returns (address[] memory)
|
|
188
|
-
{
|
|
180
|
+
function getInvitees(
|
|
181
|
+
address _inviter
|
|
182
|
+
) public view returns (address[] memory) {
|
|
189
183
|
return users[_inviter].invitees;
|
|
190
184
|
}
|
|
191
185
|
|
|
192
|
-
function getPendingInvitees(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
returns (address[] memory)
|
|
196
|
-
{
|
|
186
|
+
function getPendingInvitees(
|
|
187
|
+
address _inviter
|
|
188
|
+
) public view returns (address[] memory) {
|
|
197
189
|
address[] memory pending = users[_inviter].pending;
|
|
198
190
|
uint256 cur = 0;
|
|
199
191
|
uint256 total = 0;
|
|
@@ -230,19 +222,17 @@ contract InvitesV2 is DAOUpgradeableContract {
|
|
|
230
222
|
* @dev pay bounty for the inviter of _invitee
|
|
231
223
|
* invitee need to be whitelisted
|
|
232
224
|
*/
|
|
233
|
-
function bountyFor(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
returns (uint256 bounty)
|
|
237
|
-
{
|
|
225
|
+
function bountyFor(
|
|
226
|
+
address _invitee
|
|
227
|
+
) public isActive returns (uint256 bounty) {
|
|
238
228
|
require(canCollectBountyFor(_invitee), "user not elligble for bounty yet");
|
|
239
229
|
return _bountyFor(_invitee, true);
|
|
240
230
|
}
|
|
241
231
|
|
|
242
|
-
function _bountyFor(
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
{
|
|
232
|
+
function _bountyFor(
|
|
233
|
+
address _invitee,
|
|
234
|
+
bool isSingleBounty
|
|
235
|
+
) internal returns (uint256 bounty) {
|
|
246
236
|
address invitedBy = users[_invitee].invitedBy;
|
|
247
237
|
uint256 joinedAt = users[_invitee].joinedAt;
|
|
248
238
|
Level memory level = levels[users[invitedBy].level];
|
|
@@ -317,7 +307,7 @@ contract InvitesV2 is DAOUpgradeableContract {
|
|
|
317
307
|
|
|
318
308
|
function end() public ownerOrAvatar isActive {
|
|
319
309
|
uint256 gdBalance = goodDollar.balanceOf(address(this));
|
|
320
|
-
goodDollar.transfer(
|
|
310
|
+
goodDollar.transfer(msg.sender, gdBalance);
|
|
321
311
|
payable(msg.sender).transfer(address(this).balance);
|
|
322
312
|
active = false;
|
|
323
313
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddollar/goodprotocol",
|
|
3
|
-
"version": "2.0.5-beta.
|
|
3
|
+
"version": "2.0.5-beta.6",
|
|
4
4
|
"description": "GoodDollar Protocol",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepack": "npm run minimize",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"@gnosis.pm/safe-core-sdk-types": "^1.7.0",
|
|
80
80
|
"@gnosis.pm/safe-ethers-lib": "^1.7.0",
|
|
81
81
|
"@gnosis.pm/safe-service-client": "^1.4.0",
|
|
82
|
-
"@nomicfoundation/hardhat-network-helpers": "^1.0.
|
|
82
|
+
"@nomicfoundation/hardhat-network-helpers": "^1.0.8",
|
|
83
83
|
"@nomiclabs/hardhat-ethers": "^2.2.1",
|
|
84
84
|
"@nomiclabs/hardhat-etherscan": "^3.1.0",
|
|
85
85
|
"@nomiclabs/hardhat-waffle": "^2.0.3",
|
package/releases/deployment.json
CHANGED
|
@@ -439,7 +439,8 @@
|
|
|
439
439
|
"GuardiansSafe": "0x5878123fe880881f1Ecc92D5fd31e5D3F5Fba2e9",
|
|
440
440
|
"IdentityOld": "0xFa8d865A962ca8456dF331D78806152d3aC5B84F",
|
|
441
441
|
"MultichainRouter": "0x735aBE48e8782948a37C7765ECb76b98CdE97B0F",
|
|
442
|
-
"GoodDollarMintBurnWrapper": "0x031b2B7C7854dd8EE9C4A644D7e54aD17F56e3cB"
|
|
442
|
+
"GoodDollarMintBurnWrapper": "0x031b2B7C7854dd8EE9C4A644D7e54aD17F56e3cB",
|
|
443
|
+
"CommunitySafe": "0x5Eb5f5fE13d1D5e6440DbD5913412299Bc5B5564"
|
|
443
444
|
},
|
|
444
445
|
"pre-production-celo": {
|
|
445
446
|
"ProxyFactory": "0x99C22e78A579e2176311c736C4c9F0b0D5A47806",
|
|
@@ -477,7 +478,8 @@
|
|
|
477
478
|
"Faucet": "0x4F93Fa058b03953C851eFaA2e4FC5C34afDFAb84",
|
|
478
479
|
"Invites": "0x36829D1Cda92FFF5782d5d48991620664FC857d3",
|
|
479
480
|
"UBIScheme": "0x43d72Ff17701B2DA814620735C39C620Ce0ea4A1",
|
|
480
|
-
"OneTimePayments": "0xB27D247f5C2a61D2Cb6b6E67FEE51d839447e97d"
|
|
481
|
+
"OneTimePayments": "0xB27D247f5C2a61D2Cb6b6E67FEE51d839447e97d",
|
|
482
|
+
"SwapHelper": "0xE45CaB86609a16dFaDec112FDd61E4EA80EdaA8D"
|
|
481
483
|
},
|
|
482
484
|
"gnosis": {
|
|
483
485
|
"GuardiansSafe": "0x84c10b45fe51bfb4f86c19a47fdbc187d4572fb8"
|
|
@@ -143,6 +143,7 @@ export const executeViaGuardian = async (
|
|
|
143
143
|
let release: { [key: string]: any } = dao[network || networkName];
|
|
144
144
|
const ctrl = await (await ethers.getContractAt("Controller", release.Controller)).connect(guardian);
|
|
145
145
|
|
|
146
|
+
const results = [];
|
|
146
147
|
for (let i = 0; i < contracts.length; i++) {
|
|
147
148
|
const contract = contracts[i];
|
|
148
149
|
console.log("executing:", contracts[i], functionSigs[i], functionInputs[i]);
|
|
@@ -151,7 +152,11 @@ export const executeViaGuardian = async (
|
|
|
151
152
|
if (contract === ctrl.address) {
|
|
152
153
|
console.log("executing directly on controller:", sigHash, encoded);
|
|
153
154
|
|
|
154
|
-
|
|
155
|
+
const tx = await guardian
|
|
156
|
+
.sendTransaction({ to: contract, data: encoded })
|
|
157
|
+
.then(printDeploy)
|
|
158
|
+
.then(_ => _.wait());
|
|
159
|
+
results.push(tx);
|
|
155
160
|
} else {
|
|
156
161
|
const simulationResult = await ctrl.callStatic.genericCall(contract, encoded, release.Avatar, ethValues[i], {
|
|
157
162
|
from: await guardian.getAddress()
|
|
@@ -162,9 +167,15 @@ export const executeViaGuardian = async (
|
|
|
162
167
|
simulationResult
|
|
163
168
|
});
|
|
164
169
|
if (simulationResult[0] === false) throw new Error("simulation failed:" + contract);
|
|
165
|
-
|
|
170
|
+
const tx = await ctrl
|
|
171
|
+
.genericCall(contract, encoded, release.Avatar, ethValues[i])
|
|
172
|
+
.then(printDeploy)
|
|
173
|
+
.then(_ => _.wait());
|
|
174
|
+
// console.log("generic call events:", tx.events);
|
|
175
|
+
results.push(tx);
|
|
166
176
|
}
|
|
167
177
|
}
|
|
178
|
+
return results;
|
|
168
179
|
};
|
|
169
180
|
|
|
170
181
|
export const executeViaSafe = async (
|