@gooddollar/goodprotocol 2.0.12 → 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.
Files changed (495) hide show
  1. package/artifacts/abis/AdminWallet.min.json +1 -1
  2. package/artifacts/abis/AdminWalletFuse.min.json +1 -1
  3. package/artifacts/abis/DistributionBridgeMock.min.json +1 -1
  4. package/artifacts/abis/DistributionHelper.min.json +1 -1
  5. package/artifacts/abis/DistributionHelperTest.min.json +1 -1
  6. package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -1
  7. package/artifacts/abis/GasPriceMockOracle.min.json +1 -1
  8. package/artifacts/abis/GoodCompoundStakingTest.min.json +1 -1
  9. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  10. package/artifacts/abis/IFeesFormula.min.json +1 -1
  11. package/artifacts/abis/ISuperGoodDollar.min.json +1 -1
  12. package/artifacts/abis/ISuperToken.min.json +1 -0
  13. package/artifacts/abis/MultichainFeeFormula.min.json +1 -0
  14. package/artifacts/abis/SuperGoodDollar.min.json +1 -1
  15. package/artifacts/abis/SuperToken.min.json +1 -1
  16. package/artifacts/abis/UBIScheme.min.json +1 -1
  17. package/artifacts/abis/UBISchemeV2.min.json +1 -1
  18. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  19. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  20. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  21. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  22. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  23. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  40. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  41. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  42. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  43. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  44. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  45. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  46. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  47. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  48. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -2
  49. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  50. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
  51. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  52. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json +2 -2
  53. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  54. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  55. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  56. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  57. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  58. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  59. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  60. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +2 -2
  61. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  62. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  63. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  64. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  65. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  66. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  67. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  68. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  69. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  70. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  71. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  72. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +2 -2
  73. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  74. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.json +2 -2
  75. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  76. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  77. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  78. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +2 -2
  79. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +2 -2
  81. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
  83. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
  85. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
  87. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +2 -2
  89. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
  91. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +2 -2
  93. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +122 -17
  95. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +242 -17
  97. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +256 -18
  99. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
  101. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.json +2 -2
  103. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  104. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +15 -2
  105. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  106. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +6 -6
  107. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  108. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +2 -2
  109. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  111. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.json +2 -2
  113. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  114. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -2
  115. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  116. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +2 -2
  117. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  118. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  119. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
  120. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  121. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  122. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  123. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  124. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  125. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  126. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.json +2 -2
  127. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  128. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +2 -2
  129. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  130. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +2 -2
  131. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  132. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  133. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  134. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +2 -2
  135. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  136. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  137. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  138. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  139. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  140. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  141. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  142. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  143. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  144. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +2 -2
  145. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  146. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +2 -2
  147. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  148. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +2 -2
  149. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  150. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +2 -2
  151. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  152. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +2 -2
  153. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  154. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +2 -2
  155. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  156. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +2 -2
  157. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  158. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +2 -2
  159. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  160. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +242 -17
  161. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  162. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  163. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  164. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  165. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  166. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  167. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +45 -19
  168. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  169. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  170. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  171. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  172. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  173. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  174. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  175. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  176. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  177. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  178. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  179. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  180. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  181. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  182. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  183. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  184. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  185. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  186. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  187. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  188. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  189. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  190. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  191. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  192. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  193. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  194. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  195. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  196. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  197. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +2 -2
  198. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  199. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  200. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.json +2 -2
  201. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  202. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  203. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  204. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.json +2 -2
  205. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +4 -0
  206. package/artifacts/contracts/token/{FeesFormula.sol → IFeesFormula.sol}/IFeesFormula.json +1 -1
  207. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +4 -0
  208. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.json +58 -0
  209. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  210. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  211. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  212. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  213. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.json +159 -5
  214. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +4 -0
  215. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.json +1609 -0
  216. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  217. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +233 -190
  218. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  219. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.json +198 -193
  220. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  221. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  222. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  223. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  224. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +2 -2
  225. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  226. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.json +2 -2
  227. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  228. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +20 -2
  229. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  230. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +20 -2
  231. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  232. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +41 -2
  233. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  234. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.json +35 -9
  235. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  236. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
  237. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  238. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  239. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  240. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +2 -2
  241. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  242. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.json +2 -2
  243. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  244. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.json +2 -2
  245. package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.dbg.json +1 -1
  246. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  247. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  248. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  249. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  250. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  251. package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
  252. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  253. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +2 -2
  254. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  255. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.json +2 -2
  256. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  257. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +2 -2
  258. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  259. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  260. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  261. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
  262. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  263. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.json +2 -2
  264. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  265. package/artifacts/contracts/utils/MultiCall.sol/Multicall.json +2 -2
  266. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  267. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
  268. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  269. package/artifacts/contracts/utils/NameService.sol/NameService.json +2 -2
  270. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  271. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.json +2 -2
  272. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  273. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.json +2 -2
  274. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  275. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  276. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  277. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  278. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  279. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  280. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  281. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  282. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  283. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  284. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  285. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  286. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
  287. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  288. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  289. package/contracts/invite/InvitesFuseV2.sol +3 -2
  290. package/contracts/mocks/DistributionBridgeMock.sol +42 -15
  291. package/contracts/mocks/DistributionHelperTest.sol +6 -2
  292. package/contracts/mocks/FeesFormularMock.sol +14 -14
  293. package/contracts/mocks/GasPriceMockOracle.sol +7 -1
  294. package/contracts/reserve/DistributionHelper.sol +147 -23
  295. package/contracts/reserve/GoodReserveCDai.sol +39 -47
  296. package/contracts/staking/GoodFundManager.sol +18 -37
  297. package/contracts/token/GoodDollar.sol +11 -16
  298. package/contracts/token/MultichainFeeFormula.sol +34 -0
  299. package/contracts/token/superfluid/ConstantFlowNFTs.sol +3 -0
  300. package/contracts/token/superfluid/ISuperGoodDollar.sol +4 -5
  301. package/contracts/token/superfluid/ISuperToken.sol +464 -0
  302. package/contracts/token/superfluid/SuperGoodDollar.sol +408 -376
  303. package/contracts/token/superfluid/SuperToken.sol +144 -144
  304. package/contracts/ubi/UBIScheme.sol +9 -5
  305. package/contracts/ubi/UBISchemeV2.sol +6 -0
  306. package/contracts/utils/AdminWallet.sol +23 -11
  307. package/contracts/utils/AdminWalletFuse.sol +21 -15
  308. package/contracts/utils/BuyAndBridgeHelper.sol +13 -13
  309. package/contracts/utils/MultiCall.sol +8 -10
  310. package/dist/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +2 -2
  311. package/dist/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +233 -190
  312. package/dist/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +2 -2
  313. package/dist/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  314. package/hardhat.config.ts +49 -14
  315. package/package.json +7 -7
  316. package/releases/deploy-settings.json +3 -1
  317. package/releases/deployment.json +9 -3
  318. package/scripts/analytics/checkActiveWallets.ts +60 -0
  319. package/scripts/analytics/faucetStats.ts +30 -39
  320. package/scripts/fv.ts +305 -0
  321. package/scripts/multichain-deploy/1_basicdao-deploy.ts +18 -9
  322. package/scripts/multichain-deploy/helpers.ts +205 -65
  323. package/scripts/proposals/gip-15.ts +427 -0
  324. package/scripts/upgrades/multichain-formula-upgrade.ts +140 -0
  325. package/scripts/upgrades/restoreFunds.ts +91 -0
  326. package/scripts/upgrades/superfluid-nft-celo-gas-token.ts +159 -0
  327. package/scripts/upgrades/upgradeAdminWallet.ts +29 -0
  328. package/scripts/utils.ts +15 -0
  329. package/test/helpers.ts +73 -10
  330. package/test/reserve/DistributionHelper.test.ts +183 -218
  331. package/test/reserve/GoodReserveCDai.distribution.test.ts +21 -144
  332. package/test/reserve/GoodReserveCDai.test.ts +98 -302
  333. package/test/staking/StakingRewards.test.ts +324 -936
  334. package/test/token/CeloGasToken.test.ts +108 -0
  335. package/test/token/SuperGoodDollar.test.ts +15 -6
  336. package/test/utils/AdminWallet.test.ts +19 -12
  337. package/test/utils/BuyAndBridgeHelper.test.ts +9 -33
  338. package/truffle-config.js +24 -6
  339. package/types/AdminWallet.ts +59 -0
  340. package/types/AdminWalletFuse.ts +41 -7
  341. package/types/ConstantInflowNFT.ts +969 -0
  342. package/types/ConstantOutflowNFT.ts +1031 -0
  343. package/types/DistributionBridgeMock.ts +203 -70
  344. package/types/DistributionHelper.ts +325 -30
  345. package/types/DistributionHelperTest.ts +325 -30
  346. package/types/DistributionHelperTestHelper.ts +355 -35
  347. package/types/FlowNFTBase.ts +887 -0
  348. package/types/GasPriceMockOracle.ts +29 -0
  349. package/types/GoodReserveCDai.ts +79 -20
  350. package/types/IConstantFlowAgreementV1.ts +1391 -0
  351. package/types/IConstantInflowNFT.ts +772 -0
  352. package/types/IConstantOutflowNFT.ts +834 -0
  353. package/types/IERC721.ts +487 -0
  354. package/types/IERC721Metadata.ts +538 -0
  355. package/types/IFlowNFTBase.ts +711 -0
  356. package/types/IInstantDistributionAgreementV1.ts +1183 -0
  357. package/types/ILayerZeroFeeEstimator.ts +136 -0
  358. package/types/IMessagePassingBridge.ts +774 -0
  359. package/types/ISETH.ts +2668 -0
  360. package/types/ISETHCustom.ts +161 -0
  361. package/types/ISuperGoodDollar.ts +277 -25
  362. package/types/ISuperToken.ts +202 -346
  363. package/types/ISuperfluid.ts +7 -2
  364. package/types/ISuperfluidGovernance.ts +40 -5
  365. package/types/MultichainFeeFormula.ts +130 -0
  366. package/types/SuperGoodDollar.ts +383 -349
  367. package/types/SuperToken.ts +319 -344
  368. package/types/UBIScheme.ts +36 -0
  369. package/types/UBISchemeV2.ts +36 -0
  370. package/types/factories/AaveMock__factory.ts +1 -1
  371. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  372. package/types/factories/AaveUSDMockOracle__factory.ts +1 -1
  373. package/types/factories/AdminWalletFuse__factory.ts +34 -8
  374. package/types/factories/AdminWallet__factory.ts +40 -1
  375. package/types/factories/BancorFormula__factory.ts +1 -1
  376. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  377. package/types/factories/BaseShareField__factory.ts +1 -1
  378. package/types/factories/BatUSDMockOracle__factory.ts +1 -1
  379. package/types/factories/BuyAndBridgeHelper__factory.ts +1 -1
  380. package/types/factories/BuyGDCloneFactory__factory.ts +1 -1
  381. package/types/factories/BuyGDClone__factory.ts +1 -1
  382. package/types/factories/CBATMock__factory.ts +1 -1
  383. package/types/factories/CDAILowWorthMock__factory.ts +1 -1
  384. package/types/factories/CDAIMock__factory.ts +1 -1
  385. package/types/factories/CDAINonMintableMock__factory.ts +1 -1
  386. package/types/factories/CDecimalsMock__factory.ts +1 -1
  387. package/types/factories/CSDTMock__factory.ts +1 -1
  388. package/types/factories/CUSDCMock__factory.ts +1 -1
  389. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  390. package/types/factories/CompUSDMockOracle__factory.ts +1 -1
  391. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  392. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  393. package/types/factories/ConstantInflowNFT__factory.ts +758 -0
  394. package/types/factories/ConstantOutflowNFT__factory.ts +817 -0
  395. package/types/factories/DAIMock__factory.ts +1 -1
  396. package/types/factories/DAOContract__factory.ts +1 -1
  397. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  398. package/types/factories/DaiEthPriceMockOracle__factory.ts +1 -1
  399. package/types/factories/DecimalsMock__factory.ts +1 -1
  400. package/types/factories/DistributionBridgeMock__factory.ts +121 -16
  401. package/types/factories/DistributionHelperTestHelper__factory.ts +255 -17
  402. package/types/factories/DistributionHelperTest__factory.ts +241 -16
  403. package/types/factories/DistributionHelper__factory.ts +241 -16
  404. package/types/factories/DonationsStaking__factory.ts +1 -1
  405. package/types/factories/ERC1967Proxy__factory.ts +1 -1
  406. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +1 -1
  407. package/types/factories/ERC20Upgradeable__factory.ts +1 -1
  408. package/types/factories/EthUSDMockOracle__factory.ts +1 -1
  409. package/types/factories/EventsEmitter__factory.ts +1 -1
  410. package/types/factories/ExchangeHelper__factory.ts +1 -1
  411. package/types/factories/Faucet__factory.ts +1 -1
  412. package/types/factories/FeesFormulaMock__factory.ts +1 -1
  413. package/types/factories/FlowNFTBase__factory.ts +642 -0
  414. package/types/factories/FuseFaucetV2__factory.ts +1 -1
  415. package/types/factories/FuseFaucet__factory.ts +1 -1
  416. package/types/factories/FuseStakingV3__factory.ts +1 -1
  417. package/types/factories/GDFaucet__factory.ts +1 -1
  418. package/types/factories/GReputation__factory.ts +1 -1
  419. package/types/factories/GasPriceMockOracle__factory.ts +14 -1
  420. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  421. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  422. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  423. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  424. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  425. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1 -1
  426. package/types/factories/GoodDollarStakingMock__factory.ts +1 -1
  427. package/types/factories/GoodDollarStaking__factory.ts +1 -1
  428. package/types/factories/GoodDollar__factory.ts +1 -1
  429. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  430. package/types/factories/GoodFundManager__factory.ts +1 -1
  431. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  432. package/types/factories/GoodReserveCDai__factory.ts +44 -18
  433. package/types/factories/GovernanceStaking__factory.ts +1 -1
  434. package/types/factories/IConstantFlowAgreementV1__factory.ts +1064 -0
  435. package/types/factories/IConstantInflowNFT__factory.ts +551 -0
  436. package/types/factories/IConstantOutflowNFT__factory.ts +614 -0
  437. package/types/factories/IERC721Metadata__factory.ts +356 -0
  438. package/types/factories/IERC721__factory.ts +308 -0
  439. package/types/factories/IFlowNFTBase__factory.ts +512 -0
  440. package/types/factories/IInstantDistributionAgreementV1__factory.ts +1015 -0
  441. package/types/factories/ILayerZeroFeeEstimator__factory.ts +79 -0
  442. package/types/factories/IMessagePassingBridge__factory.ts +446 -0
  443. package/types/factories/ISETHCustom__factory.ts +56 -0
  444. package/types/factories/ISETH__factory.ts +1866 -0
  445. package/types/factories/ISuperGoodDollar__factory.ts +159 -5
  446. package/types/factories/ISuperTokenFactory__factory.ts +5 -0
  447. package/types/factories/ISuperToken__factory.ts +130 -191
  448. package/types/factories/ISuperfluidGovernance__factory.ts +23 -5
  449. package/types/factories/ISuperfluid__factory.ts +10 -0
  450. package/types/factories/IdentityFix__factory.ts +1 -1
  451. package/types/factories/IdentityMock__factory.ts +1 -1
  452. package/types/factories/IdentityV2__factory.ts +1 -1
  453. package/types/factories/IncentiveControllerMock__factory.ts +1 -1
  454. package/types/factories/InvitesFuseV2__factory.ts +1 -1
  455. package/types/factories/InvitesV1__factory.ts +1 -1
  456. package/types/factories/InvitesV2__factory.ts +1 -1
  457. package/types/factories/LendingPoolMock__factory.ts +1 -1
  458. package/types/factories/Multicall__factory.ts +1 -1
  459. package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
  460. package/types/factories/MultichainFeeFormula__factory.ts +113 -0
  461. package/types/factories/MultichainRouterMock__factory.ts +1 -1
  462. package/types/factories/NameService__factory.ts +1 -1
  463. package/types/factories/OneTimePaymentsV2__factory.ts +1 -1
  464. package/types/factories/OneTimePayments__factory.ts +1 -1
  465. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  466. package/types/factories/OverMintTester__factory.ts +1 -1
  467. package/types/factories/PayableMock__factory.ts +1 -1
  468. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  469. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  470. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  471. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  472. package/types/factories/ProxyFactory1967__factory.ts +1 -1
  473. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  474. package/types/factories/Reputation__factory.ts +1 -1
  475. package/types/factories/SixteenDecimalsTokenMock__factory.ts +1 -1
  476. package/types/factories/StakersDistribution__factory.ts +1 -1
  477. package/types/factories/StakingMockFixedAPY__factory.ts +1 -1
  478. package/types/factories/SuperGoodDollar__factory.ts +230 -187
  479. package/types/factories/SuperToken__factory.ts +197 -192
  480. package/types/factories/SwapHelperTest__factory.ts +1 -1
  481. package/types/factories/TwentyDecimalsTokenMock__factory.ts +1 -1
  482. package/types/factories/UBISchemeV2__factory.ts +19 -1
  483. package/types/factories/UBIScheme__factory.ts +19 -1
  484. package/types/factories/USDCMock__factory.ts +1 -1
  485. package/types/factories/UUPSProxy__factory.ts +1 -1
  486. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  487. package/types/factories/UpgradableMock2__factory.ts +1 -1
  488. package/types/factories/UpgradableMock3__factory.ts +1 -1
  489. package/types/factories/UpgradableMock4__factory.ts +1 -1
  490. package/types/factories/UpgradableMock__factory.ts +1 -1
  491. package/types/hardhat.d.ts +166 -4
  492. package/types/index.ts +34 -4
  493. package/yarn.lock +1288 -719
  494. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +0 -4
  495. /package/contracts/token/{FeesFormula.sol → IFeesFormula.sol} +0 -0
