@gooddollar/goodprotocol 1.0.28 → 1.0.29-beta.1

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 (352) hide show
  1. package/artifacts/abis/BulkProof.min.json +1 -1
  2. package/artifacts/abis/DistributionBridgeMock.min.json +1 -0
  3. package/artifacts/abis/DistributionHelper.min.json +1 -0
  4. package/artifacts/abis/DistributionHelperTest.min.json +1 -0
  5. package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -0
  6. package/artifacts/abis/ERC20.min.json +1 -1
  7. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -0
  8. package/artifacts/abis/GoodDollarStaking.min.json +1 -0
  9. package/artifacts/abis/GoodDollarStakingMock.min.json +1 -0
  10. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  11. package/artifacts/abis/IERC2917.min.json +1 -1
  12. package/artifacts/abis/IGoodDollarStakingTest.min.json +1 -0
  13. package/artifacts/abis/IMultichainRouter.min.json +1 -0
  14. package/artifacts/abis/IRouter.min.json +1 -0
  15. package/artifacts/abis/IWrapper.min.json +1 -0
  16. package/artifacts/abis/Math64x64.min.json +1 -0
  17. package/artifacts/abis/MultichainBridgeHelper.min.json +1 -0
  18. package/artifacts/abis/MultichainRouterMock.min.json +1 -0
  19. package/artifacts/abis/OverMintTester.min.json +1 -1
  20. package/artifacts/abis/PausableControl.min.json +1 -0
  21. package/artifacts/abis/RewardsMinter.min.json +1 -0
  22. package/artifacts/abis/StakingMockFixedAPY.min.json +1 -0
  23. package/artifacts/abis/StakingRewardsFixedAPY.min.json +1 -0
  24. package/artifacts/abis/TokenOperation.min.json +1 -0
  25. package/artifacts/abis/cERC20.min.json +1 -1
  26. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  27. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  28. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  29. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  30. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  31. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/ERC20.json +13 -0
  35. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/IERC2917.json +13 -0
  40. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  41. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  42. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  43. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  44. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  45. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  46. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +4 -0
  47. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.json +67 -0
  48. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  49. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  50. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  51. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  52. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  53. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  54. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  55. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  56. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  57. package/artifacts/contracts/Interfaces.sol/cERC20.json +13 -0
  58. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  59. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
  60. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  61. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  62. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  63. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  64. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  65. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  66. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +4 -0
  67. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +1322 -0
  68. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +4 -0
  69. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.json +35 -0
  70. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  71. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  72. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  73. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  74. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  75. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  77. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  78. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  79. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +4 -0
  83. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +152 -0
  84. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +4 -0
  85. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +662 -0
  86. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +4 -0
  87. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +680 -0
  88. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  90. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +4 -0
  91. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +1322 -0
  92. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  94. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +4 -0
  97. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.json +59 -0
  98. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +4 -0
  99. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +81 -0
  100. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +4 -0
  101. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.json +49 -0
  102. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +4 -4
  104. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  106. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +4 -0
  108. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +682 -0
  109. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  111. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  114. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  115. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  116. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  117. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  118. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  119. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  120. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  121. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  122. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  123. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  124. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  125. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  126. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  127. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  128. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +4 -0
  129. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +662 -0
  130. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  131. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  132. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  133. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  134. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  135. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  136. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +75 -35
  137. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  138. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  139. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  140. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  141. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  142. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  143. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  144. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  145. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  146. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  147. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  148. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  149. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  150. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  151. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  152. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  153. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  154. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  155. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  156. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  157. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  158. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  159. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  160. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  161. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  162. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  163. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  164. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  165. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +4 -0
  166. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +10 -0
  167. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +4 -0
  168. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.json +268 -0
  169. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  170. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  171. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  172. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +2 -2
  173. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  174. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  175. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +3 -34
  176. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  177. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  178. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  179. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  180. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  181. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  182. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +4 -0
  183. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +1263 -0
  184. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +4 -0
  185. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.json +59 -0
  186. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +4 -0
  187. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.json +69 -0
  188. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +4 -0
  189. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +10 -0
  190. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +4 -0
  191. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +79 -0
  192. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  193. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  194. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  195. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  196. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  197. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  198. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  199. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  200. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  201. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  202. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  203. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  204. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  205. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  206. package/contracts/Interfaces.sol +20 -0
  207. package/contracts/governance/GoodDollarStaking.sol +510 -0
  208. package/contracts/governance/MultiBaseGovernanceShareField.sol +1 -0
  209. package/contracts/mocks/DistributionBridgeMock.sol +50 -0
  210. package/contracts/mocks/DistributionHelperTest.sol +22 -0
  211. package/contracts/mocks/GoodDollarStakingMock.sol +24 -0
  212. package/contracts/mocks/MultichainRouterMock.sol +38 -0
  213. package/contracts/mocks/OverMintTester.sol +39 -25
  214. package/contracts/mocks/StakingMockFixedAPY.sol +78 -0
  215. package/contracts/reserve/DistributionHelper.sol +142 -0
  216. package/contracts/reserve/GoodReserveCDai.sol +95 -41
  217. package/contracts/staking/utils/Math64X64.sol +268 -0
  218. package/contracts/staking/utils/StakingRewardsFixedAPY.sol +336 -0
  219. package/contracts/utils/BulkProof.sol +10 -10
  220. package/contracts/utils/GoodDollarMintBurnWrapper.sol +638 -0
  221. package/contracts/utils/MultichainBridgeHelper.sol +39 -0
  222. package/hardhat.config.ts +5 -3
  223. package/package.json +7 -4
  224. package/patches/@openzeppelin+hardhat-upgrades+1.7.0.patch.depracate +67 -0
  225. package/releases/deployment.json +10 -3
  226. package/releases/olddao.json +1 -1
  227. package/scripts/analytics/activeUsersCount.ts +65 -0
  228. package/scripts/analytics/activeWalletsStats.ts +150 -0
  229. package/scripts/analytics/claimIncidentStats.ts +117 -0
  230. package/scripts/analytics/faucetStats.ts +103 -0
  231. package/scripts/analytics/goodHolders.ts +50 -0
  232. package/scripts/{misc → analytics}/goodgiveback.ts +0 -0
  233. package/scripts/governance/airdropCalculation.ts +1 -0
  234. package/scripts/multichain-deploy/basicdao-deploy.ts +20 -5
  235. package/scripts/multichain-deploy/gdSavings-deploy.ts +232 -0
  236. package/scripts/multichain-deploy/helpers.ts +73 -8
  237. package/scripts/multichain-deploy/multichainWrapper-deploy.ts +56 -0
  238. package/scripts/multichain-deploy/nonubiDistribution-deploy.ts +170 -0
  239. package/scripts/voltageswaps.ts +47 -0
  240. package/test/governance/ClaimersDistribution.test.ts +1 -1
  241. package/test/governance/GoodDollarStaking.gd.test.ts +559 -0
  242. package/test/governance/GoodDollarStaking.good.test.ts +998 -0
  243. package/test/governance/GovernanceStaking.test.ts +43 -0
  244. package/test/helpers.ts +9 -12
  245. package/test/reserve/DistributionHelper.test.ts +394 -0
  246. package/test/reserve/GoodReserveCDai.distribution.test.ts +296 -0
  247. package/test/reserve/GoodReserveCDai.gdx.test.ts +21 -16
  248. package/test/reserve/GoodReserveCDai.pause.test.ts +116 -0
  249. package/test/staking/StakingRewardsFixedAPY.test.ts +900 -0
  250. package/test/utils/AdminWallet.test.ts +35 -6
  251. package/test/utils/GoodDollarMintBurnWrapper.test.ts +796 -0
  252. package/tsconfig.json +4 -9
  253. package/types/AccessControl.ts +361 -0
  254. package/types/CERC20.ts +25 -0
  255. package/types/DistributionBridgeMock.ts +251 -0
  256. package/types/DistributionHelper.ts +908 -0
  257. package/types/DistributionHelperTest.ts +909 -0
  258. package/types/DistributionHelperTestHelper.ts +945 -0
  259. package/types/ERC165.ts +104 -0
  260. package/types/ERC20.ts +101 -49
  261. package/types/GoodDollarMintBurnWrapper.ts +1806 -0
  262. package/types/GoodDollarStaking.ts +1855 -0
  263. package/types/GoodDollarStakingMock.ts +1855 -0
  264. package/types/GoodReserveCDai.ts +90 -55
  265. package/types/IAccessControl.ts +306 -0
  266. package/types/IERC165.ts +104 -0
  267. package/types/IERC20.ts +300 -0
  268. package/types/IERC20Metadata.ts +339 -0
  269. package/types/IERC2917.ts +25 -0
  270. package/types/IGoodDollarStakingTest.ts +160 -0
  271. package/types/IMultichainRouter.ts +166 -0
  272. package/types/IRouter.ts +143 -0
  273. package/types/IWrapper.ts +143 -0
  274. package/types/MultichainBridgeHelper.ts +170 -0
  275. package/types/MultichainRouterMock.ts +141 -0
  276. package/types/Pausable.ts +103 -0
  277. package/types/PausableControl.ts +125 -0
  278. package/types/{BulkProof.ts → RewardsMinter.ts} +24 -28
  279. package/types/StakingMockFixedAPY.ts +995 -0
  280. package/types/StakingRewardsFixedAPY.ts +428 -0
  281. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  282. package/types/factories/AccessControl__factory.ts +227 -0
  283. package/types/factories/AdminWallet__factory.ts +1 -1
  284. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  285. package/types/factories/BaseShareField__factory.ts +1 -1
  286. package/types/factories/CERC20__factory.ts +13 -0
  287. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  288. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  289. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  290. package/types/factories/DAOContract__factory.ts +1 -1
  291. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  292. package/types/factories/DistributionBridgeMock__factory.ts +207 -0
  293. package/types/factories/DistributionHelperTestHelper__factory.ts +737 -0
  294. package/types/factories/DistributionHelperTest__factory.ts +717 -0
  295. package/types/factories/DistributionHelper__factory.ts +713 -0
  296. package/types/factories/DonationsStaking__factory.ts +1 -1
  297. package/types/factories/ERC165__factory.ts +39 -0
  298. package/types/factories/ERC20__factory.ts +13 -0
  299. package/types/factories/ExchangeHelper__factory.ts +1 -1
  300. package/types/factories/FuseFaucet__factory.ts +1 -1
  301. package/types/factories/FuseStakingV3__factory.ts +1 -1
  302. package/types/factories/GReputation__factory.ts +1 -1
  303. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  304. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  305. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  306. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  307. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  308. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1318 -0
  309. package/types/factories/GoodDollarStakingMock__factory.ts +1404 -0
  310. package/types/factories/GoodDollarStaking__factory.ts +1400 -0
  311. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  312. package/types/factories/GoodFundManager__factory.ts +1 -1
  313. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  314. package/types/factories/GoodReserveCDai__factory.ts +74 -34
  315. package/types/factories/GovernanceStaking__factory.ts +1 -1
  316. package/types/factories/IAccessControl__factory.ts +198 -0
  317. package/types/factories/IERC165__factory.ts +42 -0
  318. package/types/factories/IERC20Metadata__factory.ts +248 -0
  319. package/types/factories/IERC20__factory.ts +203 -0
  320. package/types/factories/IERC2917__factory.ts +13 -0
  321. package/types/factories/IGoodDollarStakingTest__factory.ts +68 -0
  322. package/types/factories/IMultichainRouter__factory.ts +82 -0
  323. package/types/factories/IRouter__factory.ts +71 -0
  324. package/types/factories/IWrapper__factory.ts +71 -0
  325. package/types/factories/InvitesV1__factory.ts +1 -1
  326. package/types/factories/MultichainBridgeHelper__factory.ts +134 -0
  327. package/types/factories/MultichainRouterMock__factory.ts +141 -0
  328. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  329. package/types/factories/OverMintTester__factory.ts +3 -3
  330. package/types/factories/PausableControl__factory.ts +84 -0
  331. package/types/factories/Pausable__factory.ts +62 -0
  332. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  333. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  334. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  335. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  336. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  337. package/types/factories/Reputation__factory.ts +1 -1
  338. package/types/factories/RewardsMinter__factory.ts +47 -0
  339. package/types/factories/StakersDistribution__factory.ts +1 -1
  340. package/types/factories/StakingMockFixedAPY__factory.ts +745 -0
  341. package/types/factories/StakingRewardsFixedAPY__factory.ts +287 -0
  342. package/types/factories/SwapHelperTest__factory.ts +1 -1
  343. package/types/factories/UBIScheme__factory.ts +1 -1
  344. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  345. package/types/factories/UpgradableMock2__factory.ts +1 -1
  346. package/types/factories/UpgradableMock3__factory.ts +1 -1
  347. package/types/factories/UpgradableMock4__factory.ts +1 -1
  348. package/types/factories/UpgradableMock__factory.ts +1 -1
  349. package/types/hardhat.d.ts +225 -9
  350. package/types/index.ts +50 -4
  351. package/yarn.lock +180 -104
  352. package/types/factories/BulkProof__factory.ts +0 -89
