@gooddollar/goodprotocol 2.0.32 → 2.0.33-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/abis/BuyFromReserveHelper.min.json +1 -0
- package/artifacts/abis/SuperfluidFaucet.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/IQuoterV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.json +46 -28
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
- 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/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
- package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
- 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/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.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/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
- 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/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
- 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/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- 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/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
- 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/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- 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/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
- 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/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/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
- 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/GoodDollar.sol/GoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
- package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
- 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/UUPSUtils.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
- 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/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +4 -0
- package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.json +476 -0
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- 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/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
- package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
- 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/IdentityFix.sol/IdentityFix.dbg.json +1 -1
- package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
- 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/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
- 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/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
- package/contracts/fuseFaucet/SuperfluidFacuet.sol +29 -8
- package/contracts/utils/BuyFromReserveHelper.sol +129 -0
- package/package.json +1 -1
- package/releases/deployment.json +2 -1
- package/types/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.ts +79 -41
- package/types/contracts/utils/BuyFromReserveHelper.ts +699 -0
- package/types/contracts/utils/index.ts +1 -0
- package/types/factories/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet__factory.ts +45 -27
- package/types/factories/contracts/utils/BuyFromReserveHelper__factory.ts +566 -0
- package/types/factories/contracts/utils/index.ts +1 -0
- package/types/hardhat.d.ts +9 -0
- package/types/index.ts +2 -0
|
@@ -17,8 +17,6 @@ contract SuperfluidFaucet is
|
|
|
17
17
|
using SafeMathUpgradeable for uint256;
|
|
18
18
|
|
|
19
19
|
bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE");
|
|
20
|
-
uint public constant GAS_TOPPING_AMOUNT = 350000;
|
|
21
|
-
uint public constant FIRST_GAS_TOPPING_AMOUNT = 15e5;
|
|
22
20
|
|
|
23
21
|
uint256 public _deprecated;
|
|
24
22
|
uint256 public maxValuePerPeriod;
|
|
@@ -31,6 +29,9 @@ contract SuperfluidFaucet is
|
|
|
31
29
|
|
|
32
30
|
mapping(address => RecipientInfo) public recipientInfo;
|
|
33
31
|
|
|
32
|
+
uint public gasToppingAmount;
|
|
33
|
+
uint public firstGasToppingAmount;
|
|
34
|
+
|
|
34
35
|
event WalletTopped(address recipient, uint256 amount);
|
|
35
36
|
event SettingsUpdated(uint256 maxValuePerPeriod, uint256 toppingPeriod);
|
|
36
37
|
|
|
@@ -51,7 +52,9 @@ contract SuperfluidFaucet is
|
|
|
51
52
|
_setupRole(ADMIN_ROLE, msg.sender);
|
|
52
53
|
_grantRole(ADMIN_ROLE, _admin);
|
|
53
54
|
maxValuePerPeriod = _maxValuePerPeriod;
|
|
54
|
-
toppingPeriod = _toppingPeriod;
|
|
55
|
+
toppingPeriod = _toppingPeriod * 1 days;
|
|
56
|
+
gasToppingAmount = 500000;
|
|
57
|
+
firstGasToppingAmount = 20e5;
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
function updateSettings(
|
|
@@ -59,7 +62,7 @@ contract SuperfluidFaucet is
|
|
|
59
62
|
uint256 _toppingPeriod
|
|
60
63
|
) external onlyRole(ADMIN_ROLE) {
|
|
61
64
|
maxValuePerPeriod = _maxValuePerPeriod;
|
|
62
|
-
toppingPeriod = _toppingPeriod;
|
|
65
|
+
toppingPeriod = _toppingPeriod * 1 days;
|
|
63
66
|
emit SettingsUpdated(_maxValuePerPeriod, _toppingPeriod);
|
|
64
67
|
}
|
|
65
68
|
|
|
@@ -78,6 +81,11 @@ contract SuperfluidFaucet is
|
|
|
78
81
|
|
|
79
82
|
uint256 currentPeriod = block.timestamp / toppingPeriod;
|
|
80
83
|
|
|
84
|
+
// fix bug where period was divid by 30 and not by 30days, (for non effected users lsatWithdrawlPeriod will be < 57947235 for sure)
|
|
85
|
+
if (info.lastWithdrawalPeriod > 0 && info.lastWithdrawalPeriod > 57947235) {
|
|
86
|
+
if (currentPeriod > (info.lastWithdrawalPeriod * 30) / toppingPeriod)
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
81
89
|
if (currentPeriod > info.lastWithdrawalPeriod) {
|
|
82
90
|
return true; // New period, reset counters
|
|
83
91
|
}
|
|
@@ -97,15 +105,22 @@ contract SuperfluidFaucet is
|
|
|
97
105
|
return canTop(recipient, blockFee);
|
|
98
106
|
}
|
|
99
107
|
|
|
108
|
+
function updateGasToppingAmounts(
|
|
109
|
+
uint _gasToppingAmount,
|
|
110
|
+
uint _firstGasToppingAmount
|
|
111
|
+
) external onlyRole(ADMIN_ROLE) {
|
|
112
|
+
gasToppingAmount = _gasToppingAmount;
|
|
113
|
+
firstGasToppingAmount = _firstGasToppingAmount;
|
|
114
|
+
}
|
|
115
|
+
|
|
100
116
|
function getToppingValue(
|
|
101
117
|
bool firstTime,
|
|
102
118
|
uint baseFee
|
|
103
|
-
) public
|
|
119
|
+
) public view returns (uint) {
|
|
104
120
|
//top wallet with current base fee + 10% for priority fee and l1 fees
|
|
105
121
|
return
|
|
106
|
-
((firstTime ?
|
|
107
|
-
|
|
108
|
-
110) / 100;
|
|
122
|
+
((firstTime ? firstGasToppingAmount : gasToppingAmount) * baseFee * 110) /
|
|
123
|
+
100;
|
|
109
124
|
}
|
|
110
125
|
|
|
111
126
|
function topWallet(address payable recipient) external onlyRole(ADMIN_ROLE) {
|
|
@@ -115,6 +130,12 @@ contract SuperfluidFaucet is
|
|
|
115
130
|
uint amount = getToppingValue(firstTime, block.basefee);
|
|
116
131
|
uint256 currentPeriod = block.timestamp / toppingPeriod;
|
|
117
132
|
|
|
133
|
+
// fix bug where period was divid by 30 and not by 30days, (for non effected users lsatWithdrawlPeriod will be < 57947235 for sure)
|
|
134
|
+
if (info.lastWithdrawalPeriod > 0 && info.lastWithdrawalPeriod > 57947235) {
|
|
135
|
+
info.lastWithdrawalPeriod =
|
|
136
|
+
(info.lastWithdrawalPeriod * 30) /
|
|
137
|
+
toppingPeriod;
|
|
138
|
+
}
|
|
118
139
|
if (currentPeriod > info.lastWithdrawalPeriod) {
|
|
119
140
|
info.totalWithdrawnThisPeriod = 0;
|
|
120
141
|
info.lastWithdrawalPeriod = currentPeriod;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
import "../MentoInterfaces.sol";
|
|
5
|
+
import "@openzeppelin/contracts/access/AccessControl.sol";
|
|
6
|
+
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
7
|
+
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
8
|
+
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
|
|
9
|
+
|
|
10
|
+
contract BuyFromReserveHelper is AccessControl, ReentrancyGuard {
|
|
11
|
+
using SafeERC20 for IERC20;
|
|
12
|
+
|
|
13
|
+
bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE");
|
|
14
|
+
bytes32 public constant EXECUTOR_ROLE = keccak256("EXECUTOR_ROLE");
|
|
15
|
+
|
|
16
|
+
address public safe;
|
|
17
|
+
address public exchangeProvider;
|
|
18
|
+
bytes32 public exchangeId;
|
|
19
|
+
IERC20 public tokenIn;
|
|
20
|
+
IERC20 public tokenOut;
|
|
21
|
+
IBroker public broker;
|
|
22
|
+
|
|
23
|
+
event SafeUpdated(address indexed newSafe);
|
|
24
|
+
event SettingsUpdated(
|
|
25
|
+
address indexed exchangeProvider,
|
|
26
|
+
bytes32 indexed exchangeId
|
|
27
|
+
);
|
|
28
|
+
event GDBought(address indexed buyer, uint256 amountIn, uint256 amountOut);
|
|
29
|
+
|
|
30
|
+
constructor(
|
|
31
|
+
address _safe,
|
|
32
|
+
address _tokenIn,
|
|
33
|
+
address _tokenOut,
|
|
34
|
+
address _broker,
|
|
35
|
+
address _exchangeProvider,
|
|
36
|
+
bytes32 _exchangeId
|
|
37
|
+
) {
|
|
38
|
+
require(_safe != address(0), "Safe address cannot be zero");
|
|
39
|
+
require(_tokenIn != address(0), "TokenIn address cannot be zero");
|
|
40
|
+
require(_tokenOut != address(0), "TokenOut address cannot be zero");
|
|
41
|
+
require(_broker != address(0), "Broker address cannot be zero");
|
|
42
|
+
require(_exchangeProvider != address(0), "ExchangeProvider cannot be zero");
|
|
43
|
+
require(_exchangeId != bytes32(0), "ExchangeId cannot be zero");
|
|
44
|
+
|
|
45
|
+
safe = _safe;
|
|
46
|
+
tokenIn = IERC20(_tokenIn);
|
|
47
|
+
tokenOut = IERC20(_tokenOut);
|
|
48
|
+
broker = IBroker(_broker);
|
|
49
|
+
exchangeProvider = _exchangeProvider;
|
|
50
|
+
exchangeId = _exchangeId;
|
|
51
|
+
|
|
52
|
+
_setupRole(DEFAULT_ADMIN_ROLE, _safe);
|
|
53
|
+
_setupRole(EXECUTOR_ROLE, msg.sender);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function updateSafe(address _newSafe) external {
|
|
57
|
+
require(msg.sender == safe, "Only safe can update");
|
|
58
|
+
require(_newSafe != address(0), "New safe address cannot be zero");
|
|
59
|
+
|
|
60
|
+
// Update admin role
|
|
61
|
+
_revokeRole(DEFAULT_ADMIN_ROLE, safe);
|
|
62
|
+
_setupRole(DEFAULT_ADMIN_ROLE, _newSafe);
|
|
63
|
+
|
|
64
|
+
safe = _newSafe;
|
|
65
|
+
emit SafeUpdated(_newSafe);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function updateSettings(
|
|
69
|
+
address _exchangeProvider,
|
|
70
|
+
bytes32 _exchangeId,
|
|
71
|
+
address _tokenIn,
|
|
72
|
+
address _tokenOut,
|
|
73
|
+
address _broker
|
|
74
|
+
) external onlyRole(DEFAULT_ADMIN_ROLE) {
|
|
75
|
+
require(_exchangeProvider != address(0), "ExchangeProvider cannot be zero");
|
|
76
|
+
require(_exchangeId != bytes32(0), "ExchangeId cannot be zero");
|
|
77
|
+
require(_tokenIn != address(0), "TokenIn address cannot be zero");
|
|
78
|
+
require(_tokenOut != address(0), "TokenOut address cannot be zero");
|
|
79
|
+
require(_broker != address(0), "Broker address cannot be zero");
|
|
80
|
+
|
|
81
|
+
exchangeProvider = _exchangeProvider;
|
|
82
|
+
exchangeId = _exchangeId;
|
|
83
|
+
tokenIn = IERC20(_tokenIn);
|
|
84
|
+
tokenOut = IERC20(_tokenOut);
|
|
85
|
+
broker = IBroker(_broker);
|
|
86
|
+
|
|
87
|
+
emit SettingsUpdated(_exchangeProvider, _exchangeId);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function buyGdFromBroker(
|
|
91
|
+
uint256 amountInNominal,
|
|
92
|
+
uint256 minReturnNominal
|
|
93
|
+
) external onlyRole(EXECUTOR_ROLE) nonReentrant {
|
|
94
|
+
require(amountInNominal > 0, "Amount must be greater than zero");
|
|
95
|
+
require(minReturnNominal > 0, "Minimum return must be greater than zero");
|
|
96
|
+
|
|
97
|
+
uint256 amountIn = amountInNominal * 1e18;
|
|
98
|
+
uint256 minReturn = minReturnNominal * 1e18;
|
|
99
|
+
|
|
100
|
+
// assume minimum price for 0.00005 for G$ for safety check
|
|
101
|
+
require((amountIn * 1e18) / 5e13 >= minReturn, "minReturn seems too low");
|
|
102
|
+
|
|
103
|
+
// Transfer tokenIn from the safe to this contract
|
|
104
|
+
tokenIn.safeTransferFrom(safe, address(this), amountIn);
|
|
105
|
+
|
|
106
|
+
// Reset any existing approval
|
|
107
|
+
tokenIn.safeApprove(address(broker), 0);
|
|
108
|
+
// Approve the broker to spend tokenIn
|
|
109
|
+
tokenIn.safeApprove(address(broker), amountIn);
|
|
110
|
+
|
|
111
|
+
// Call the broker to buy tokenOut (G$)
|
|
112
|
+
uint256 amountOut = broker.swapIn(
|
|
113
|
+
exchangeProvider,
|
|
114
|
+
exchangeId,
|
|
115
|
+
address(tokenIn),
|
|
116
|
+
address(tokenOut),
|
|
117
|
+
amountIn,
|
|
118
|
+
minReturn
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
// Verify minimum return
|
|
122
|
+
require(amountOut >= minReturn, "Insufficient return amount");
|
|
123
|
+
|
|
124
|
+
// Transfer bought tokens to safe
|
|
125
|
+
tokenOut.safeTransfer(safe, amountOut);
|
|
126
|
+
|
|
127
|
+
emit GDBought(msg.sender, amountIn, amountOut);
|
|
128
|
+
}
|
|
129
|
+
}
|
package/package.json
CHANGED
package/releases/deployment.json
CHANGED
|
@@ -442,7 +442,8 @@
|
|
|
442
442
|
"MentoReserve": "0x94A3240f484A04F5e3d524f528d02694c109463b",
|
|
443
443
|
"MentoBroker": "0x88de45906D4F5a57315c133620cfa484cB297541",
|
|
444
444
|
"MentoUpgradeHelper": "0xc413cC6C58f0c290e89ddAeC83c2590017985eb7",
|
|
445
|
-
"CeloDistributionHelper": "0x6B845eFfAf36c374e8E7cf543Efa680f2F71F098"
|
|
445
|
+
"CeloDistributionHelper": "0x6B845eFfAf36c374e8E7cf543Efa680f2F71F098",
|
|
446
|
+
"CUSDExchangeId": "0xba77f5c7bb3317643c6d81d1ef3f9913561741d92095f88efa402faf2cbe9124"
|
|
446
447
|
},
|
|
447
448
|
"gnosis": { "GuardiansSafe": "0x84c10b45fe51bfb4f86c19a47fdbc187d4572fb8" },
|
|
448
449
|
"development-celo": {
|
|
@@ -31,11 +31,11 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
31
31
|
functions: {
|
|
32
32
|
"ADMIN_ROLE()": FunctionFragment;
|
|
33
33
|
"DEFAULT_ADMIN_ROLE()": FunctionFragment;
|
|
34
|
-
"FIRST_GAS_TOPPING_AMOUNT()": FunctionFragment;
|
|
35
|
-
"GAS_TOPPING_AMOUNT()": FunctionFragment;
|
|
36
34
|
"_deprecated()": FunctionFragment;
|
|
37
35
|
"canTop(address)": FunctionFragment;
|
|
38
36
|
"canTop(address,uint256)": FunctionFragment;
|
|
37
|
+
"firstGasToppingAmount()": FunctionFragment;
|
|
38
|
+
"gasToppingAmount()": FunctionFragment;
|
|
39
39
|
"getRoleAdmin(bytes32)": FunctionFragment;
|
|
40
40
|
"getToppingValue(bool,uint256)": FunctionFragment;
|
|
41
41
|
"grantRole(bytes32,address)": FunctionFragment;
|
|
@@ -49,6 +49,7 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
49
49
|
"supportsInterface(bytes4)": FunctionFragment;
|
|
50
50
|
"topWallet(address)": FunctionFragment;
|
|
51
51
|
"toppingPeriod()": FunctionFragment;
|
|
52
|
+
"updateGasToppingAmounts(uint256,uint256)": FunctionFragment;
|
|
52
53
|
"updateSettings(uint256,uint256)": FunctionFragment;
|
|
53
54
|
"upgradeTo(address)": FunctionFragment;
|
|
54
55
|
"upgradeToAndCall(address,bytes)": FunctionFragment;
|
|
@@ -59,11 +60,11 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
59
60
|
nameOrSignatureOrTopic:
|
|
60
61
|
| "ADMIN_ROLE"
|
|
61
62
|
| "DEFAULT_ADMIN_ROLE"
|
|
62
|
-
| "FIRST_GAS_TOPPING_AMOUNT"
|
|
63
|
-
| "GAS_TOPPING_AMOUNT"
|
|
64
63
|
| "_deprecated"
|
|
65
64
|
| "canTop(address)"
|
|
66
65
|
| "canTop(address,uint256)"
|
|
66
|
+
| "firstGasToppingAmount"
|
|
67
|
+
| "gasToppingAmount"
|
|
67
68
|
| "getRoleAdmin"
|
|
68
69
|
| "getToppingValue"
|
|
69
70
|
| "grantRole"
|
|
@@ -77,6 +78,7 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
77
78
|
| "supportsInterface"
|
|
78
79
|
| "topWallet"
|
|
79
80
|
| "toppingPeriod"
|
|
81
|
+
| "updateGasToppingAmounts"
|
|
80
82
|
| "updateSettings"
|
|
81
83
|
| "upgradeTo"
|
|
82
84
|
| "upgradeToAndCall"
|
|
@@ -91,14 +93,6 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
91
93
|
functionFragment: "DEFAULT_ADMIN_ROLE",
|
|
92
94
|
values?: undefined
|
|
93
95
|
): string;
|
|
94
|
-
encodeFunctionData(
|
|
95
|
-
functionFragment: "FIRST_GAS_TOPPING_AMOUNT",
|
|
96
|
-
values?: undefined
|
|
97
|
-
): string;
|
|
98
|
-
encodeFunctionData(
|
|
99
|
-
functionFragment: "GAS_TOPPING_AMOUNT",
|
|
100
|
-
values?: undefined
|
|
101
|
-
): string;
|
|
102
96
|
encodeFunctionData(
|
|
103
97
|
functionFragment: "_deprecated",
|
|
104
98
|
values?: undefined
|
|
@@ -111,6 +105,14 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
111
105
|
functionFragment: "canTop(address,uint256)",
|
|
112
106
|
values: [string, BigNumberish]
|
|
113
107
|
): string;
|
|
108
|
+
encodeFunctionData(
|
|
109
|
+
functionFragment: "firstGasToppingAmount",
|
|
110
|
+
values?: undefined
|
|
111
|
+
): string;
|
|
112
|
+
encodeFunctionData(
|
|
113
|
+
functionFragment: "gasToppingAmount",
|
|
114
|
+
values?: undefined
|
|
115
|
+
): string;
|
|
114
116
|
encodeFunctionData(
|
|
115
117
|
functionFragment: "getRoleAdmin",
|
|
116
118
|
values: [BytesLike]
|
|
@@ -160,6 +162,10 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
160
162
|
functionFragment: "toppingPeriod",
|
|
161
163
|
values?: undefined
|
|
162
164
|
): string;
|
|
165
|
+
encodeFunctionData(
|
|
166
|
+
functionFragment: "updateGasToppingAmounts",
|
|
167
|
+
values: [BigNumberish, BigNumberish]
|
|
168
|
+
): string;
|
|
163
169
|
encodeFunctionData(
|
|
164
170
|
functionFragment: "updateSettings",
|
|
165
171
|
values: [BigNumberish, BigNumberish]
|
|
@@ -177,23 +183,23 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
177
183
|
data: BytesLike
|
|
178
184
|
): Result;
|
|
179
185
|
decodeFunctionResult(
|
|
180
|
-
functionFragment: "
|
|
186
|
+
functionFragment: "_deprecated",
|
|
181
187
|
data: BytesLike
|
|
182
188
|
): Result;
|
|
183
189
|
decodeFunctionResult(
|
|
184
|
-
functionFragment: "
|
|
190
|
+
functionFragment: "canTop(address)",
|
|
185
191
|
data: BytesLike
|
|
186
192
|
): Result;
|
|
187
193
|
decodeFunctionResult(
|
|
188
|
-
functionFragment: "
|
|
194
|
+
functionFragment: "canTop(address,uint256)",
|
|
189
195
|
data: BytesLike
|
|
190
196
|
): Result;
|
|
191
197
|
decodeFunctionResult(
|
|
192
|
-
functionFragment: "
|
|
198
|
+
functionFragment: "firstGasToppingAmount",
|
|
193
199
|
data: BytesLike
|
|
194
200
|
): Result;
|
|
195
201
|
decodeFunctionResult(
|
|
196
|
-
functionFragment: "
|
|
202
|
+
functionFragment: "gasToppingAmount",
|
|
197
203
|
data: BytesLike
|
|
198
204
|
): Result;
|
|
199
205
|
decodeFunctionResult(
|
|
@@ -233,6 +239,10 @@ export interface SuperfluidFaucetInterface extends utils.Interface {
|
|
|
233
239
|
functionFragment: "toppingPeriod",
|
|
234
240
|
data: BytesLike
|
|
235
241
|
): Result;
|
|
242
|
+
decodeFunctionResult(
|
|
243
|
+
functionFragment: "updateGasToppingAmounts",
|
|
244
|
+
data: BytesLike
|
|
245
|
+
): Result;
|
|
236
246
|
decodeFunctionResult(
|
|
237
247
|
functionFragment: "updateSettings",
|
|
238
248
|
data: BytesLike
|
|
@@ -392,10 +402,6 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
392
402
|
|
|
393
403
|
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
|
|
394
404
|
|
|
395
|
-
FIRST_GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
396
|
-
|
|
397
|
-
GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
398
|
-
|
|
399
405
|
_deprecated(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
400
406
|
|
|
401
407
|
"canTop(address)"(
|
|
@@ -409,6 +415,10 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
409
415
|
overrides?: CallOverrides
|
|
410
416
|
): Promise<[boolean]>;
|
|
411
417
|
|
|
418
|
+
firstGasToppingAmount(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
419
|
+
|
|
420
|
+
gasToppingAmount(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
421
|
+
|
|
412
422
|
getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
|
|
413
423
|
|
|
414
424
|
getToppingValue(
|
|
@@ -474,6 +484,12 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
474
484
|
|
|
475
485
|
toppingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
476
486
|
|
|
487
|
+
updateGasToppingAmounts(
|
|
488
|
+
_gasToppingAmount: BigNumberish,
|
|
489
|
+
_firstGasToppingAmount: BigNumberish,
|
|
490
|
+
overrides?: Overrides & { from?: string }
|
|
491
|
+
): Promise<ContractTransaction>;
|
|
492
|
+
|
|
477
493
|
updateSettings(
|
|
478
494
|
_maxValuePerPeriod: BigNumberish,
|
|
479
495
|
_toppingPeriod: BigNumberish,
|
|
@@ -500,10 +516,6 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
500
516
|
|
|
501
517
|
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
|
|
502
518
|
|
|
503
|
-
FIRST_GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;
|
|
504
|
-
|
|
505
|
-
GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;
|
|
506
|
-
|
|
507
519
|
_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
|
|
508
520
|
|
|
509
521
|
"canTop(address)"(
|
|
@@ -517,6 +529,10 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
517
529
|
overrides?: CallOverrides
|
|
518
530
|
): Promise<boolean>;
|
|
519
531
|
|
|
532
|
+
firstGasToppingAmount(overrides?: CallOverrides): Promise<BigNumber>;
|
|
533
|
+
|
|
534
|
+
gasToppingAmount(overrides?: CallOverrides): Promise<BigNumber>;
|
|
535
|
+
|
|
520
536
|
getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
|
|
521
537
|
|
|
522
538
|
getToppingValue(
|
|
@@ -582,6 +598,12 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
582
598
|
|
|
583
599
|
toppingPeriod(overrides?: CallOverrides): Promise<BigNumber>;
|
|
584
600
|
|
|
601
|
+
updateGasToppingAmounts(
|
|
602
|
+
_gasToppingAmount: BigNumberish,
|
|
603
|
+
_firstGasToppingAmount: BigNumberish,
|
|
604
|
+
overrides?: Overrides & { from?: string }
|
|
605
|
+
): Promise<ContractTransaction>;
|
|
606
|
+
|
|
585
607
|
updateSettings(
|
|
586
608
|
_maxValuePerPeriod: BigNumberish,
|
|
587
609
|
_toppingPeriod: BigNumberish,
|
|
@@ -608,10 +630,6 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
608
630
|
|
|
609
631
|
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
|
|
610
632
|
|
|
611
|
-
FIRST_GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;
|
|
612
|
-
|
|
613
|
-
GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;
|
|
614
|
-
|
|
615
633
|
_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
|
|
616
634
|
|
|
617
635
|
"canTop(address)"(
|
|
@@ -625,6 +643,10 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
625
643
|
overrides?: CallOverrides
|
|
626
644
|
): Promise<boolean>;
|
|
627
645
|
|
|
646
|
+
firstGasToppingAmount(overrides?: CallOverrides): Promise<BigNumber>;
|
|
647
|
+
|
|
648
|
+
gasToppingAmount(overrides?: CallOverrides): Promise<BigNumber>;
|
|
649
|
+
|
|
628
650
|
getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
|
|
629
651
|
|
|
630
652
|
getToppingValue(
|
|
@@ -687,6 +709,12 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
687
709
|
|
|
688
710
|
toppingPeriod(overrides?: CallOverrides): Promise<BigNumber>;
|
|
689
711
|
|
|
712
|
+
updateGasToppingAmounts(
|
|
713
|
+
_gasToppingAmount: BigNumberish,
|
|
714
|
+
_firstGasToppingAmount: BigNumberish,
|
|
715
|
+
overrides?: CallOverrides
|
|
716
|
+
): Promise<void>;
|
|
717
|
+
|
|
690
718
|
updateSettings(
|
|
691
719
|
_maxValuePerPeriod: BigNumberish,
|
|
692
720
|
_toppingPeriod: BigNumberish,
|
|
@@ -782,10 +810,6 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
782
810
|
|
|
783
811
|
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
|
|
784
812
|
|
|
785
|
-
FIRST_GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;
|
|
786
|
-
|
|
787
|
-
GAS_TOPPING_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;
|
|
788
|
-
|
|
789
813
|
_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
|
|
790
814
|
|
|
791
815
|
"canTop(address)"(
|
|
@@ -799,6 +823,10 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
799
823
|
overrides?: CallOverrides
|
|
800
824
|
): Promise<BigNumber>;
|
|
801
825
|
|
|
826
|
+
firstGasToppingAmount(overrides?: CallOverrides): Promise<BigNumber>;
|
|
827
|
+
|
|
828
|
+
gasToppingAmount(overrides?: CallOverrides): Promise<BigNumber>;
|
|
829
|
+
|
|
802
830
|
getRoleAdmin(
|
|
803
831
|
role: BytesLike,
|
|
804
832
|
overrides?: CallOverrides
|
|
@@ -859,6 +887,12 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
859
887
|
|
|
860
888
|
toppingPeriod(overrides?: CallOverrides): Promise<BigNumber>;
|
|
861
889
|
|
|
890
|
+
updateGasToppingAmounts(
|
|
891
|
+
_gasToppingAmount: BigNumberish,
|
|
892
|
+
_firstGasToppingAmount: BigNumberish,
|
|
893
|
+
overrides?: Overrides & { from?: string }
|
|
894
|
+
): Promise<BigNumber>;
|
|
895
|
+
|
|
862
896
|
updateSettings(
|
|
863
897
|
_maxValuePerPeriod: BigNumberish,
|
|
864
898
|
_toppingPeriod: BigNumberish,
|
|
@@ -886,14 +920,6 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
886
920
|
overrides?: CallOverrides
|
|
887
921
|
): Promise<PopulatedTransaction>;
|
|
888
922
|
|
|
889
|
-
FIRST_GAS_TOPPING_AMOUNT(
|
|
890
|
-
overrides?: CallOverrides
|
|
891
|
-
): Promise<PopulatedTransaction>;
|
|
892
|
-
|
|
893
|
-
GAS_TOPPING_AMOUNT(
|
|
894
|
-
overrides?: CallOverrides
|
|
895
|
-
): Promise<PopulatedTransaction>;
|
|
896
|
-
|
|
897
923
|
_deprecated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
898
924
|
|
|
899
925
|
"canTop(address)"(
|
|
@@ -907,6 +933,12 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
907
933
|
overrides?: CallOverrides
|
|
908
934
|
): Promise<PopulatedTransaction>;
|
|
909
935
|
|
|
936
|
+
firstGasToppingAmount(
|
|
937
|
+
overrides?: CallOverrides
|
|
938
|
+
): Promise<PopulatedTransaction>;
|
|
939
|
+
|
|
940
|
+
gasToppingAmount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
941
|
+
|
|
910
942
|
getRoleAdmin(
|
|
911
943
|
role: BytesLike,
|
|
912
944
|
overrides?: CallOverrides
|
|
@@ -970,6 +1002,12 @@ export interface SuperfluidFaucet extends BaseContract {
|
|
|
970
1002
|
|
|
971
1003
|
toppingPeriod(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
972
1004
|
|
|
1005
|
+
updateGasToppingAmounts(
|
|
1006
|
+
_gasToppingAmount: BigNumberish,
|
|
1007
|
+
_firstGasToppingAmount: BigNumberish,
|
|
1008
|
+
overrides?: Overrides & { from?: string }
|
|
1009
|
+
): Promise<PopulatedTransaction>;
|
|
1010
|
+
|
|
973
1011
|
updateSettings(
|
|
974
1012
|
_maxValuePerPeriod: BigNumberish,
|
|
975
1013
|
_toppingPeriod: BigNumberish,
|