@@ -0,0 +1,108 @@
1
+ import { ethers } from "hardhat";
2
+ import { loadFixture } from "@nomicfoundation/hardhat-network-helpers";
3
+ import { expect } from "chai";
4
+ import { SuperGoodDollar } from "../../types";
5
+ import { createDAO } from "../helpers";
6
+ import { BigNumber } from "ethers";
7
+
8
+ const BN = ethers.BigNumber;
9
+
10
+ describe("Celo Gas Token", () => {
11
+ let token: SuperGoodDollar, founder;
12
+ let signers;
13
+
14
+ const initialState = async () => {};
15
+
16
+ before(async () => {
17
+ [founder, ...signers] = await ethers.getSigners();
18
+
19
+ let { gd: gooddollar } = await loadFixture(createDAO);
20
+
21
+ token = (await ethers.getContractAt(
22
+ "SuperGoodDollar",
23
+ gooddollar
24
+ )) as SuperGoodDollar;
25
+ await token.mint(founder.address, ethers.constants.WeiPerEther.mul(100));
26
+ });
27
+
28
+ it("should debit sender for gas fees", async () => {
29
+ await loadFixture(initialState);
30
+
31
+ await founder.sendTransaction({
32
+ to: ethers.constants.AddressZero,
33
+ value: ethers.constants.WeiPerEther
34
+ });
35
+ const vm = await ethers.getImpersonatedSigner(ethers.constants.AddressZero);
36
+ let ts = await token.totalSupply();
37
+ let balance = await token.balanceOf(founder.address);
38
+ const fee = ethers.constants.WeiPerEther.div(100);
39
+ await token.connect(vm).debitGasFees(founder.address, BigNumber.from(fee));
40
+ expect(await token.balanceOf(founder.address)).eq(balance.sub(fee));
41
+ expect(await token.totalSupply()).eq(ts.sub(fee));
42
+ });
43
+
44
+ it("should credit sender for gas fees", async () => {
45
+ await loadFixture(initialState);
46
+
47
+ await founder.sendTransaction({
48
+ to: ethers.constants.AddressZero,
49
+ value: ethers.constants.WeiPerEther
50
+ });
51
+ const vm = await ethers.getImpersonatedSigner(ethers.constants.AddressZero);
52
+ let ts = await token.totalSupply();
53
+ let balance = await token.balanceOf(founder.address);
54
+ const fee = ethers.constants.WeiPerEther.div(100);
55
+
56
+ const [recipient, gateway, fund] = signers;
57
+ const [refund, recipientFee, gatewayFee, fundFee] = [
58
+ fee.div(10),
59
+ fee.div(100),
60
+ fee.div(200),
61
+ fee.div(300)
62
+ ];
63
+
64
+ await token.connect(vm).debitGasFees(founder.address, BigNumber.from(fee));
65
+ await token
66
+ .connect(vm)
67
+ .creditGasFees(
68
+ founder.address,
69
+ recipient.address,
70
+ gateway.address,
71
+ fund.address,
72
+ refund,
73
+ recipientFee,
74
+ gatewayFee,
75
+ fundFee
76
+ );
77
+
78
+ expect(await token.balanceOf(founder.address)).eq(
79
+ balance.sub(fee).add(refund)
80
+ );
81
+ expect(await token.balanceOf(recipient.address)).eq(recipientFee);
82
+ expect(await token.balanceOf(gateway.address)).eq(gatewayFee);
83
+ expect(await token.balanceOf(fund.address)).eq(fundFee);
84
+ expect(await token.totalSupply()).eq(
85
+ ts.sub(fee).add(refund).add(recipientFee).add(gatewayFee).add(fundFee)
86
+ );
87
+ });
88
+
89
+ it("should only be callable by VM", async () => {
90
+ await loadFixture(initialState);
91
+
92
+ await expect(
93
+ token.debitGasFees(founder.address, BigNumber.from(1))
94
+ ).revertedWith("VM");
95
+ await expect(
96
+ token.creditGasFees(
97
+ founder.address,
98
+ founder.address,
99
+ founder.address,
100
+ founder.address,
101
+ 1,
102
+ 1,
103
+ 1,
104
+ 1
105
+ )
106
+ ).revertedWith("VM");
107
+ });
108
+ });
@@ -15,7 +15,7 @@ let sf,
15
15
  newHost,