@@ -40,13 +40,13 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
40
40
  "buy(uint256,uint256,address)": FunctionFragment;
41
41
  "cDaiAddress()": FunctionFragment;
42
42
  "cap()": FunctionFragment;
43
- "claimGDX(address,uint256,bytes32[])": FunctionFragment;
44
43
  "currentPrice()": FunctionFragment;
45
44
  "currentPriceDAI()": FunctionFragment;
46
45
  "daiAddress()": FunctionFragment;
47
46
  "dao()": FunctionFragment;
48
47
  "decimals()": FunctionFragment;
49
48
  "decreaseAllowance(address,uint256)": FunctionFragment;
49
+ "distributionHelper()": FunctionFragment;
50
50
  "end()": FunctionFragment;
51
51
  "gdxAirdrop()": FunctionFragment;
52
52
  "getMarketMaker()": FunctionFragment;
@@ -65,6 +65,7 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
65
65
  "name()": FunctionFragment;
66
66
  "nameService()": FunctionFragment;
67
67
  "nativeToken()": FunctionFragment;
68
+ "nonUbiBps()": FunctionFragment;
68
69
  "pause()": FunctionFragment;
69
70
  "paused()": FunctionFragment;
70
71
  "pre(address,bytes32,bytes32)": FunctionFragment;
