@gooddollar/goodprotocol 2.0.13 → 2.0.14-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/DistributionBridgeMock.min.json +1 -1
- package/artifacts/abis/DistributionHelper.min.json +1 -1
- package/artifacts/abis/DistributionHelperTest.min.json +1 -1
- package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -1
- package/artifacts/abis/GasPriceMockOracle.min.json +1 -1
- package/artifacts/abis/GoodCompoundStakingTest.min.json +1 -1
- package/artifacts/abis/GoodReserveCDai.min.json +1 -1
- package/artifacts/abis/IFeesFormula.min.json +1 -1
- package/artifacts/abis/ISuperGoodDollar.min.json +1 -1
- package/artifacts/abis/ISuperToken.min.json +1 -0
- package/artifacts/abis/MultichainFeeFormula.min.json +1 -0
- package/artifacts/abis/SuperGoodDollar.min.json +1 -1
- package/artifacts/abis/SuperToken.min.json +1 -1
- package/artifacts/abis/UBIScheme.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/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/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 +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/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/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 +122 -17
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +242 -17
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +256 -18
- 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 +15 -2
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +6 -6
- 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/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +242 -17
- 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 +45 -19
- 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/IFeesFormula.sol/IFeesFormula.dbg.json +4 -0
- package/artifacts/contracts/token/{FeesFormula.sol → IFeesFormula.sol}/IFeesFormula.json +1 -1
- package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +4 -0
- package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.json +58 -0
- 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/ISuperGoodDollar.sol/ISuperGoodDollar.json +159 -5
- package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +4 -0
- package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.json +1609 -0
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +233 -190
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.json +198 -193
- 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 +20 -2
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +20 -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/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/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +2 -2
- 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/ISwapRouter.dbg.json +1 -1
- 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/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/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/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/contracts/invite/InvitesFuseV2.sol +3 -2
- package/contracts/mocks/DistributionBridgeMock.sol +42 -15
- package/contracts/mocks/DistributionHelperTest.sol +6 -2
- package/contracts/mocks/FeesFormularMock.sol +14 -14
- package/contracts/mocks/GasPriceMockOracle.sol +7 -1
- package/contracts/reserve/DistributionHelper.sol +147 -23
- package/contracts/reserve/GoodReserveCDai.sol +39 -47
- package/contracts/staking/GoodFundManager.sol +18 -37
- package/contracts/token/GoodDollar.sol +11 -16
- package/contracts/token/MultichainFeeFormula.sol +34 -0
- package/contracts/token/superfluid/ConstantFlowNFTs.sol +3 -0
- package/contracts/token/superfluid/ISuperGoodDollar.sol +4 -5
- package/contracts/token/superfluid/ISuperToken.sol +464 -0
- package/contracts/token/superfluid/SuperGoodDollar.sol +408 -376
- package/contracts/token/superfluid/SuperToken.sol +144 -144
- package/contracts/ubi/UBIScheme.sol +9 -5
- package/contracts/ubi/UBISchemeV2.sol +6 -0
- package/contracts/utils/AdminWallet.sol +2 -1
- package/contracts/utils/AdminWalletFuse.sol +2 -1
- package/contracts/utils/BuyAndBridgeHelper.sol +13 -13
- package/contracts/utils/MultiCall.sol +8 -10
- package/dist/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +2 -2
- package/dist/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +233 -190
- package/dist/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +2 -2
- package/dist/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
- package/hardhat.config.ts +46 -15
- package/package.json +7 -7
- package/releases/deploy-settings.json +3 -1
- package/releases/deployment.json +6 -2
- package/scripts/analytics/faucetStats.ts +19 -15
- package/scripts/fv.ts +305 -0
- package/scripts/multichain-deploy/1_basicdao-deploy.ts +18 -9
- package/scripts/multichain-deploy/helpers.ts +204 -64
- package/scripts/proposals/gip-15.ts +427 -0
- package/scripts/upgrades/multichain-formula-upgrade.ts +140 -0
- package/scripts/upgrades/restoreFunds.ts +91 -0
- package/scripts/upgrades/superfluid-nft-celo-gas-token.ts +159 -0
- package/scripts/utils.ts +15 -0
- package/test/helpers.ts +73 -10
- package/test/reserve/DistributionHelper.test.ts +183 -218
- package/test/reserve/GoodReserveCDai.distribution.test.ts +21 -144
- package/test/reserve/GoodReserveCDai.test.ts +98 -302
- package/test/staking/StakingRewards.test.ts +324 -936
- package/test/token/CeloGasToken.test.ts +108 -0
- package/test/token/SuperGoodDollar.test.ts +15 -6
- package/test/utils/AdminWallet.test.ts +97 -38
- package/test/utils/BuyAndBridgeHelper.test.ts +9 -33
- package/truffle-config.js +24 -6
- package/types/ConstantInflowNFT.ts +969 -0
- package/types/ConstantOutflowNFT.ts +1031 -0
- package/types/DistributionBridgeMock.ts +203 -70
- package/types/DistributionHelper.ts +325 -30
- package/types/DistributionHelperTest.ts +325 -30
- package/types/DistributionHelperTestHelper.ts +355 -35
- package/types/FlowNFTBase.ts +887 -0
- package/types/GasPriceMockOracle.ts +29 -0
- package/types/GoodReserveCDai.ts +79 -20
- package/types/IConstantFlowAgreementV1.ts +1391 -0
- package/types/IConstantInflowNFT.ts +772 -0
- package/types/IConstantOutflowNFT.ts +834 -0
- package/types/IERC721.ts +487 -0
- package/types/IERC721Metadata.ts +538 -0
- package/types/IFlowNFTBase.ts +711 -0
- package/types/IInstantDistributionAgreementV1.ts +1183 -0
- package/types/ILayerZeroFeeEstimator.ts +136 -0
- package/types/IMessagePassingBridge.ts +774 -0
- package/types/ISETH.ts +2668 -0
- package/types/ISETHCustom.ts +161 -0
- package/types/ISuperGoodDollar.ts +277 -25
- package/types/ISuperToken.ts +202 -346
- package/types/ISuperfluid.ts +7 -2
- package/types/ISuperfluidGovernance.ts +40 -5
- package/types/MultichainFeeFormula.ts +130 -0
- package/types/SuperGoodDollar.ts +383 -349
- package/types/SuperToken.ts +319 -344
- package/types/UBIScheme.ts +36 -0
- package/types/UBISchemeV2.ts +36 -0
- package/types/factories/AaveMock__factory.ts +1 -1
- package/types/factories/AaveStakingFactory__factory.ts +1 -1
- package/types/factories/AaveUSDMockOracle__factory.ts +1 -1
- package/types/factories/AdminWalletFuse__factory.ts +1 -1
- package/types/factories/AdminWallet__factory.ts +1 -1
- package/types/factories/BancorFormula__factory.ts +1 -1
- package/types/factories/BaseShareFieldV2__factory.ts +1 -1
- package/types/factories/BaseShareField__factory.ts +1 -1
- package/types/factories/BatUSDMockOracle__factory.ts +1 -1
- package/types/factories/BuyAndBridgeHelper__factory.ts +1 -1
- package/types/factories/BuyGDCloneFactory__factory.ts +1 -1
- package/types/factories/BuyGDClone__factory.ts +1 -1
- package/types/factories/CBATMock__factory.ts +1 -1
- package/types/factories/CDAILowWorthMock__factory.ts +1 -1
- package/types/factories/CDAIMock__factory.ts +1 -1
- package/types/factories/CDAINonMintableMock__factory.ts +1 -1
- package/types/factories/CDecimalsMock__factory.ts +1 -1
- package/types/factories/CSDTMock__factory.ts +1 -1
- package/types/factories/CUSDCMock__factory.ts +1 -1
- package/types/factories/ClaimersDistribution__factory.ts +1 -1
- package/types/factories/CompUSDMockOracle__factory.ts +1 -1
- package/types/factories/CompoundStakingFactory__factory.ts +1 -1
- package/types/factories/CompoundVotingMachine__factory.ts +1 -1
- package/types/factories/ConstantInflowNFT__factory.ts +758 -0
- package/types/factories/ConstantOutflowNFT__factory.ts +817 -0
- package/types/factories/DAIMock__factory.ts +1 -1
- package/types/factories/DAOContract__factory.ts +1 -1
- package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
- package/types/factories/DaiEthPriceMockOracle__factory.ts +1 -1
- package/types/factories/DecimalsMock__factory.ts +1 -1
- package/types/factories/DistributionBridgeMock__factory.ts +121 -16
- package/types/factories/DistributionHelperTestHelper__factory.ts +255 -17
- package/types/factories/DistributionHelperTest__factory.ts +241 -16
- package/types/factories/DistributionHelper__factory.ts +241 -16
- package/types/factories/DonationsStaking__factory.ts +1 -1
- package/types/factories/ERC1967Proxy__factory.ts +1 -1
- package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +1 -1
- package/types/factories/ERC20Upgradeable__factory.ts +1 -1
- package/types/factories/EthUSDMockOracle__factory.ts +1 -1
- package/types/factories/EventsEmitter__factory.ts +1 -1
- package/types/factories/ExchangeHelper__factory.ts +1 -1
- package/types/factories/Faucet__factory.ts +1 -1
- package/types/factories/FeesFormulaMock__factory.ts +1 -1
- package/types/factories/FlowNFTBase__factory.ts +642 -0
- 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/GDFaucet__factory.ts +1 -1
- package/types/factories/GReputation__factory.ts +1 -1
- package/types/factories/GasPriceMockOracle__factory.ts +14 -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 +44 -18
- package/types/factories/GovernanceStaking__factory.ts +1 -1
- package/types/factories/IConstantFlowAgreementV1__factory.ts +1064 -0
- package/types/factories/IConstantInflowNFT__factory.ts +551 -0
- package/types/factories/IConstantOutflowNFT__factory.ts +614 -0
- package/types/factories/IERC721Metadata__factory.ts +356 -0
- package/types/factories/IERC721__factory.ts +308 -0
- package/types/factories/IFlowNFTBase__factory.ts +512 -0
- package/types/factories/IInstantDistributionAgreementV1__factory.ts +1015 -0
- package/types/factories/ILayerZeroFeeEstimator__factory.ts +79 -0
- package/types/factories/IMessagePassingBridge__factory.ts +446 -0
- package/types/factories/ISETHCustom__factory.ts +56 -0
- package/types/factories/ISETH__factory.ts +1866 -0
- package/types/factories/ISuperGoodDollar__factory.ts +159 -5
- package/types/factories/ISuperTokenFactory__factory.ts +5 -0
- package/types/factories/ISuperToken__factory.ts +130 -191
- package/types/factories/ISuperfluidGovernance__factory.ts +23 -5
- package/types/factories/ISuperfluid__factory.ts +10 -0
- package/types/factories/IdentityFix__factory.ts +1 -1
- package/types/factories/IdentityMock__factory.ts +1 -1
- package/types/factories/IdentityV2__factory.ts +1 -1
- package/types/factories/IncentiveControllerMock__factory.ts +1 -1
- package/types/factories/InvitesFuseV2__factory.ts +1 -1
- package/types/factories/InvitesV1__factory.ts +1 -1
- package/types/factories/InvitesV2__factory.ts +1 -1
- package/types/factories/LendingPoolMock__factory.ts +1 -1
- package/types/factories/Multicall__factory.ts +1 -1
- package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
- package/types/factories/MultichainFeeFormula__factory.ts +113 -0
- package/types/factories/MultichainRouterMock__factory.ts +1 -1
- package/types/factories/NameService__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/PayableMock__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/ProxyFactory1967__factory.ts +1 -1
- package/types/factories/ReputationTestHelper__factory.ts +1 -1
- package/types/factories/Reputation__factory.ts +1 -1
- package/types/factories/SixteenDecimalsTokenMock__factory.ts +1 -1
- package/types/factories/StakersDistribution__factory.ts +1 -1
- package/types/factories/StakingMockFixedAPY__factory.ts +1 -1
- package/types/factories/SuperGoodDollar__factory.ts +230 -187
- package/types/factories/SuperToken__factory.ts +197 -192
- package/types/factories/SwapHelperTest__factory.ts +1 -1
- package/types/factories/TwentyDecimalsTokenMock__factory.ts +1 -1
- package/types/factories/UBISchemeV2__factory.ts +19 -1
- package/types/factories/UBIScheme__factory.ts +19 -1
- package/types/factories/USDCMock__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/types/hardhat.d.ts +166 -4
- package/types/index.ts +34 -4
- package/yarn.lock +1288 -719
- package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +0 -4
- /package/contracts/token/{FeesFormula.sol → IFeesFormula.sol} +0 -0
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"type": "receive"
|
|
26
26
|
}
|
|
27
27
|
],
|
|
28
|
-
"bytecode": "
|
|
29
|
-
"deployedBytecode": "
|
|
28
|
+
"bytecode": "0x608060405234801561001057600080fd5b50610205806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f61005436600461017f565b61006b565b610069610064610139565b610148565b565b6001600160a01b0381166100c05760405162461bcd60e51b81526020600482015260176024820152765555505350726f78793a207a65726f206164647265737360481b60448201526064015b60405180910390fd5b60006100ca61016c565b6001600160a01b0316146101205760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100b7565b610136816000805160206101b083398151915255565b50565b600061014361016c565b905090565b3660008037600080366000845af43d6000803e808015610167573d6000f35b3d6000fd5b6000805160206101b08339815191525490565b60006020828403121561019157600080fd5b81356001600160a01b03811681146101a857600080fd5b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b48e02e4256692ddd57978567346294d57005610331d3e09527ffe184951249d64736f6c63430008130033",
|
|
29
|
+
"deployedBytecode": "0x6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f61005436600461017f565b61006b565b610069610064610139565b610148565b565b6001600160a01b0381166100c05760405162461bcd60e51b81526020600482015260176024820152765555505350726f78793a207a65726f206164647265737360481b60448201526064015b60405180910390fd5b60006100ca61016c565b6001600160a01b0316146101205760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100b7565b610136816000805160206101b083398151915255565b50565b600061014361016c565b905090565b3660008037600080366000845af43d6000803e808015610167573d6000f35b3d6000fd5b6000805160206101b08339815191525490565b60006020828403121561019157600080fd5b81356001600160a01b03811681146101a857600080fd5b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b48e02e4256692ddd57978567346294d57005610331d3e09527ffe184951249d64736f6c63430008130033",
|
|
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": "0x608060405234801561001057600080fd5b506105a6806100206000396000f3fe6080604052600436106100225760003560e01c8063d1f578941461003957610031565b366100315761002f61004c565b005b61002f61004c565b61002f6100473660046103ef565b61005e565b61005c61005761013d565b61014c565b565b6000610068610170565b6001600160a01b0316146100b15760405162461bcd60e51b815260206004820152600b60248201526a1a5b9a5d1a585b1a5e995960aa1b60448201526064015b60405180910390fd5b6100dc60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61047f565b60008051602061052a833981519152146100f8576100f86104a0565b6101388383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061018c915050565b505050565b6000610147610170565b905090565b3660008037600080366000845af43d6000803e80801561016b573d6000f35b3d6000fd5b60008051602061052a833981519152546001600160a01b031690565b610195836101b7565b6000825111806101a25750805b15610138576101b183836101f7565b50505050565b6101c081610225565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061021c838360405180606001604052806027815260200161054a602791396102bf565b90505b92915050565b61022e81610337565b6102905760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016100a8565b60008051602061052a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516102dc91906104da565b600060405180830381855af49150503d8060008114610317576040519150601f19603f3d011682016040523d82523d6000602084013e61031c565b606091505b509150915061032d86838387610346565b9695505050505050565b6001600160a01b03163b151590565b606083156103b35782516000036103ac5761036085610337565b6103ac5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016100a8565b50816103bd565b6103bd83836103c5565b949350505050565b8151156103d55781518083602001fd5b8060405162461bcd60e51b81526004016100a891906104f6565b60008060006040848603121561040457600080fd5b83356001600160a01b038116811461041b57600080fd5b925060208401356001600160401b038082111561043757600080fd5b818601915086601f83011261044b57600080fd5b81358181111561045a57600080fd5b87602082850101111561046c57600080fd5b6020830194508093505050509250925092565b8181038181111561021f57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60005b838110156104d15781810151838201526020016104b9565b50506000910152565b600082516104ec8184602087016104b6565b9190910192915050565b60208152600082518060208401526105158160408501602087016104b6565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122018fac2684b810c24d0dea31441e713f82c78108031e90f41790df0827a4bb36264736f6c63430008130033",
|
|
79
|
+
"deployedBytecode": "0x6080604052600436106100225760003560e01c8063d1f578941461003957610031565b366100315761002f61004c565b005b61002f61004c565b61002f6100473660046103ef565b61005e565b61005c61005761013d565b61014c565b565b6000610068610170565b6001600160a01b0316146100b15760405162461bcd60e51b815260206004820152600b60248201526a1a5b9a5d1a585b1a5e995960aa1b60448201526064015b60405180910390fd5b6100dc60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61047f565b60008051602061052a833981519152146100f8576100f86104a0565b6101388383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061018c915050565b505050565b6000610147610170565b905090565b3660008037600080366000845af43d6000803e80801561016b573d6000f35b3d6000fd5b60008051602061052a833981519152546001600160a01b031690565b610195836101b7565b6000825111806101a25750805b15610138576101b183836101f7565b50505050565b6101c081610225565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061021c838360405180606001604052806027815260200161054a602791396102bf565b90505b92915050565b61022e81610337565b6102905760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016100a8565b60008051602061052a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516102dc91906104da565b600060405180830381855af49150503d8060008114610317576040519150601f19603f3d011682016040523d82523d6000602084013e61031c565b606091505b509150915061032d86838387610346565b9695505050505050565b6001600160a01b03163b151590565b606083156103b35782516000036103ac5761036085610337565b6103ac5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016100a8565b50816103bd565b6103bd83836103c5565b949350505050565b8151156103d55781518083602001fd5b8060405162461bcd60e51b81526004016100a891906104f6565b60008060006040848603121561040457600080fd5b83356001600160a01b038116811461041b57600080fd5b925060208401356001600160401b038082111561043757600080fd5b818601915086601f83011261044b57600080fd5b81358181111561045a57600080fd5b87602082850101111561046c57600080fd5b6020830194508093505050509250925092565b8181038181111561021f57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60005b838110156104d15781810151838201526020016104b9565b50506000910152565b600082516104ec8184602087016104b6565b9190910192915050565b60208152600082518060208401526105158160408501602087016104b6565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122018fac2684b810c24d0dea31441e713f82c78108031e90f41790df0827a4bb36264736f6c63430008130033",
|
|
80
80
|
"linkReferences": {},
|
|
81
81
|
"deployedLinkReferences": {}
|
|
82
82
|
}
|
package/hardhat.config.ts
CHANGED
|
@@ -17,15 +17,21 @@ import { airdrop } from "./scripts/governance/airdropCalculationSorted";
|
|
|
17
17
|
import { airdrop as repAirdropRecover } from "./scripts/governance/airdropCalculationRecover";
|
|
18
18
|
import { airdrop as goodCheckpoint } from "./scripts/governance/goodCheckpointSorted";
|
|
19
19
|
|
|
20
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
airdrop as gdxAirdrop,
|
|
22
|
+
airdropRecover as gdxAirdropRecover
|
|
23
|
+
} from "./scripts/gdx/gdxAirdropCalculation";
|
|
21
24
|
import { sumStakersGdRewards } from "./scripts/staking/stakersGdRewardsCalculation";
|
|
22
25
|
import { verify } from "./scripts/verify";
|
|
23
26
|
import { ethers } from "ethers";
|
|
24
27
|
import { fstat, readFileSync, writeFileSync } from "fs";
|
|
25
28
|
config();
|
|
26
29
|
|
|
27
|
-
const mnemonic =
|
|
28
|
-
|
|
30
|
+
const mnemonic =
|
|
31
|
+
process.env.MNEMONIC ||
|
|
32
|
+
"test test test test test test test test test test test junk";
|
|
33
|
+
const deployerPrivateKey =
|
|
34
|
+
process.env.PRIVATE_KEY || ethers.utils.hexZeroPad("0x11", 32);
|
|
29
35
|
const infura_api = process.env.INFURA_API;
|
|
30
36
|
const alchemy_key = process.env.ALCHEMY_KEY;
|
|
31
37
|
const etherscan_key = process.env.ETHERSCAN_KEY;
|
|
@@ -46,7 +52,7 @@ const goerli = {
|
|
|
46
52
|
// console.log({ mnemonic: sha3(mnemonic) });
|
|
47
53
|
const hhconfig: HardhatUserConfig = {
|
|
48
54
|
solidity: {
|
|
49
|
-
version: "0.8.
|
|
55
|
+
version: "0.8.19",
|
|
50
56
|
settings: {
|
|
51
57
|
optimizer: {
|
|
52
58
|
enabled: true,
|
|
@@ -90,7 +96,9 @@ const hhconfig: HardhatUserConfig = {
|
|
|
90
96
|
|
|
91
97
|
networks: {
|
|
92
98
|
hardhat: {
|
|
93
|
-
chainId: process.env.FORK_CHAIN_ID
|
|
99
|
+
chainId: process.env.FORK_CHAIN_ID
|
|
100
|
+
? Number(process.env.FORK_CHAIN_ID)
|
|
101
|
+
: 4447,
|
|
94
102
|
allowUnlimitedContractSize: true,
|
|
95
103
|
accounts: {
|
|
96
104
|
accountsBalance: "10000000000000000000000000"
|
|
@@ -102,7 +110,7 @@ const hhconfig: HardhatUserConfig = {
|
|
|
102
110
|
},
|
|
103
111
|
fork: {
|
|
104
112
|
chainId: 1,
|
|
105
|
-
url: "https://rpc.vnet.tenderly.co/devnet/reserve-ujpgrade/
|
|
113
|
+
url: "https://rpc.vnet.tenderly.co/devnet/reserve-ujpgrade/b4c1e3d8-c03e-49a5-b3ef-eac8499c9f0d"
|
|
106
114
|
},
|
|
107
115
|
test: {
|
|
108
116
|
allowUnlimitedContractSize: true,
|
|
@@ -199,7 +207,7 @@ const hhconfig: HardhatUserConfig = {
|
|
|
199
207
|
"production-mainnet": {
|
|
200
208
|
accounts: [deployerPrivateKey],
|
|
201
209
|
url: MAINNET_URL,
|
|
202
|
-
gas: 3000000,
|
|
210
|
+
// gas: 3000000,
|
|
203
211
|
gasPrice: 15000000000,
|
|
204
212
|
chainId: 1
|
|
205
213
|
},
|
|
@@ -223,6 +231,12 @@ const hhconfig: HardhatUserConfig = {
|
|
|
223
231
|
url: `https://alfajores-forno.celo-testnet.org`,
|
|
224
232
|
gasPrice: 5000000000
|
|
225
233
|
},
|
|
234
|
+
"alfajores-fork": {
|
|
235
|
+
accounts: { mnemonic },
|
|
236
|
+
chainId: 44787,
|
|
237
|
+
url: `http://127.0.0.1:8545`,
|
|
238
|
+
gasPrice: 5000000000
|
|
239
|
+
},
|
|
226
240
|
"staging-celo": {
|
|
227
241
|
accounts: { mnemonic },
|
|
228
242
|
url: "https://forno.celo.org",
|
|
@@ -262,7 +276,10 @@ task("repAirdrop", "Calculates airdrop data and merkle tree")
|
|
|
262
276
|
const actions = airdrop(hre.ethers, ethplorer_key, etherscan_key);
|
|
263
277
|
switch (taskArgs.action) {
|
|
264
278
|
case "calculate":
|
|
265
|
-
return actions.collectAirdropData(
|
|
279
|
+
return actions.collectAirdropData(
|
|
280
|
+
taskArgs.fusesnapshotblock,
|
|
281
|
+
taskArgs.ethsnapshotblock
|
|
282
|
+
);
|
|
266
283
|
case "tree":
|
|
267
284
|
return actions.buildMerkleTree();
|
|
268
285
|
case "proof":
|
|
@@ -272,7 +289,10 @@ task("repAirdrop", "Calculates airdrop data and merkle tree")
|
|
|
272
289
|
}
|
|
273
290
|
});
|
|
274
291
|
|
|
275
|
-
task(
|
|
292
|
+
task(
|
|
293
|
+
"repAirdropRecover",
|
|
294
|
+
"Calculates airdrop data and merkle tree after critical bug"
|
|
295
|
+
)
|
|
276
296
|
.addParam("action", "calculate/tree/proof")
|
|
277
297
|
.addOptionalPositionalParam("address", "proof for address")
|
|
278
298
|
.setAction(async (taskArgs, hre) => {
|
|
@@ -321,7 +341,10 @@ task("gdxAirdropRecover", "Calculates new airdrop data for recovery")
|
|
|
321
341
|
}
|
|
322
342
|
});
|
|
323
343
|
|
|
324
|
-
task(
|
|
344
|
+
task(
|
|
345
|
+
"goodCheckpoint",
|
|
346
|
+
"Calculates good checkpoint data and merkle tree for GOOD sync"
|
|
347
|
+
)
|
|
325
348
|
.addParam("action", "calculate/tree/proof")
|
|
326
349
|
.addOptionalPositionalParam("address", "proof for address")
|
|
327
350
|
.setAction(async (taskArgs, hre) => {
|
|
@@ -338,12 +361,17 @@ task("goodCheckpoint", "Calculates good checkpoint data and merkle tree for GOOD
|
|
|
338
361
|
}
|
|
339
362
|
});
|
|
340
363
|
|
|
341
|
-
task("verifyjson", "verify contracts on etherscan").setAction(
|
|
342
|
-
|
|
343
|
-
|
|
364
|
+
task("verifyjson", "verify contracts on etherscan").setAction(
|
|
365
|
+
async (taskArgs, hre) => {
|
|
366
|
+
return verify(hre);
|
|
367
|
+
}
|
|
368
|
+
);
|
|
344
369
|
export default hhconfig;
|
|
345
370
|
|
|
346
|
-
task(
|
|
371
|
+
task(
|
|
372
|
+
"sumStakersGdRewards",
|
|
373
|
+
"Sums the GoodDollar reward for each staker"
|
|
374
|
+
).setAction(async (taskArgs, hre) => {
|
|
347
375
|
const actions = sumStakersGdRewards(hre.ethers);
|
|
348
376
|
return actions.getStakersGdRewards();
|
|
349
377
|
});
|
|
@@ -356,7 +384,10 @@ task("cleanflat", "Cleans multiple SPDX and Pragma from flattened file")
|
|
|
356
384
|
});
|
|
357
385
|
|
|
358
386
|
// Remove every line started with "// SPDX-License-Identifier:"
|
|
359
|
-
flattened = flattened.replace(
|
|
387
|
+
flattened = flattened.replace(
|
|
388
|
+
/SPDX-License-Identifier:/gm,
|
|
389
|
+
"License-Identifier:"
|
|
390
|
+
);
|
|
360
391
|
|
|
361
392
|
flattened = `// SPDX-License-Identifier: MIXED\n\n${flattened}`;
|
|
362
393
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddollar/goodprotocol",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.14-beta.0",
|
|
4
4
|
"description": "GoodDollar Protocol",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": "18.x"
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
"@jsier/retrier": "^1.2.4",
|
|
67
67
|
"@openzeppelin/contracts": "^4.8.0",
|
|
68
68
|
"@openzeppelin/contracts-upgradeable": "^4.8.0",
|
|
69
|
-
"@openzeppelin/upgrades
|
|
70
|
-
"@superfluid-finance/ethereum-contracts": "^1.
|
|
69
|
+
"@openzeppelin/hardhat-upgrades": "^1.22.1",
|
|
70
|
+
"@superfluid-finance/ethereum-contracts": "^1.8.1",
|
|
71
71
|
"@superfluid-finance/sdk-core": "^0.5.8",
|
|
72
72
|
"@typechain/hardhat": "^6.1.5",
|
|
73
73
|
"async-promise-pool": "^1.0.4",
|
|
@@ -87,12 +87,12 @@
|
|
|
87
87
|
"@gnosis.pm/safe-core-sdk-types": "^1.7.0",
|
|
88
88
|
"@gnosis.pm/safe-ethers-lib": "^1.7.0",
|
|
89
89
|
"@gnosis.pm/safe-service-client": "^1.4.0",
|
|
90
|
+
"@gooddollar/bridge-contracts": "1.0.14-beta.7",
|
|
90
91
|
"@mean-finance/uniswap-v3-oracle": "^1.0.3",
|
|
91
92
|
"@nomicfoundation/hardhat-network-helpers": "^1.0.8",
|
|
92
93
|
"@nomiclabs/hardhat-ethers": "^2.2.1",
|
|
93
94
|
"@nomiclabs/hardhat-etherscan": "^3.1.0",
|
|
94
95
|
"@nomiclabs/hardhat-waffle": "^2.0.3",
|
|
95
|
-
"@openzeppelin/hardhat-upgrades": "^1.20.0",
|
|
96
96
|
"@swc/core": "^1.2.196",
|
|
97
97
|
"@swc/helpers": "^0.3.16",
|
|
98
98
|
"@typechain/ethers-v5": "^8.0.2",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"fs-extra": "9.0.0",
|
|
113
113
|
"graphql": "^15.5.0",
|
|
114
114
|
"graphql-request": "^3.4.0",
|
|
115
|
-
"hardhat": "^2.
|
|
115
|
+
"hardhat": "^2.17.3",
|
|
116
116
|
"hardhat-contract-sizer": "^2.6.1",
|
|
117
117
|
"hardhat-gas-reporter": "^1.0.8",
|
|
118
118
|
"hardhat-storage-layout": "^0.1.7",
|
|
@@ -125,8 +125,8 @@
|
|
|
125
125
|
"prompt": "^1.3.0",
|
|
126
126
|
"regenerator-runtime": "^0.13.9",
|
|
127
127
|
"solhint": "*",
|
|
128
|
-
"solidity-coverage": "^0.8.
|
|
129
|
-
"truffle": "^5.
|
|
128
|
+
"solidity-coverage": "^0.8.4",
|
|
129
|
+
"truffle": "^5.11.5",
|
|
130
130
|
"truffle-hdwallet-provider": "*",
|
|
131
131
|
"ts-generator": "^0.1.1",
|
|
132
132
|
"ts-node": "^10.8.0",
|
|
@@ -295,6 +295,8 @@
|
|
|
295
295
|
},
|
|
296
296
|
"gasPrice": 5e9,
|
|
297
297
|
"guardiansSafe": "0xC9D09BA972B4EB6Bb7347F2229FB6d50434fFCa6",
|
|
298
|
-
"superfluidHost": "0xA4Ff07cF81C02CFD356184879D953970cA957585"
|
|
298
|
+
"superfluidHost": "0xA4Ff07cF81C02CFD356184879D953970cA957585",
|
|
299
|
+
"superfluidInflowNFTLogic": "",
|
|
300
|
+
"superfluidOutflowNNFTLogic": ""
|
|
299
301
|
}
|
|
300
302
|
}
|
package/releases/deployment.json
CHANGED
|
@@ -408,7 +408,8 @@
|
|
|
408
408
|
"MultichainRouter": "0x765277eebeca2e31912c9946eae1021199b39c61",
|
|
409
409
|
"AnyGoodDollar": "0xd17652350cfd2a37ba2f947c910987a3b1a1c60d",
|
|
410
410
|
"GuardiansSafe": "0xE0c5daa7CC6F88d29505f702a53bb5E67600e7Ec",
|
|
411
|
-
"DistributionHelper": "0xAcadA0C9795fdBb6921AE96c4D7Db2F8B8c52Fd0"
|
|
411
|
+
"DistributionHelper": "0xAcadA0C9795fdBb6921AE96c4D7Db2F8B8c52Fd0",
|
|
412
|
+
"MpbBridge": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5"
|
|
412
413
|
},
|
|
413
414
|
"production": {
|
|
414
415
|
"ProxyFactory": "0xDa85fceD9Bd193526b7667F2AD1fD4A0F900d3A7",
|
|
@@ -440,7 +441,8 @@
|
|
|
440
441
|
"IdentityOld": "0xFa8d865A962ca8456dF331D78806152d3aC5B84F",
|
|
441
442
|
"MultichainRouter": "0x735aBE48e8782948a37C7765ECb76b98CdE97B0F",
|
|
442
443
|
"GoodDollarMintBurnWrapper": "0x031b2B7C7854dd8EE9C4A644D7e54aD17F56e3cB",
|
|
443
|
-
"CommunitySafe": "0x5Eb5f5fE13d1D5e6440DbD5913412299Bc5B5564"
|
|
444
|
+
"CommunitySafe": "0x5Eb5f5fE13d1D5e6440DbD5913412299Bc5B5564",
|
|
445
|
+
"MpbBridge": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5"
|
|
444
446
|
},
|
|
445
447
|
"pre-production-celo": {
|
|
446
448
|
"ProxyFactory": "0x99C22e78A579e2176311c736C4c9F0b0D5A47806",
|
|
@@ -481,6 +483,8 @@
|
|
|
481
483
|
"OneTimePayments": "0xB27D247f5C2a61D2Cb6b6E67FEE51d839447e97d",
|
|
482
484
|
"SwapHelper": "0xE45CaB86609a16dFaDec112FDd61E4EA80EdaA8D",
|
|
483
485
|
"UniswapV3Router": "0x5615CDAb10dc425a742d643d949a7F474C01abc4",
|
|
486
|
+
"CommunitySafe": "0x437C699887779D0A95aD6349CFDE7DFA716C005D",
|
|
487
|
+
"MpbBridge": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
|
|
484
488
|
"StaticOracle": "0x00851A91a3c4E9a4c1B48df827Bacc1f884bdE28",
|
|
485
489
|
"BuyGDFactory": "0x00e533B7d6255D05b7f15034B1c989c21F51b91C"
|
|
486
490
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { range, sortBy, toPairs } from "lodash";
|
|
1
|
+
import { get, range, sortBy, toPairs } from "lodash";
|
|
2
2
|
import PromisePool from "async-promise-pool";
|
|
3
3
|
import fs from "fs";
|
|
4
4
|
import { ethers } from "hardhat";
|
|
@@ -38,38 +38,38 @@ const main = async (isCelo = true) => {
|
|
|
38
38
|
faucetAddr
|
|
39
39
|
);
|
|
40
40
|
const endBlock = Number(await archive.getBlockNumber());
|
|
41
|
-
const daysBack =
|
|
41
|
+
const daysBack = 5;
|
|
42
42
|
const dayBlocks = 12 * 60 * 24;
|
|
43
43
|
const startBlock = endBlock - dayBlocks * daysBack;
|
|
44
44
|
const days = range(startBlock, endBlock, dayBlocks);
|
|
45
|
+
days.push(endBlock);
|
|
45
46
|
console.log({ startBlock, endBlock });
|
|
46
47
|
const dailyBalance = [];
|
|
47
48
|
const dailyAdminBalance = [];
|
|
48
49
|
for (let day of days) {
|
|
49
|
-
dailyBalance.push(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
dailyBalance.push(
|
|
51
|
+
await Promise.all([
|
|
52
|
+
archive.getBalance(faucetAddr, day).then(_ => _.div(1e10).toNumber() / 1e8),
|
|
53
|
+
archive.getBalance("0x7119CD89D4792aF90277d84cDffa3F2Ab22a0022", day).then(_ => _.div(1e10).toNumber() / 1e8)
|
|
54
|
+
])
|
|
55
|
+
);
|
|
53
56
|
console.log({ day });
|
|
54
57
|
}
|
|
55
58
|
|
|
56
|
-
for (let day of days) {
|
|
57
|
-
dailyAdminBalance.push((await archive.getBalance(adminAddr, day)).div(1e10).toNumber() / 1e8);
|
|
58
|
-
}
|
|
59
59
|
let curBlock = startBlock;
|
|
60
60
|
const toppingsByAddress = {};
|
|
61
61
|
const toppingsByAmount = {};
|
|
62
62
|
const toppingsByRelayer = {};
|
|
63
|
+
const toppingsPerDay = {};
|
|
63
64
|
let totalToppings = 0;
|
|
64
65
|
let totalAmount = 0;
|
|
65
|
-
const dailyUsage = dailyBalance.map((v, i) => (i < dailyBalance.length - 1 ? v - dailyBalance[i + 1] : 0));
|
|
66
|
-
const dailyAdminUsage =
|
|
67
|
-
|
|
68
|
-
);
|
|
66
|
+
const dailyUsage = dailyBalance.map((v, i) => (i < dailyBalance.length - 1 ? v[0] - dailyBalance[i + 1][0] : 0));
|
|
67
|
+
const dailyAdminUsage = dailyBalance.map((v, i) => (i < dailyBalance.length - 1 ? v[1] - dailyBalance[i + 1][1] : 0));
|
|
68
|
+
|
|
69
69
|
console.log({ dailyUsage, dailyAdminUsage });
|
|
70
70
|
fs.writeFileSync("celospend.csv", arrayToCsv(dailyBalance));
|
|
71
71
|
console.log(arrayToCsv(dailyBalance));
|
|
72
|
-
|
|
72
|
+
|
|
73
73
|
console.log({ startBlock, endBlock });
|
|
74
74
|
while (curBlock <= endBlock) {
|
|
75
75
|
const fromBlock = curBlock;
|
|
@@ -81,6 +81,8 @@ const main = async (isCelo = true) => {
|
|
|
81
81
|
return [];
|
|
82
82
|
});
|
|
83
83
|
events.forEach(e => {
|
|
84
|
+
const day = (e.blockNumber / dayBlocks).toFixed(0);
|
|
85
|
+
toppingsPerDay[day] = get(toppingsPerDay, day, 0) + 1;
|
|
84
86
|
totalToppings += 1;
|
|
85
87
|
totalAmount += Number(e.args.amount);
|
|
86
88
|
toppingsByAddress[e.args.whitelistedRoot] = (toppingsByAddress[e.args.whitelistedRoot] || 0) + 1;
|
|
@@ -108,6 +110,8 @@ const main = async (isCelo = true) => {
|
|
|
108
110
|
const avgToppingAmount = totalAmount / totalToppings;
|
|
109
111
|
|
|
110
112
|
console.log(topRelayers.slice(0, 50));
|
|
113
|
+
|
|
114
|
+
console.log(toppingsPerDay);
|
|
111
115
|
fs.writeFileSync("topToppers.csv", arrayToCsv(topToppers));
|
|
112
116
|
fs.writeFileSync("topAmounts.csv", arrayToCsv(topAmounts));
|
|
113
117
|
fs.writeFileSync("topRelayers.csv", arrayToCsv(topRelayers));
|
|
@@ -119,4 +123,4 @@ const main = async (isCelo = true) => {
|
|
|
119
123
|
avgToppingAmount
|
|
120
124
|
});
|
|
121
125
|
};
|
|
122
|
-
main().catch(e => console.log(e));
|
|
126
|
+
main(true).catch(e => console.log(e));
|