16
16
  identityMock,
17
17
  receiverMock,
18
- sgd, // stands for "SuperGoodDollar"
18
+ sgd: ISuperGoodDollar, // stands for "SuperGoodDollar"
19
19
  feesFormula10PctMock;
20
20
 
21
21
  const alotOfDollars = ethers.utils.parseEther("100000");
@@ -65,7 +65,8 @@ before(async function () {
65
65
  founder
66
66
  ).deploy();
67
67
 
68
- sgd = await deploySuperGoodDollar(sfContracts, [
68
+ console.log("deploying test supergooddollar...");
69
+ sgd = (await deploySuperGoodDollar(sfContracts, [
69
70
  "SuperGoodDollar",
70
71
  "SGD",
71
72
  0, // cap
@@ -73,7 +74,7 @@ before(async function () {
73
74
  identityMock.address,
74
75
  receiverMock.address,
75
76
  founder.address
76
- ]);
77
+ ])) as ISuperGoodDollar;
77
78
 
78
79
  await sgd.mint(founder.address, alotOfDollars);
79
80
  });
@@ -244,13 +245,17 @@ describe("SuperGoodDollar", async function () {
244
245
  it("should not be able to initialize again", async () => {
245
246
  await loadFixture(initialState);
246
247
  await expect(
247
- sgd["initialize(string,string,uint256,address,address,address,address)"](
248
+ sgd[
249
+ "initialize(string,string,uint256,address,address,address,address,address,address)"
250
+ ](
248
251
  "x",
249
252
  "y",
250
253
  1,
251
254
  ethers.constants.AddressZero,
252
255
  ethers.constants.AddressZero,
253
256
  ethers.constants.AddressZero,
257
+ ethers.constants.AddressZero,
258
+ ethers.constants.AddressZero,
254
259
  ethers.constants.AddressZero
255
260
  )
256
261
  ).revertedWith("Initializable: contract is already initialized");
@@ -268,7 +273,7 @@ describe("SuperGoodDollar", async function () {
268
273
  it("update the GoodDollar logic", async function () {
269
274
  await loadFixture(initialState);
270
275
  const sgdProxiable = await ethers.getContractAt(
271
- "UUPSProxiable",
276
+ "contracts/token/superfluid/UUPSProxiable.sol:UUPSProxiable",
272
277
  sgd.address,
273
278
  founder.signer
274
279
  );
@@ -295,13 +300,17 @@ describe("SuperGoodDollar", async function () {
295
300
 
296
301
  expect(await sgd.getHost()).equal(newHost.address);
297
302
  await expect(
298
- sgd["initialize(string,string,uint256,address,address,address,address)"](
303
+ sgd[
304
+ "initialize(string,string,uint256,address,address,address,address,address,address)"
305
+ ](
299
306
  "x",
300
307
  "y",
301
308
  1,
302
309
  ethers.constants.AddressZero,
303
310
  ethers.constants.AddressZero,
304
311
  ethers.constants.AddressZero,
312
+ ethers.constants.AddressZero,
313
+ ethers.constants.AddressZero,
305
314
  ethers.constants.AddressZero
306
315
  )
307
316
  ).revertedWith("Initializable: contract is already initialized");
@@ -24,7 +24,8 @@ describe("AdminWallet", () => {
24
24
  stranger,
25
25
  stranger2,
26
26
  blacklisted,
27
- identity;
27
+ identity,
28
+ gooddollar;
28
29
 
29
30
  before(async () => {
30
31
  signers = await ethers.getSigners();
@@ -40,9 +41,9 @@ describe("AdminWallet", () => {
40
41
  admin2,
41
42
  toWhitelist
42
43
  ] = signers.slice(10);
43
- let { identity: id, nameService } = await loadFixture(createDAO);
44
+ let { identity: id, nameService, gd } = await loadFixture(createDAO);
44
45
  identity = await ethers.getContractAt("IdentityV2", id);
45
-
46
+ gooddollar = await ethers.getContractAt("GoodDollar", gd);
46
47
  adminWallet = (await upgrades.deployProxy(
47
48
  await ethers.getContractFactory("AdminWallet"),
48
49
  [[], nameService.address, signers[0].address, 1e10],
@@ -221,18 +222,21 @@ describe("AdminWallet", () => {
221
222
 
222
223
  it("should not allow to top wallet if user balance is too high", async () => {
223
224
  const walletBalance = await ethers.provider.getBalance(adminWallet.address);
224
- const tx = await (
225
- await adminWallet.connect(admin).topWallet(whitelisted.address)
226
- ).wait();
227
- const walletBalanceAfter = await ethers.provider.getBalance(
228
- adminWallet.address
229
- );
230
- expect(walletBalance).eq(walletBalanceAfter);
231
- expect(tx.logs.length).eq(0);
225
+ await expect(
226
+ adminWallet.connect(admin).topWallet(whitelisted.address)
227
+ ).revertedWith("hasBalance");
228
+ });
229
+
230
+ it("should not allow to top wallet if user gd balance unchanged", async () => {
231
+ expect(await ethers.provider.getBalance(newUser.address)).eq(0);
232
+ await expect(
233
+ adminWallet.connect(admin).topWallet(newUser.address)
234
+ ).revertedWith("User has not used G$");
232
235
  });
233
236
 
234
- it("should allow to top wallet", async () => {
237
+ it("should allow to top wallet if user gd balance changed", async () => {
235
238
  expect(await ethers.provider.getBalance(newUser.address)).eq(0);
239
+ await gooddollar.mint(newUser.address, 1);
236
240
  await adminWallet.connect(admin).topWallet(newUser.address);
237
241
  expect(await ethers.provider.getBalance(newUser.address)).gt(0);
238
242
  await newUser.sendTransaction({
@@ -242,6 +246,7 @@ describe("AdminWallet", () => {
242
246
  });
243
247
 
244
248
  it("should not allow to top wallet more than three times", async () => {
249
+ await gooddollar.mint(newUser.address, 1);
245
250
  await adminWallet.connect(admin).topWallet(newUser.address);
246
251
  await newUser.sendTransaction({
247
252
  to: adminWallet.address,
@@ -251,12 +256,14 @@ describe("AdminWallet", () => {
251
256
  to: admin2.address,
252
257
  value: toppingAmount / 5
253
258
  });
259
+ await gooddollar.mint(newUser.address, 1);
254
260
  await adminWallet.connect(admin).topWallet(newUser.address);
255
261
  await newUser.sendTransaction({
256
262
  to: adminWallet.address,
257
263
  value: toppingAmount * 0.9
258
264
  });
259
265
 
266
+ await gooddollar.mint(newUser.address, 1);
260
267
  await expect(
261
268
  adminWallet.connect(admin).topWallet(newUser.address)
262
269
  ).revertedWith("User wallet has been topped too many times today");
@@ -1,26 +1,14 @@
1
1
  import { ethers, upgrades } from "hardhat";
2
2
  import { loadFixture } from "@nomicfoundation/hardhat-network-helpers";
3
3
  import { expect } from "chai";
4
- import {
5
- GoodReserveCDai,
6
- DistributionBridgeMock,
7
- IGoodDollar
8
- } from "../../types";
4
+ import { GoodReserveCDai, DistributionBridgeMock, IGoodDollar } from "../../types";
9
5
  import { createDAO } from "../helpers";
10
6
 
11
7
  export const NULL_ADDRESS = ethers.constants.AddressZero;
12
8
 
13
- describe("BuyAndBridgeHelper ", () => {
9
+ xdescribe("BuyAndBridgeHelper ", () => {
14
10
  let goodReserve: GoodReserveCDai;
15
- let goodDollar: IGoodDollar,
16
- deployedDAO,
17
- genericCall,
18
- avatar,
19
- founder,
20
- signers,
21
- setDAOAddress,
22
- nameService,
23
- cDai;
11
+ let goodDollar: IGoodDollar, deployedDAO, genericCall, avatar, founder, signers, setDAOAddress, nameService, cDai;
24
12
 
25
13
  before(async () => {
26
14
  [founder, ...signers] = await ethers.getSigners();
@@ -58,16 +46,10 @@ describe("BuyAndBridgeHelper ", () => {
58
46
 
59
47
  await setDAOAddress("UNISWAP_ROUTER", signers[0].address);
60
48
 
61
- const exchangeHelperFactory = await ethers.getContractFactory(
62
- "ExchangeHelper"
63
- );
49
+ const exchangeHelperFactory = await ethers.getContractFactory("ExchangeHelper");
64
50
  const bnbFactory = await ethers.getContractFactory("BuyAndBridgeHelper");
65
51
 
66
- const exchangeHelper = await upgrades.deployProxy(
67
- exchangeHelperFactory,
68
- [nameService.address],
69
- { kind: "uups" }
70
- );
52
+ const exchangeHelper = await upgrades.deployProxy(exchangeHelperFactory, [nameService.address], { kind: "uups" });
71
53
 
72
54
  await setDAOAddress("EXCHANGE_HELPER", exchangeHelper.address);
73
55
 
@@ -87,9 +69,7 @@ describe("BuyAndBridgeHelper ", () => {
87
69
  expect(await exchangeHelper.gd()).equal(goodDollar.address);
88
70
  expect(await exchangeHelper.fuseBridge()).equal(bridge.address);
89
71
  expect(await exchangeHelper.multiChainBridge()).equal(bridge.address);
90
- expect(await exchangeHelper.anyGoodDollar()).equal(
91
- ethers.constants.AddressZero
92
- );
72
+ expect(await exchangeHelper.anyGoodDollar()).equal(ethers.constants.AddressZero);
93
73
  });
94
74
 
95
75
  it("should buy and bridge to Fuse", async () => {
@@ -124,9 +104,7 @@ describe("BuyAndBridgeHelper ", () => {
124
104
  const priceAfter = await goodReserve["currentPrice()"]();
125
105
  const gdxBalanceAfter = await goodReserve.balanceOf(founder.address);
126
106
  const bridgeBalanceAfter = await goodDollar.balanceOf(bridge.address);
127
- const helperGdBalanceAfter = await goodDollar.balanceOf(
128
- exchangeHelper.address
129
- );
107
+ const helperGdBalanceAfter = await goodDollar.balanceOf(exchangeHelper.address);
130
108
 
131
109
  expect(helperGdBalanceAfter).eq(0); //G$s should be at the fuse bridge
132
110
  expect(helperBalanceAfter).equal(0);
@@ -143,7 +121,7 @@ describe("BuyAndBridgeHelper ", () => {
143
121
  expect(events[0].args.data).to.equal(founder.address.toLowerCase());
144
122
  });
145
123
 
146
- it("should buy and bridge to Celo", async () => {
124
+ xit("should buy and bridge to Celo", async () => {
147
125
  const { exchangeHelper, bridge } = await loadFixture(fixture);
148
126
  let daiAmount = ethers.utils.parseEther("100");
149
127
  const dai = await ethers.getContractAt("DAIMock", deployedDAO.daiAddress);
@@ -176,9 +154,7 @@ describe("BuyAndBridgeHelper ", () => {
176
154
  const priceAfter = await goodReserve["currentPrice()"]();
177
155
  const gdxBalanceAfter = await goodReserve.balanceOf(founder.address);
178
156
  const bridgeBalanceAfter = await goodDollar.balanceOf(bridge.address);
179
- const helperGdBalanceAfter = await goodDollar.balanceOf(
180
- exchangeHelper.address
181
- );
157
+ const helperGdBalanceAfter = await goodDollar.balanceOf(exchangeHelper.address);
182
158
 
183
159
  expect(helperGdBalanceAfter).gt(0); //in case of the mock it doesnt call transferFrom, so bought G$s stay in helper when testing multichain
184
160
  expect(helperBalanceAfter).equal(0);
package/truffle-config.js CHANGED
@@ -63,7 +63,10 @@ module.exports = {
63
63
  network_id: 1
64
64
  },
65
65
  kovan: {
66
- provider: () => new Web3.providers.HttpProvider(`https://ropsten.infura.io/v3/YOUR-PROJECT-ID`),
66
+ provider: () =>
67
+ new Web3.providers.HttpProvider(
68
+ `https://ropsten.infura.io/v3/YOUR-PROJECT-ID`
69
+ ),
67
70
  network_id: 42, // Ropsten's id
68
71
  gas: 5500000, // Ropsten has a lower block limit than mainnet
69
72
  confirmations: 2, // # of confs to wait between deployments. (default: 0)
@@ -71,7 +74,10 @@ module.exports = {
71
74
  skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
72
75
  },
73
76
  ropsten: {
74
- provider: () => new Web3.providers.HttpProvider(`https://ropsten.infura.io/v3/YOUR-PROJECT-ID`),
77
+ provider: () =>
78
+ new Web3.providers.HttpProvider(
79
+ `https://ropsten.infura.io/v3/YOUR-PROJECT-ID`
80
+ ),
75
81
  network_id: 3, // Ropsten's id
76
82
  gas: 5000000, // Ropsten has a lower block limit than mainnet
77
83
  confirmations: 2, // # of confs to wait between deployments. (default: 0)
@@ -79,7 +85,8 @@ module.exports = {
79
85
  skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
80
86
  },
81
87
  goerli: {
82
- provider: () => new Web3.providers.HttpProvider(`https://rpc.ankr.io/eth_goerli`),
88
+ provider: () =>
89
+ new Web3.providers.HttpProvider(`https://rpc.ankr.io/eth_goerli`),
83
90
  network_id: 5, // Ropsten's id
84
91
  gas: 3000000, // Ropsten has a lower block limit than mainnet
85
92
  skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
@@ -93,7 +100,8 @@ module.exports = {
93
100
  skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
94
101
  },
95
102
  fusespark: {
96
- provider: () => new Web3.providers.HttpProvider(`https://rpc.fusespark.io`),
103
+ provider: () =>
104
+ new Web3.providers.HttpProvider(`https://rpc.fusespark.io`),
97
105
  network_id: 123, // Ropsten's id
98
106
  gas: 8000000, // Ropsten has a lower block limit than mainnet
99
107
  confirmations: 1, // # of confs to wait between deployments. (default: 0)
@@ -108,8 +116,18 @@ module.exports = {
108
116
  timeoutBlocks: 20, // # of blocks before a deployment times out (minimum/default: 50)
109
117
  skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
110
118
  },
119
+ mainnet: {
120
+ provider: () =>
121
+ new Web3.providers.HttpProvider(`https://cloudflare-eth.com`),
122
+ network_id: 1,
123
+ gas: 150000,
124
+ skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
125
+ },
111
126
  alfajores: {
112
- provider: () => new Web3.providers.HttpProvider(`https://alfajores-forno.celo-testnet.org`),
127
+ provider: () =>
128
+ new Web3.providers.HttpProvider(
129
+ `https://alfajores-forno.celo-testnet.org`
130
+ ),
113
131
  network_id: 44787, // Ropsten's id
114
132
  gas: 150000, // Ropsten has a lower block limit than mainnet
115
133
  confirmations: 1, // # of confs to wait between deployments. (default: 0)
@@ -133,7 +151,7 @@ module.exports = {
133
151
  // Configure your compilers
134
152
  compilers: {
135
153
  solc: {
136
- version: "0.8.16", // Fetch exact version from solc-bin (default: truffle's version)
154
+ version: "0.8.19", // Fetch exact version from solc-bin (default: truffle's version)
137
155
  settings: {
138
156
  // See the solidity docs for advice about optimization and evmVersion
139
157
  optimizer: {
@@ -34,6 +34,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
34
34
  "blacklist(address)": FunctionFragment;
35
35
  "day()": FunctionFragment;
36
36
  "gasPrice()": FunctionFragment;
37
+ "gd()": FunctionFragment;
37
38
  "genericCall(address,bytes,uint256)": FunctionFragment;
38
39
  "getIdentity()": FunctionFragment;
39
40
  "getRoleAdmin(bytes32)": FunctionFragment;
@@ -41,6 +42,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
41
42
  "hasRole(bytes32,address)": FunctionFragment;
42
43
  "initialize(address[],address,address,uint256)": FunctionFragment;
43
44
  "isAdmin(address)": FunctionFragment;
45
+ "lastGdBalance(address)": FunctionFragment;
44
46
  "maxDailyNewWallets()": FunctionFragment;
45
47
  "nameService()": FunctionFragment;
46
48
  "proxiableUUID()": FunctionFragment;
@@ -55,6 +57,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
55
57
  "topWallet(address)": FunctionFragment;
56
58
  "toppingAmount()": FunctionFragment;
57
59
  "toppingTimes()": FunctionFragment;
60
+ "upgrade()": FunctionFragment;
58
61
  "upgradeTo(address)": FunctionFragment;
59
62
  "upgradeToAndCall(address,bytes)": FunctionFragment;
60
63
  "whitelist(address,string)": FunctionFragment;
@@ -76,6 +79,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
76
79
  encodeFunctionData(functionFragment: "blacklist", values: [string]): string;
77
80
  encodeFunctionData(functionFragment: "day", values?: undefined): string;
78
81
  encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string;
82
+ encodeFunctionData(functionFragment: "gd", values?: undefined): string;
79
83
  encodeFunctionData(
80
84
  functionFragment: "genericCall",
81
85
  values: [string, BytesLike, BigNumberish]
@@ -101,6 +105,10 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
101
105
  values: [string[], string, string, BigNumberish]
102
106
  ): string;
103
107
  encodeFunctionData(functionFragment: "isAdmin", values: [string]): string;
108
+ encodeFunctionData(
109
+ functionFragment: "lastGdBalance",
110
+ values: [string]
111
+ ): string;
104
112
  encodeFunctionData(
105
113
  functionFragment: "maxDailyNewWallets",
106
114
  values?: undefined
@@ -154,6 +162,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
154
162
  functionFragment: "toppingTimes",
155
163
  values?: undefined
156
164
  ): string;
165
+ encodeFunctionData(functionFragment: "upgrade", values?: undefined): string;
157
166
  encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
158
167
  encodeFunctionData(
159
168
  functionFragment: "upgradeToAndCall",
@@ -180,6 +189,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
180
189
  decodeFunctionResult(functionFragment: "blacklist", data: BytesLike): Result;
181
190
  decodeFunctionResult(functionFragment: "day", data: BytesLike): Result;
182
191
  decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result;
192
+ decodeFunctionResult(functionFragment: "gd", data: BytesLike): Result;
183
193
  decodeFunctionResult(
184
194
  functionFragment: "genericCall",
185
195
  data: BytesLike
@@ -196,6 +206,10 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
196
206
  decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
197
207
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
198
208
  decodeFunctionResult(functionFragment: "isAdmin", data: BytesLike): Result;
209
+ decodeFunctionResult(
210
+ functionFragment: "lastGdBalance",
211
+ data: BytesLike
212
+ ): Result;
199
213
  decodeFunctionResult(
200
214
  functionFragment: "maxDailyNewWallets",
201
215
  data: BytesLike
@@ -243,6 +257,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
243
257
  functionFragment: "toppingTimes",
244
258
  data: BytesLike
245
259
  ): Result;
260
+ decodeFunctionResult(functionFragment: "upgrade", data: BytesLike): Result;
246
261
  decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
247
262
  decodeFunctionResult(
248
263
  functionFragment: "upgradeToAndCall",
@@ -387,6 +402,8 @@ export interface AdminWallet extends BaseContract {
387
402
 
388
403
  gasPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
389
404
 
405
+ gd(overrides?: CallOverrides): Promise<[string]>;
406
+
390
407
  genericCall(
391
408
  _contract: string,
392
409
  _data: BytesLike,
@@ -420,6 +437,11 @@ export interface AdminWallet extends BaseContract {
420
437
 
421
438
  isAdmin(_user: string, overrides?: CallOverrides): Promise<[boolean]>;
422
439
 
440
+ lastGdBalance(
441
+ arg0: string,
442
+ overrides?: CallOverrides
443
+ ): Promise<[BigNumber]>;
444
+
423
445
  maxDailyNewWallets(overrides?: CallOverrides): Promise<[BigNumber]>;
424
446
 
425
447
  nameService(overrides?: CallOverrides): Promise<[string]>;
@@ -486,6 +508,10 @@ export interface AdminWallet extends BaseContract {
486
508
 
487
509
  toppingTimes(overrides?: CallOverrides): Promise<[BigNumber]>;
488
510
 
511
+ upgrade(
512
+ overrides?: Overrides & { from?: string | Promise<string> }
513
+ ): Promise<ContractTransaction>;
514
+
489
515
  upgradeTo(
490
516
  newImplementation: string,
491
517
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -532,6 +558,8 @@ export interface AdminWallet extends BaseContract {
532
558
 
533
559
  gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
534
560
 
561
+ gd(overrides?: CallOverrides): Promise<string>;
562
+
535
563
  genericCall(
536
564
  _contract: string,
537
565
  _data: BytesLike,
@@ -565,6 +593,8 @@ export interface AdminWallet extends BaseContract {
565
593
 
566
594
  isAdmin(_user: string, overrides?: CallOverrides): Promise<boolean>;
567
595
 
596
+ lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
597
+
568
598
  maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
569
599
 
570
600
  nameService(overrides?: CallOverrides): Promise<string>;
@@ -631,6 +661,10 @@ export interface AdminWallet extends BaseContract {
631
661
 
632
662
  toppingTimes(overrides?: CallOverrides): Promise<BigNumber>;
633
663
 
664
+ upgrade(
665
+ overrides?: Overrides & { from?: string | Promise<string> }
666
+ ): Promise<ContractTransaction>;
667
+
634
668
  upgradeTo(
635
669
  newImplementation: string,
636
670
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -671,6 +705,8 @@ export interface AdminWallet extends BaseContract {
671
705
 
672
706
  gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
673
707
 
708
+ gd(overrides?: CallOverrides): Promise<string>;
709
+
674
710
  genericCall(
675
711
  _contract: string,
676
712
  _data: BytesLike,
@@ -704,6 +740,8 @@ export interface AdminWallet extends BaseContract {
704
740
 
705
741
  isAdmin(_user: string, overrides?: CallOverrides): Promise<boolean>;
706
742
 
743
+ lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
744
+
707
745
  maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
708
746
 
709
747
  nameService(overrides?: CallOverrides): Promise<string>;
@@ -758,6 +796,8 @@ export interface AdminWallet extends BaseContract {
758
796
 
759
797
  toppingTimes(overrides?: CallOverrides): Promise<BigNumber>;
760
798
 
799
+ upgrade(overrides?: CallOverrides): Promise<void>;
800
+
761
801
  upgradeTo(
762
802
  newImplementation: string,
763
803
  overrides?: CallOverrides
@@ -887,6 +927,8 @@ export interface AdminWallet extends BaseContract {
887
927
 
888
928
  gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
889
929
 
930
+ gd(overrides?: CallOverrides): Promise<BigNumber>;
931
+
890
932
  genericCall(
891
933
  _contract: string,
892
934
  _data: BytesLike,
@@ -923,6 +965,8 @@ export interface AdminWallet extends BaseContract {
923
965
 
924
966
  isAdmin(_user: string, overrides?: CallOverrides): Promise<BigNumber>;
925
967
 
968
+ lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
969
+
926
970
  maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
927
971
 
928
972
  nameService(overrides?: CallOverrides): Promise<BigNumber>;
@@ -989,6 +1033,10 @@ export interface AdminWallet extends BaseContract {
989
1033
 
990
1034
  toppingTimes(overrides?: CallOverrides): Promise<BigNumber>;
991
1035
 
1036
+ upgrade(
1037
+ overrides?: Overrides & { from?: string | Promise<string> }
1038
+ ): Promise<BigNumber>;
1039
+
992
1040
  upgradeTo(
993
1041
  newImplementation: string,
994
1042
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -1040,6 +1088,8 @@ export interface AdminWallet extends BaseContract {
1040
1088
 
1041
1089
  gasPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1042
1090
 
1091
+ gd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1092
+
1043
1093
  genericCall(
1044
1094
  _contract: string,
1045
1095
  _data: BytesLike,
@@ -1079,6 +1129,11 @@ export interface AdminWallet extends BaseContract {
1079
1129
  overrides?: CallOverrides
1080
1130
  ): Promise<PopulatedTransaction>;
1081
1131
 
1132
+ lastGdBalance(
1133
+ arg0: string,
1134
+ overrides?: CallOverrides
1135
+ ): Promise<PopulatedTransaction>;
1136
+
1082
1137
  maxDailyNewWallets(
1083
1138
  overrides?: CallOverrides
1084
1139
  ): Promise<PopulatedTransaction>;
@@ -1147,6 +1202,10 @@ export interface AdminWallet extends BaseContract {
1147
1202
 
1148
1203
  toppingTimes(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1149
1204
 
1205
+ upgrade(
1206
+ overrides?: Overrides & { from?: string | Promise<string> }
1207
+ ): Promise<PopulatedTransaction>;
1208
+
1150
1209
  upgradeTo(
1151
1210
  newImplementation: string,
1152
1211
  overrides?: Overrides & { from?: string | Promise<string> }