@@ -73,7 +74,7 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
73
74
  "revokeRole(bytes32,address)": FunctionFragment;
74
75
  "sell(uint256,uint256,address,address)": FunctionFragment;
75
76
  "setAddresses()": FunctionFragment;
76
- "setGDXAirdrop(bytes32)": FunctionFragment;
77
+ "setDistributionHelper(address,uint32)": FunctionFragment;
77
78
  "setReserveRatioDailyExpansion(uint256,uint256)": FunctionFragment;
78
79
  "supportsInterface(bytes4)": FunctionFragment;
79
80
  "symbol()": FunctionFragment;
@@ -127,10 +128,6 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
127
128
  values?: undefined
128
129
  ): string;
129
130
  encodeFunctionData(functionFragment: "cap", values?: undefined): string;
130
- encodeFunctionData(
131
- functionFragment: "claimGDX",
132
- values: [string, BigNumberish, BytesLike[]]
133
- ): string;
134
131
  encodeFunctionData(
135
132
  functionFragment: "currentPrice",
136
133
  values?: undefined
@@ -149,6 +146,10 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
149
146
  functionFragment: "decreaseAllowance",
150
147
  values: [string, BigNumberish]
151
148
  ): string;
149
+ encodeFunctionData(
150
+ functionFragment: "distributionHelper",
151
+ values?: undefined
152
+ ): string;
152
153
  encodeFunctionData(functionFragment: "end", values?: undefined): string;
