@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.
Files changed (203) hide show
  1. package/artifacts/abis/BuyFromReserveHelper.min.json +1 -0
  2. package/artifacts/abis/SuperfluidFaucet.min.json +1 -1
  3. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  4. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  9. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  10. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  34. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
  35. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
  36. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
  37. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
  38. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
  39. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
  40. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  41. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  42. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  43. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
  44. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.json +46 -28
  45. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  46. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  47. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  48. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  49. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  50. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  51. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  52. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  53. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  54. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  55. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  56. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  57. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  58. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  59. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  60. package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  73. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  104. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
  105. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  106. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  107. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  108. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  109. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  110. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  111. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  112. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  113. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  114. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  115. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  116. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  117. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  118. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  119. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  120. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  121. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  122. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  123. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  124. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  125. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  126. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  127. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  128. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  129. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  130. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  131. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  132. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
  133. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
  134. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  135. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  136. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  137. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  138. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
  139. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  140. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  141. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  142. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  143. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  144. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  145. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  146. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  147. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  148. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  149. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  150. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  151. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  152. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  153. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  154. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +4 -0
  155. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.json +476 -0
  156. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  157. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  158. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  159. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  160. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  161. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  162. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  163. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
  164. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
  165. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
  166. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
  167. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
  168. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
  169. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  170. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  171. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  172. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  173. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  174. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  175. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
  176. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  177. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  178. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  179. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  180. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  181. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
  182. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
  183. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  184. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  185. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  186. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  187. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  188. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  189. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  190. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  191. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
  192. package/contracts/fuseFaucet/SuperfluidFacuet.sol +29 -8
  193. package/contracts/utils/BuyFromReserveHelper.sol +129 -0
  194. package/package.json +1 -1
  195. package/releases/deployment.json +2 -1
  196. package/types/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.ts +79 -41
  197. package/types/contracts/utils/BuyFromReserveHelper.ts +699 -0
  198. package/types/contracts/utils/index.ts +1 -0
  199. package/types/factories/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet__factory.ts +45 -27
  200. package/types/factories/contracts/utils/BuyFromReserveHelper__factory.ts +566 -0
  201. package/types/factories/contracts/utils/index.ts +1 -0
  202. package/types/hardhat.d.ts +9 -0
  203. package/types/index.ts +2 -0
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/062ade5e006c401d527c0476deb5617e.json"
3
+ "buildInfo": "../../../build-info/2e6863520a39a73cd85ee982bcf04d12.json"
4
4
  }
@@ -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 pure returns (uint) {
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 ? FIRST_GAS_TOPPING_AMOUNT : GAS_TOPPING_AMOUNT) *
107
- baseFee *
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddollar/goodprotocol",
3
- "version": "2.0.32",
3
+ "version": "2.0.33-beta.0",
4
4
  "description": "GoodDollar Protocol",
5
5
  "engines": {
6
6
  "node": ">=16.x"
@@ -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: "FIRST_GAS_TOPPING_AMOUNT",
186
+ functionFragment: "_deprecated",
181
187
  data: BytesLike
182
188
  ): Result;
183
189
  decodeFunctionResult(
184
- functionFragment: "GAS_TOPPING_AMOUNT",
190
+ functionFragment: "canTop(address)",
185
191
  data: BytesLike
186
192
  ): Result;
187
193
  decodeFunctionResult(
188
- functionFragment: "_deprecated",
194
+ functionFragment: "canTop(address,uint256)",
189
195
  data: BytesLike
190
196
  ): Result;
191
197
  decodeFunctionResult(
192
- functionFragment: "canTop(address)",
198
+ functionFragment: "firstGasToppingAmount",
193
199
  data: BytesLike
194
200
  ): Result;
195
201
  decodeFunctionResult(
196
- functionFragment: "canTop(address,uint256)",
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,