153
154
  encodeFunctionData(
154
155
  functionFragment: "gdxAirdrop",
@@ -215,6 +216,7 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
215
216
  functionFragment: "nativeToken",
216
217
  values?: undefined
217
218
  ): string;
219
+ encodeFunctionData(functionFragment: "nonUbiBps", values?: undefined): string;
218
220
  encodeFunctionData(functionFragment: "pause", values?: undefined): string;
219
221
  encodeFunctionData(functionFragment: "paused", values?: undefined): string;
220
222
  encodeFunctionData(
@@ -239,8 +241,8 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
239
241
  values?: undefined
240
242
  ): string;
241
243
  encodeFunctionData(
242
- functionFragment: "setGDXAirdrop",
243
- values: [BytesLike]
244
+ functionFragment: "setDistributionHelper",
245
+ values: [string, BigNumberish]
244
246
  ): string;
245
247
  encodeFunctionData(
246
248
  functionFragment: "setReserveRatioDailyExpansion",
@@ -303,7 +305,6 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
303
305
  data: BytesLike
304
306
  ): Result;
305
307
  decodeFunctionResult(functionFragment: "cap", data: BytesLike): Result;
306
- decodeFunctionResult(functionFragment: "claimGDX", data: BytesLike): Result;
307
308
  decodeFunctionResult(
308
309
  functionFragment: "currentPrice",
309
310
  data: BytesLike
@@ -319,6 +320,10 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
319
320
  functionFragment: "decreaseAllowance",
320
321
  data: BytesLike
321
322
  ): Result;
323
+ decodeFunctionResult(
324
+ functionFragment: "distributionHelper",
325
+ data: BytesLike
326
+ ): Result;
322
327
  decodeFunctionResult(functionFragment: "end", data: BytesLike): Result;
323
328
  decodeFunctionResult(functionFragment: "gdxAirdrop", data: BytesLike): Result;
324
329
  decodeFunctionResult(
@@ -364,6 +369,7 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
364
369
  functionFragment: "nativeToken",
365
370
  data: BytesLike
366
371
  ): Result;
372
+ decodeFunctionResult(functionFragment: "nonUbiBps", data: BytesLike): Result;
367
373
  decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
368
374
  decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
369
375
  decodeFunctionResult(functionFragment: "pre", data: BytesLike): Result;
@@ -379,7 +385,7 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
379
385
  data: BytesLike
380
386
  ): Result;
381
387
  decodeFunctionResult(
382
- functionFragment: "setGDXAirdrop",
388
+ functionFragment: "setDistributionHelper",
383
389
  data: BytesLike
384
390
  ): Result;
385
391
  decodeFunctionResult(
@@ -416,6 +422,8 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
416
422
  "AdminChanged(address,address)": EventFragment;
417
423
  "Approval(address,address,uint256)": EventFragment;
418
424
  "BeaconUpgraded(address)": EventFragment;
425
+ "DistributionHelperSet(address,uint32)": EventFragment;
426
+ "NonUBIMinted(address,uint256)": EventFragment;
419
427
  "Paused(address)": EventFragment;
420
428
  "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
421
429
  "RoleGranted(bytes32,address,address)": EventFragment;
@@ -431,6 +439,8 @@ export interface GoodReserveCDaiInterface extends ethers.utils.Interface {
431
439
  getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
432
440
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
433
441
  getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
442
+ getEvent(nameOrSignatureOrTopic: "DistributionHelperSet"): EventFragment;
443
+ getEvent(nameOrSignatureOrTopic: "NonUBIMinted"): EventFragment;
434
444
  getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment;
435
445
  getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
436
446
  getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
@@ -461,6 +471,21 @@ export type BeaconUpgradedEvent = TypedEvent<[string], { beacon: string }>;
461
471
 
462
472
  export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
463
473
 
474
+ export type DistributionHelperSetEvent = TypedEvent<
475
+ [string, number],
476
+ { distributionHelper: string; bps: number }
477
+ >;
478
+
479
+ export type DistributionHelperSetEventFilter =
480
+ TypedEventFilter<DistributionHelperSetEvent>;
481
+
482
+ export type NonUBIMintedEvent = TypedEvent<
483
+ [string, BigNumber],
484
+ { distributionHelper: string; amountMinted: BigNumber }
485
+ >;
486
+
487
+ export type NonUBIMintedEventFilter = TypedEventFilter<NonUBIMintedEvent>;
488
+
464
489
  export type PausedEvent = TypedEvent<[string], { account: string }>;
465
490
 
466
491
  export type PausedEventFilter = TypedEventFilter<PausedEvent>;
@@ -616,13 +641,6 @@ export interface GoodReserveCDai extends BaseContract {
616
641
 
617
642
  cap(overrides?: CallOverrides): Promise<[BigNumber]>;
618
643
 
619
- claimGDX(
620
- _user: string,
621
- _gdx: BigNumberish,
622
- _proof: BytesLike[],
623
- overrides?: Overrides & { from?: string | Promise<string> }
624
- ): Promise<ContractTransaction>;
625
-
626
644
  currentPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
627
645
 
628
646
  currentPriceDAI(overrides?: CallOverrides): Promise<[BigNumber]>;
@@ -639,6 +657,8 @@ export interface GoodReserveCDai extends BaseContract {
639
657
  overrides?: Overrides & { from?: string | Promise<string> }
640
658
  ): Promise<ContractTransaction>;
641
659
 
660
+ distributionHelper(overrides?: CallOverrides): Promise<[string]>;
661
+
642
662
  end(
643
663
  overrides?: Overrides & { from?: string | Promise<string> }
644
664
  ): Promise<ContractTransaction>;
@@ -720,6 +740,8 @@ export interface GoodReserveCDai extends BaseContract {
720
740
 
721
741
  nativeToken(overrides?: CallOverrides): Promise<[string]>;
722
742
 
743
+ nonUbiBps(overrides?: CallOverrides): Promise<[number]>;
744
+
723
745
  pause(
724
746
  overrides?: Overrides & { from?: string | Promise<string> }
725
747
  ): Promise<ContractTransaction>;
@@ -762,8 +784,9 @@ export interface GoodReserveCDai extends BaseContract {
762
784
  overrides?: Overrides & { from?: string | Promise<string> }
763
785
  ): Promise<ContractTransaction>;
764
786
 
765
- setGDXAirdrop(
766
- _airdrop: BytesLike,
787
+ setDistributionHelper(
788
+ _helper: string,
789
+ _bps: BigNumberish,
767
790
  overrides?: Overrides & { from?: string | Promise<string> }
768
791
  ): Promise<ContractTransaction>;
769
792
 
@@ -863,13 +886,6 @@ export interface GoodReserveCDai extends BaseContract {
863
886
 
864
887
  cap(overrides?: CallOverrides): Promise<BigNumber>;
865
888
 
866
- claimGDX(
867
- _user: string,
868
- _gdx: BigNumberish,
869
- _proof: BytesLike[],
870
- overrides?: Overrides & { from?: string | Promise<string> }
871
- ): Promise<ContractTransaction>;
872
-
873
889
  currentPrice(overrides?: CallOverrides): Promise<BigNumber>;
874
890
 
875
891
  currentPriceDAI(overrides?: CallOverrides): Promise<BigNumber>;
@@ -886,6 +902,8 @@ export interface GoodReserveCDai extends BaseContract {
886
902
  overrides?: Overrides & { from?: string | Promise<string> }
887
903
  ): Promise<ContractTransaction>;
888
904
 
905
+ distributionHelper(overrides?: CallOverrides): Promise<string>;
906
+
889
907
  end(
890
908
  overrides?: Overrides & { from?: string | Promise<string> }
891
909
  ): Promise<ContractTransaction>;
@@ -967,6 +985,8 @@ export interface GoodReserveCDai extends BaseContract {
967
985
 
968
986
  nativeToken(overrides?: CallOverrides): Promise<string>;
969
987
 
988
+ nonUbiBps(overrides?: CallOverrides): Promise<number>;
989
+
970
990
  pause(
971
991
  overrides?: Overrides & { from?: string | Promise<string> }
972
992
  ): Promise<ContractTransaction>;
@@ -1009,8 +1029,9 @@ export interface GoodReserveCDai extends BaseContract {
1009
1029
  overrides?: Overrides & { from?: string | Promise<string> }
1010
1030
  ): Promise<ContractTransaction>;
1011
1031
 
1012
- setGDXAirdrop(
1013
- _airdrop: BytesLike,
1032
+ setDistributionHelper(
1033
+ _helper: string,
1034
+ _bps: BigNumberish,
1014
1035
  overrides?: Overrides & { from?: string | Promise<string> }
1015
1036
  ): Promise<ContractTransaction>;
1016
1037
 
@@ -1107,13 +1128,6 @@ export interface GoodReserveCDai extends BaseContract {
1107
1128
 
1108
1129
  cap(overrides?: CallOverrides): Promise<BigNumber>;
1109
1130
 
1110
- claimGDX(
1111
- _user: string,
1112
- _gdx: BigNumberish,
1113
- _proof: BytesLike[],
1114
- overrides?: CallOverrides
1115
- ): Promise<boolean>;
1116
-
1117
1131
  currentPrice(overrides?: CallOverrides): Promise<BigNumber>;
1118
1132
 
1119
1133
  currentPriceDAI(overrides?: CallOverrides): Promise<BigNumber>;
@@ -1130,6 +1144,8 @@ export interface GoodReserveCDai extends BaseContract {
1130
1144
  overrides?: CallOverrides
1131
1145
  ): Promise<boolean>;
1132
1146
 
1147
+ distributionHelper(overrides?: CallOverrides): Promise<string>;
1148
+
1133
1149
  end(overrides?: CallOverrides): Promise<void>;
1134
1150
 
1135
1151
  gdxAirdrop(overrides?: CallOverrides): Promise<string>;
@@ -1209,6 +1225,8 @@ export interface GoodReserveCDai extends BaseContract {
1209
1225
 
1210
1226
  nativeToken(overrides?: CallOverrides): Promise<string>;
1211
1227
 
1228
+ nonUbiBps(overrides?: CallOverrides): Promise<number>;
1229
+
1212
1230
  pause(overrides?: CallOverrides): Promise<void>;
1213
1231
 
1214
1232
  paused(overrides?: CallOverrides): Promise<boolean>;
@@ -1244,8 +1262,9 @@ export interface GoodReserveCDai extends BaseContract {
1244
1262
 
1245
1263
  setAddresses(overrides?: CallOverrides): Promise<void>;
1246
1264
 
1247
- setGDXAirdrop(
1248
- _airdrop: BytesLike,
1265
+ setDistributionHelper(
1266
+ _helper: string,
1267
+ _bps: BigNumberish,
1249
1268
  overrides?: CallOverrides
1250
1269
  ): Promise<void>;
1251
1270
 
@@ -1321,6 +1340,24 @@ export interface GoodReserveCDai extends BaseContract {
1321
1340
  ): BeaconUpgradedEventFilter;
1322
1341
  BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter;
1323
1342
 
1343
+ "DistributionHelperSet(address,uint32)"(
1344
+ distributionHelper?: null,
1345
+ bps?: null
1346
+ ): DistributionHelperSetEventFilter;
1347
+ DistributionHelperSet(
1348
+ distributionHelper?: null,
1349
+ bps?: null
1350
+ ): DistributionHelperSetEventFilter;
1351
+
1352
+ "NonUBIMinted(address,uint256)"(
1353
+ distributionHelper?: null,
1354
+ amountMinted?: null
1355
+ ): NonUBIMintedEventFilter;
1356
+ NonUBIMinted(
1357
+ distributionHelper?: null,
1358
+ amountMinted?: null
1359
+ ): NonUBIMintedEventFilter;
1360
+
1324
1361
  "Paused(address)"(account?: null): PausedEventFilter;
1325
1362
  Paused(account?: null): PausedEventFilter;
1326
1363
 
@@ -1471,13 +1508,6 @@ export interface GoodReserveCDai extends BaseContract {
1471
1508
 
1472
1509
  cap(overrides?: CallOverrides): Promise<BigNumber>;
1473
1510
 
1474
- claimGDX(
1475
- _user: string,
1476
- _gdx: BigNumberish,
1477
- _proof: BytesLike[],
1478
- overrides?: Overrides & { from?: string | Promise<string> }
1479
- ): Promise<BigNumber>;
1480
-
1481
1511
  currentPrice(overrides?: CallOverrides): Promise<BigNumber>;
1482
1512
 
1483
1513
  currentPriceDAI(overrides?: CallOverrides): Promise<BigNumber>;
@@ -1494,6 +1524,8 @@ export interface GoodReserveCDai extends BaseContract {
1494
1524
  overrides?: Overrides & { from?: string | Promise<string> }
1495
1525
  ): Promise<BigNumber>;
1496
1526
 
1527
+ distributionHelper(overrides?: CallOverrides): Promise<BigNumber>;
1528
+
1497
1529
  end(
1498
1530
  overrides?: Overrides & { from?: string | Promise<string> }
1499
1531
  ): Promise<BigNumber>;
@@ -1578,6 +1610,8 @@ export interface GoodReserveCDai extends BaseContract {
1578
1610
 
1579
1611
  nativeToken(overrides?: CallOverrides): Promise<BigNumber>;
1580
1612
 
1613
+ nonUbiBps(overrides?: CallOverrides): Promise<BigNumber>;
1614
+
1581
1615
  pause(
1582
1616
  overrides?: Overrides & { from?: string | Promise<string> }
1583
1617
  ): Promise<BigNumber>;
@@ -1620,8 +1654,9 @@ export interface GoodReserveCDai extends BaseContract {
1620
1654
  overrides?: Overrides & { from?: string | Promise<string> }
1621
1655
  ): Promise<BigNumber>;
1622
1656
 
1623
- setGDXAirdrop(
1624
- _airdrop: BytesLike,
1657
+ setDistributionHelper(
1658
+ _helper: string,
1659
+ _bps: BigNumberish,
1625
1660
  overrides?: Overrides & { from?: string | Promise<string> }
1626
1661
  ): Promise<BigNumber>;
1627
1662
 
@@ -1729,13 +1764,6 @@ export interface GoodReserveCDai extends BaseContract {
1729
1764
 
1730
1765
  cap(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1731
1766
 
1732
- claimGDX(
1733
- _user: string,
1734
- _gdx: BigNumberish,
1735
- _proof: BytesLike[],
1736
- overrides?: Overrides & { from?: string | Promise<string> }
1737
- ): Promise<PopulatedTransaction>;
1738
-
1739
1767
  currentPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1740
1768
 
1741
1769
  currentPriceDAI(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -1752,6 +1780,10 @@ export interface GoodReserveCDai extends BaseContract {
1752
1780
  overrides?: Overrides & { from?: string | Promise<string> }
1753
1781
  ): Promise<PopulatedTransaction>;
1754
1782
 
1783
+ distributionHelper(
1784
+ overrides?: CallOverrides
1785
+ ): Promise<PopulatedTransaction>;
1786
+
1755
1787
  end(
1756
1788
  overrides?: Overrides & { from?: string | Promise<string> }
1757
1789
  ): Promise<PopulatedTransaction>;
@@ -1839,6 +1871,8 @@ export interface GoodReserveCDai extends BaseContract {
1839
1871
 
1840
1872
  nativeToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1841
1873
 
1874
+ nonUbiBps(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1875
+
1842
1876
  pause(
1843
1877
  overrides?: Overrides & { from?: string | Promise<string> }
1844
1878
  ): Promise<PopulatedTransaction>;
@@ -1881,8 +1915,9 @@ export interface GoodReserveCDai extends BaseContract {
1881
1915
  overrides?: Overrides & { from?: string | Promise<string> }
1882
1916
  ): Promise<PopulatedTransaction>;
1883
1917
 
1884
- setGDXAirdrop(
1885
- _airdrop: BytesLike,
1918
+ setDistributionHelper(
1919
+ _helper: string,
1920
+ _bps: BigNumberish,
1886
1921
  overrides?: Overrides & { from?: string | Promise<string> }
1887
1922
  ): Promise<PopulatedTransaction>;
1888
1923
 
@@ -0,0 +1,306 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ ethers,
7
+ EventFilter,
8
+ Signer,
9
+ BigNumber,
10
+ BigNumberish,
11
+ PopulatedTransaction,
12
+ BaseContract,
13
+ ContractTransaction,
14
+ Overrides,
15
+ CallOverrides,
16
+ } from "ethers";
17
+ import { BytesLike } from "@ethersproject/bytes";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
20
+ import type {
21
+ TypedEventFilter,
22
+ TypedEvent,
23
+ TypedListener,
24
+ OnEvent,
25
+ } from "./common";
26
+
27
+ export interface IAccessControlInterface extends ethers.utils.Interface {
28
+ functions: {
29
+ "getRoleAdmin(bytes32)": FunctionFragment;
30
+ "grantRole(bytes32,address)": FunctionFragment;
31
+ "hasRole(bytes32,address)": FunctionFragment;
32
+ "renounceRole(bytes32,address)": FunctionFragment;
33
+ "revokeRole(bytes32,address)": FunctionFragment;
34
+ };
35
+
36
+ encodeFunctionData(
37
+ functionFragment: "getRoleAdmin",
38
+ values: [BytesLike]
39
+ ): string;
40
+ encodeFunctionData(
41
+ functionFragment: "grantRole",
42
+ values: [BytesLike, string]
43
+ ): string;
44
+ encodeFunctionData(
45
+ functionFragment: "hasRole",
46
+ values: [BytesLike, string]
47
+ ): string;
48
+ encodeFunctionData(
49
+ functionFragment: "renounceRole",
50
+ values: [BytesLike, string]
51
+ ): string;
52
+ encodeFunctionData(
53
+ functionFragment: "revokeRole",
54
+ values: [BytesLike, string]
55
+ ): string;
56
+
57
+ decodeFunctionResult(
58
+ functionFragment: "getRoleAdmin",
59
+ data: BytesLike
60
+ ): Result;
61
+ decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
62
+ decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
63
+ decodeFunctionResult(
64
+ functionFragment: "renounceRole",
65
+ data: BytesLike
66
+ ): Result;
67
+ decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
68
+
69
+ events: {
70
+ "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
71
+ "RoleGranted(bytes32,address,address)": EventFragment;
72
+ "RoleRevoked(bytes32,address,address)": EventFragment;
73
+ };
74
+
75
+ getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
76
+ getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
77
+ getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
78
+ }
79
+
80
+ export type RoleAdminChangedEvent = TypedEvent<
81
+ [string, string, string],
82
+ { role: string; previousAdminRole: string; newAdminRole: string }
83
+ >;
84
+
85
+ export type RoleAdminChangedEventFilter =
86
+ TypedEventFilter<RoleAdminChangedEvent>;
87
+
88
+ export type RoleGrantedEvent = TypedEvent<
89
+ [string, string, string],
90
+ { role: string; account: string; sender: string }
91
+ >;
92
+
93
+ export type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
94
+
95
+ export type RoleRevokedEvent = TypedEvent<
96
+ [string, string, string],
97
+ { role: string; account: string; sender: string }
98
+ >;
99
+
100
+ export type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
101
+
102
+ export interface IAccessControl extends BaseContract {
103
+ connect(signerOrProvider: Signer | Provider | string): this;
104
+ attach(addressOrName: string): this;
105
+ deployed(): Promise<this>;
106
+
107
+ interface: IAccessControlInterface;
108
+
109
+ queryFilter<TEvent extends TypedEvent>(
110
+ event: TypedEventFilter<TEvent>,
111
+ fromBlockOrBlockhash?: string | number | undefined,
112
+ toBlock?: string | number | undefined
113
+ ): Promise<Array<TEvent>>;
114
+
115
+ listeners<TEvent extends TypedEvent>(
116
+ eventFilter?: TypedEventFilter<TEvent>
117
+ ): Array<TypedListener<TEvent>>;
118
+ listeners(eventName?: string): Array<Listener>;
119
+ removeAllListeners<TEvent extends TypedEvent>(
120
+ eventFilter: TypedEventFilter<TEvent>
121
+ ): this;
122
+ removeAllListeners(eventName?: string): this;
123
+ off: OnEvent<this>;
124
+ on: OnEvent<this>;
125
+ once: OnEvent<this>;
126
+ removeListener: OnEvent<this>;
127
+
128
+ functions: {
129
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
130
+
131
+ grantRole(
132
+ role: BytesLike,
133
+ account: string,
134
+ overrides?: Overrides & { from?: string | Promise<string> }
135
+ ): Promise<ContractTransaction>;
136
+
137
+ hasRole(
138
+ role: BytesLike,
139
+ account: string,
140
+ overrides?: CallOverrides
141
+ ): Promise<[boolean]>;
142
+
143
+ renounceRole(
144
+ role: BytesLike,
145
+ account: string,
146
+ overrides?: Overrides & { from?: string | Promise<string> }
147
+ ): Promise<ContractTransaction>;
148
+
149
+ revokeRole(
150
+ role: BytesLike,
151
+ account: string,
152
+ overrides?: Overrides & { from?: string | Promise<string> }
153
+ ): Promise<ContractTransaction>;
154
+ };
155
+
156
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
157
+
158
+ grantRole(
159
+ role: BytesLike,
160
+ account: string,
161
+ overrides?: Overrides & { from?: string | Promise<string> }
162
+ ): Promise<ContractTransaction>;
163
+
164
+ hasRole(
165
+ role: BytesLike,
166
+ account: string,
167
+ overrides?: CallOverrides
168
+ ): Promise<boolean>;
169
+
170
+ renounceRole(
171
+ role: BytesLike,
172
+ account: string,
173
+ overrides?: Overrides & { from?: string | Promise<string> }
174
+ ): Promise<ContractTransaction>;
175
+
176
+ revokeRole(
177
+ role: BytesLike,
178
+ account: string,
179
+ overrides?: Overrides & { from?: string | Promise<string> }
180
+ ): Promise<ContractTransaction>;
181
+
182
+ callStatic: {
183
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
184
+
185
+ grantRole(
186
+ role: BytesLike,
187
+ account: string,
188
+ overrides?: CallOverrides
189
+ ): Promise<void>;
190
+
191
+ hasRole(
192
+ role: BytesLike,
193
+ account: string,
194
+ overrides?: CallOverrides
195
+ ): Promise<boolean>;
196
+
197
+ renounceRole(
198
+ role: BytesLike,
199
+ account: string,
200
+ overrides?: CallOverrides
201
+ ): Promise<void>;
202
+
203
+ revokeRole(
204
+ role: BytesLike,
205
+ account: string,
206
+ overrides?: CallOverrides
207
+ ): Promise<void>;
208
+ };
209
+
210
+ filters: {
211
+ "RoleAdminChanged(bytes32,bytes32,bytes32)"(
212
+ role?: BytesLike | null,
213
+ previousAdminRole?: BytesLike | null,
214
+ newAdminRole?: BytesLike | null
215
+ ): RoleAdminChangedEventFilter;
216
+ RoleAdminChanged(
217
+ role?: BytesLike | null,
218
+ previousAdminRole?: BytesLike | null,
219
+ newAdminRole?: BytesLike | null
220
+ ): RoleAdminChangedEventFilter;
221
+
222
+ "RoleGranted(bytes32,address,address)"(
223
+ role?: BytesLike | null,
224
+ account?: string | null,
225
+ sender?: string | null
226
+ ): RoleGrantedEventFilter;
227
+ RoleGranted(
228
+ role?: BytesLike | null,
229
+ account?: string | null,
230
+ sender?: string | null
231
+ ): RoleGrantedEventFilter;
232
+
233
+ "RoleRevoked(bytes32,address,address)"(
234
+ role?: BytesLike | null,
235
+ account?: string | null,
236
+ sender?: string | null
237
+ ): RoleRevokedEventFilter;
238
+ RoleRevoked(
239
+ role?: BytesLike | null,
240
+ account?: string | null,
241
+ sender?: string | null
242
+ ): RoleRevokedEventFilter;
243
+ };
244
+
245
+ estimateGas: {
246
+ getRoleAdmin(
247
+ role: BytesLike,
248
+ overrides?: CallOverrides
249
+ ): Promise<BigNumber>;
250
+
251
+ grantRole(
252
+ role: BytesLike,
253
+ account: string,
254
+ overrides?: Overrides & { from?: string | Promise<string> }
255
+ ): Promise<BigNumber>;
256
+
257
+ hasRole(
258
+ role: BytesLike,
259
+ account: string,
260
+ overrides?: CallOverrides
261
+ ): Promise<BigNumber>;
262
+
263
+ renounceRole(
264
+ role: BytesLike,
265
+ account: string,
266
+ overrides?: Overrides & { from?: string | Promise<string> }
267
+ ): Promise<BigNumber>;
268
+
269
+ revokeRole(
270
+ role: BytesLike,
271
+ account: string,
272
+ overrides?: Overrides & { from?: string | Promise<string> }
273
+ ): Promise<BigNumber>;
274
+ };
275
+
276
+ populateTransaction: {
277
+ getRoleAdmin(
278
+ role: BytesLike,
279
+ overrides?: CallOverrides
280
+ ): Promise<PopulatedTransaction>;
281
+
282
+ grantRole(
283
+ role: BytesLike,
284
+ account: string,
285
+ overrides?: Overrides & { from?: string | Promise<string> }
286
+ ): Promise<PopulatedTransaction>;
287
+
288
+ hasRole(
289
+ role: BytesLike,
290
+ account: string,
291
+ overrides?: CallOverrides
292
+ ): Promise<PopulatedTransaction>;
293
+
294
+ renounceRole(
295
+ role: BytesLike,
296
+ account: string,
297
+ overrides?: Overrides & { from?: string | Promise<string> }
298
+ ): Promise<PopulatedTransaction>;
299
+
300
+ revokeRole(
301
+ role: BytesLike,
302
+ account: string,
303
+ overrides?: Overrides & { from?: string | Promise<string> }
304
+ ): Promise<PopulatedTransaction>;
305
+ };
306
+ }