@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
@@ -0,0 +1,745 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ Signer,
7
+ utils,
8
+ BigNumberish,
9
+ Contract,
10
+ ContractFactory,
11
+ Overrides,
12
+ } from "ethers";
13
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
14
+ import type {
15
+ StakingMockFixedAPY,
16
+ StakingMockFixedAPYInterface,
17
+ } from "../StakingMockFixedAPY";
18
+
19
+ const _abi = [
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "uint128",
24
+ name: "_interestRatePerBlock",
25
+ type: "uint128",
26
+ },
27
+ ],
28
+ stateMutability: "nonpayable",
29
+ type: "constructor",
30
+ },
31
+ {
32
+ anonymous: false,
33
+ inputs: [
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "owner",
38
+ type: "address",
39
+ },
40
+ {
41
+ indexed: true,
42
+ internalType: "address",
43
+ name: "spender",
44
+ type: "address",
45
+ },
46
+ {
47
+ indexed: false,
48
+ internalType: "uint256",
49
+ name: "value",
50
+ type: "uint256",
51
+ },
52
+ ],
53
+ name: "Approval",
54
+ type: "event",
55
+ },
56
+ {
57
+ anonymous: false,
58
+ inputs: [
59
+ {
60
+ indexed: true,
61
+ internalType: "address",
62
+ name: "from",
63
+ type: "address",
64
+ },
65
+ {
66
+ indexed: true,
67
+ internalType: "address",
68
+ name: "to",
69
+ type: "address",
70
+ },
71
+ {
72
+ indexed: false,
73
+ internalType: "uint256",
74
+ name: "value",
75
+ type: "uint256",
76
+ },
77
+ ],
78
+ name: "Transfer",
79
+ type: "event",
80
+ },
81
+ {
82
+ inputs: [],
83
+ name: "PRECISION",
84
+ outputs: [
85
+ {
86
+ internalType: "uint128",
87
+ name: "",
88
+ type: "uint128",
89
+ },
90
+ ],
91
+ stateMutability: "view",
92
+ type: "function",
93
+ },
94
+ {
95
+ inputs: [],
96
+ name: "SHARE_DECIMALS",
97
+ outputs: [
98
+ {
99
+ internalType: "uint128",
100
+ name: "",
101
+ type: "uint128",
102
+ },
103
+ ],
104
+ stateMutability: "view",
105
+ type: "function",
106
+ },
107
+ {
108
+ inputs: [],
109
+ name: "SHARE_PRECISION",
110
+ outputs: [
111
+ {
112
+ internalType: "uint128",
113
+ name: "",
114
+ type: "uint128",
115
+ },
116
+ ],
117
+ stateMutability: "view",
118
+ type: "function",
119
+ },
120
+ {
121
+ inputs: [
122
+ {
123
+ internalType: "address",
124
+ name: "owner",
125
+ type: "address",
126
+ },
127
+ {
128
+ internalType: "address",
129
+ name: "spender",
130
+ type: "address",
131
+ },
132
+ ],
133
+ name: "allowance",
134
+ outputs: [
135
+ {
136
+ internalType: "uint256",
137
+ name: "",
138
+ type: "uint256",
139
+ },
140
+ ],
141
+ stateMutability: "view",
142
+ type: "function",
143
+ },
144
+ {
145
+ inputs: [
146
+ {
147
+ internalType: "uint256",
148
+ name: "_amount",
149
+ type: "uint256",
150
+ },
151
+ ],
152
+ name: "amountToShares",
153
+ outputs: [
154
+ {
155
+ internalType: "uint256",
156
+ name: "shares",
157
+ type: "uint256",
158
+ },
159
+ ],
160
+ stateMutability: "view",
161
+ type: "function",
162
+ },
163
+ {
164
+ inputs: [
165
+ {
166
+ internalType: "address",
167
+ name: "spender",
168
+ type: "address",
169
+ },
170
+ {
171
+ internalType: "uint256",
172
+ name: "amount",
173
+ type: "uint256",
174
+ },
175
+ ],
176
+ name: "approve",
177
+ outputs: [
178
+ {
179
+ internalType: "bool",
180
+ name: "",
181
+ type: "bool",
182
+ },
183
+ ],
184
+ stateMutability: "nonpayable",
185
+ type: "function",
186
+ },
187
+ {
188
+ inputs: [
189
+ {
190
+ internalType: "address",
191
+ name: "account",
192
+ type: "address",
193
+ },
194
+ ],
195
+ name: "balanceOf",
196
+ outputs: [
197
+ {
198
+ internalType: "uint256",
199
+ name: "",
200
+ type: "uint256",
201
+ },
202
+ ],
203
+ stateMutability: "view",
204
+ type: "function",
205
+ },
206
+ {
207
+ inputs: [],
208
+ name: "compound",
209
+ outputs: [
210
+ {
211
+ internalType: "uint256",
212
+ name: "compoundedSavings",
213
+ type: "uint256",
214
+ },
215
+ ],
216
+ stateMutability: "view",
217
+ type: "function",
218
+ },
219
+ {
220
+ inputs: [],
221
+ name: "compoundNextBlock",
222
+ outputs: [
223
+ {
224
+ internalType: "uint256",
225
+ name: "compoundedSavings",
226
+ type: "uint256",
227
+ },
228
+ ],
229
+ stateMutability: "view",
230
+ type: "function",
231
+ },
232
+ {
233
+ inputs: [],
234
+ name: "decimals",
235
+ outputs: [
236
+ {
237
+ internalType: "uint8",
238
+ name: "",
239
+ type: "uint8",
240
+ },
241
+ ],
242
+ stateMutability: "view",
243
+ type: "function",
244
+ },
245
+ {
246
+ inputs: [
247
+ {
248
+ internalType: "address",
249
+ name: "spender",
250
+ type: "address",
251
+ },
252
+ {
253
+ internalType: "uint256",
254
+ name: "subtractedValue",
255
+ type: "uint256",
256
+ },
257
+ ],
258
+ name: "decreaseAllowance",
259
+ outputs: [
260
+ {
261
+ internalType: "bool",
262
+ name: "",
263
+ type: "bool",
264
+ },
265
+ ],
266
+ stateMutability: "nonpayable",
267
+ type: "function",
268
+ },
269
+ {
270
+ inputs: [
271
+ {
272
+ internalType: "address",
273
+ name: "_account",
274
+ type: "address",
275
+ },
276
+ ],
277
+ name: "earned",
278
+ outputs: [
279
+ {
280
+ internalType: "uint256",
281
+ name: "earnedRewards",
282
+ type: "uint256",
283
+ },
284
+ ],
285
+ stateMutability: "view",
286
+ type: "function",
287
+ },
288
+ {
289
+ inputs: [],
290
+ name: "getRewardsDebt",
291
+ outputs: [
292
+ {
293
+ internalType: "uint256",
294
+ name: "debt",
295
+ type: "uint256",
296
+ },
297
+ ],
298
+ stateMutability: "view",
299
+ type: "function",
300
+ },
301
+ {
302
+ inputs: [
303
+ {
304
+ internalType: "address",
305
+ name: "_account",
306
+ type: "address",
307
+ },
308
+ ],
309
+ name: "getSavings",
310
+ outputs: [
311
+ {
312
+ internalType: "uint256",
313
+ name: "balance",
314
+ type: "uint256",
315
+ },
316
+ ],
317
+ stateMutability: "view",
318
+ type: "function",
319
+ },
320
+ {
321
+ inputs: [
322
+ {
323
+ internalType: "address",
324
+ name: "spender",
325
+ type: "address",
326
+ },
327
+ {
328
+ internalType: "uint256",
329
+ name: "addedValue",
330
+ type: "uint256",
331
+ },
332
+ ],
333
+ name: "increaseAllowance",
334
+ outputs: [
335
+ {
336
+ internalType: "bool",
337
+ name: "",
338
+ type: "bool",
339
+ },
340
+ ],
341
+ stateMutability: "nonpayable",
342
+ type: "function",
343
+ },
344
+ {
345
+ inputs: [],
346
+ name: "interestRatePerBlockX64",
347
+ outputs: [
348
+ {
349
+ internalType: "int128",
350
+ name: "",
351
+ type: "int128",
352
+ },
353
+ ],
354
+ stateMutability: "view",
355
+ type: "function",
356
+ },
357
+ {
358
+ inputs: [
359
+ {
360
+ internalType: "address",
361
+ name: "_account",
362
+ type: "address",
363
+ },
364
+ ],
365
+ name: "lastSharePrice",
366
+ outputs: [
367
+ {
368
+ internalType: "uint256",
369
+ name: "price",
370
+ type: "uint256",
371
+ },
372
+ ],
373
+ stateMutability: "view",
374
+ type: "function",
375
+ },
376
+ {
377
+ inputs: [],
378
+ name: "name",
379
+ outputs: [
380
+ {
381
+ internalType: "string",
382
+ name: "",
383
+ type: "string",
384
+ },
385
+ ],
386
+ stateMutability: "view",
387
+ type: "function",
388
+ },
389
+ {
390
+ inputs: [
391
+ {
392
+ internalType: "address",
393
+ name: "_account",
394
+ type: "address",
395
+ },
396
+ ],
397
+ name: "principle",
398
+ outputs: [
399
+ {
400
+ internalType: "uint256",
401
+ name: "deposited",
402
+ type: "uint256",
403
+ },
404
+ ],
405
+ stateMutability: "view",
406
+ type: "function",
407
+ },
408
+ {
409
+ inputs: [
410
+ {
411
+ internalType: "uint128",
412
+ name: "_interestRatePerBlock",
413
+ type: "uint128",
414
+ },
415
+ ],
416
+ name: "setAPY",
417
+ outputs: [],
418
+ stateMutability: "nonpayable",
419
+ type: "function",
420
+ },
421
+ {
422
+ inputs: [],
423
+ name: "sharePrice",
424
+ outputs: [
425
+ {
426
+ internalType: "uint256",
427
+ name: "price",
428
+ type: "uint256",
429
+ },
430
+ ],
431
+ stateMutability: "view",
432
+ type: "function",
433
+ },
434
+ {
435
+ inputs: [
436
+ {
437
+ internalType: "address",
438
+ name: "_account",
439
+ type: "address",
440
+ },
441
+ ],
442
+ name: "sharesOf",
443
+ outputs: [
444
+ {
445
+ internalType: "uint256",
446
+ name: "",
447
+ type: "uint256",
448
+ },
449
+ ],
450
+ stateMutability: "view",
451
+ type: "function",
452
+ },
453
+ {
454
+ inputs: [],
455
+ name: "sharesSupply",
456
+ outputs: [
457
+ {
458
+ internalType: "uint256",
459
+ name: "",
460
+ type: "uint256",
461
+ },
462
+ ],
463
+ stateMutability: "view",
464
+ type: "function",
465
+ },
466
+ {
467
+ inputs: [
468
+ {
469
+ internalType: "address",
470
+ name: "_from",
471
+ type: "address",
472
+ },
473
+ {
474
+ internalType: "uint256",
475
+ name: "_amount",
476
+ type: "uint256",
477
+ },
478
+ ],
479
+ name: "stake",
480
+ outputs: [],
481
+ stateMutability: "nonpayable",
482
+ type: "function",
483
+ },
484
+ {
485
+ inputs: [
486
+ {
487
+ internalType: "address",
488
+ name: "",
489
+ type: "address",
490
+ },
491
+ ],
492
+ name: "stakersInfo",
493
+ outputs: [
494
+ {
495
+ internalType: "uint128",
496
+ name: "lastSharePrice",
497
+ type: "uint128",
498
+ },
499
+ {
500
+ internalType: "uint128",
501
+ name: "rewardsPaid",
502
+ type: "uint128",
503
+ },
504
+ ],
505
+ stateMutability: "view",
506
+ type: "function",
507
+ },
508
+ {
509
+ inputs: [],
510
+ name: "stats",
511
+ outputs: [
512
+ {
513
+ internalType: "uint128",
514
+ name: "lastUpdateBlock",
515
+ type: "uint128",
516
+ },
517
+ {
518
+ internalType: "uint128",
519
+ name: "totalStaked",
520
+ type: "uint128",
521
+ },
522
+ {
523
+ internalType: "uint128",
524
+ name: "totalRewardsPaid",
525
+ type: "uint128",
526
+ },
527
+ {
528
+ internalType: "uint256",
529
+ name: "savings",
530
+ type: "uint256",
531
+ },
532
+ ],
533
+ stateMutability: "view",
534
+ type: "function",
535
+ },
536
+ {
537
+ inputs: [],
538
+ name: "symbol",
539
+ outputs: [
540
+ {
541
+ internalType: "string",
542
+ name: "",
543
+ type: "string",
544
+ },
545
+ ],
546
+ stateMutability: "view",
547
+ type: "function",
548
+ },
549
+ {
550
+ inputs: [],
551
+ name: "totalSupply",
552
+ outputs: [
553
+ {
554
+ internalType: "uint256",
555
+ name: "",
556
+ type: "uint256",
557
+ },
558
+ ],
559
+ stateMutability: "view",
560
+ type: "function",
561
+ },
562
+ {
563
+ inputs: [
564
+ {
565
+ internalType: "address",
566
+ name: "to",
567
+ type: "address",
568
+ },
569
+ {
570
+ internalType: "uint256",
571
+ name: "amount",
572
+ type: "uint256",
573
+ },
574
+ ],
575
+ name: "transfer",
576
+ outputs: [
577
+ {
578
+ internalType: "bool",
579
+ name: "",
580
+ type: "bool",
581
+ },
582
+ ],
583
+ stateMutability: "nonpayable",
584
+ type: "function",
585
+ },
586
+ {
587
+ inputs: [
588
+ {
589
+ internalType: "address",
590
+ name: "from",
591
+ type: "address",
592
+ },
593
+ {
594
+ internalType: "address",
595
+ name: "to",
596
+ type: "address",
597
+ },
598
+ {
599
+ internalType: "uint256",
600
+ name: "amount",
601
+ type: "uint256",
602
+ },
603
+ ],
604
+ name: "transferFrom",
605
+ outputs: [
606
+ {
607
+ internalType: "bool",
608
+ name: "",
609
+ type: "bool",
610
+ },
611
+ ],
612
+ stateMutability: "nonpayable",
613
+ type: "function",
614
+ },
615
+ {
616
+ inputs: [
617
+ {
618
+ internalType: "address",
619
+ name: "_to",
620
+ type: "address",
621
+ },
622
+ {
623
+ internalType: "uint256",
624
+ name: "_amount",
625
+ type: "uint256",
626
+ },
627
+ ],
628
+ name: "undoReward",
629
+ outputs: [],
630
+ stateMutability: "nonpayable",
631
+ type: "function",
632
+ },
633
+ {
634
+ inputs: [
635
+ {
636
+ internalType: "address",
637
+ name: "_from",
638
+ type: "address",
639
+ },
640
+ {
641
+ internalType: "uint256",
642
+ name: "_shares",
643
+ type: "uint256",
644
+ },
645
+ ],
646
+ name: "withdraw",
647
+ outputs: [
648
+ {
649
+ internalType: "uint256",
650
+ name: "depositComponent",
651
+ type: "uint256",
652
+ },
653
+ {
654
+ internalType: "uint256",
655
+ name: "rewardComponent",
656
+ type: "uint256",
657
+ },
658
+ ],
659
+ stateMutability: "nonpayable",
660
+ type: "function",
661
+ },
662
+ {
663
+ inputs: [
664
+ {
665
+ internalType: "address",
666
+ name: "_from",
667
+ type: "address",
668
+ },
669
+ {
670
+ internalType: "uint256",
671
+ name: "_shares",
672
+ type: "uint256",
673
+ },
674
+ ],
675
+ name: "withdrawAndUndo",
676
+ outputs: [
677
+ {
678
+ internalType: "uint256",
679
+ name: "depositComponent",
680
+ type: "uint256",
681
+ },
682
+ {
683
+ internalType: "uint256",
684
+ name: "rewardComponent",
685
+ type: "uint256",
686
+ },
687
+ ],
688
+ stateMutability: "nonpayable",
689
+ type: "function",
690
+ },
691
+ ];
692
+
693
+ const _bytecode =
694
+ "0x60806040523480156200001157600080fd5b506040516200268b3803806200268b8339810160408190526200003491620006e7565b604080518082018252600f81526e472420536176696e6773204d6f636b60881b6020808301918252835180850190945260088452671b5bd8dadcdd91c960c21b9084015281519192916200008b9160039162000641565b508051620000a190600490602084019062000641565b505050620000b581620000bc60201b60201c565b50620007a1565b620000c662000111565b620000ee816001600160801b0316670de0b6b3a76400006200013b60201b6200095a1760201c565b600980546001600160801b0319166001600160801b039290921691909117905550565b6200011b6200017f565b600755600580546001600160801b031916436001600160801b0316179055565b6000816200014857600080fd5b60006200015684846200020c565b905060016001607f1b036001600160801b03821611156200017657600080fd5b90505b92915050565b60075460009015806200019c57506005546001600160801b031643145b15620001a9575060075490565b600554600090620001e290620001c9906001600160801b03164362000712565b600954600f0b9062000387602090811b6200099817901c565b90506200020660056002015482600f0b620005d460201b62000bbb1790919060201c565b91505090565b6000816200021957600080fd5b60006001600160c01b038411620002495782604085901b8162000240576200024062000738565b04905062000372565b60c084811c640100000000811062000263576020918201911c5b62010000811062000276576010918201911c5b610100811062000288576008918201911c5b6010811062000299576004918201911c5b60048110620002aa576002918201911c5b60028110620002ba576001820191505b60bf820360018603901c6001018260ff0387901b81620002de57620002de62000738565b0492506001600160801b03831115620002f657600080fd5b608085901c83026001600160801b038616840260c088901c604089901b8281101562000323576001820391505b608084901b929003828110156200033b576001820391505b829003608084901c82146200035457620003546200074e565b88818162000366576200036662000738565b04870196505050505050505b6001600160801b038111156200017657600080fd5b600080600084600f0b128015620003a15750826001166001145b905060008085600f0b12620003b75784620003bc565b846000035b6001600160801b03169050600160801b6801000000000000000082116200045e57603f82901b91505b841562000455576001851615620003fc578102607f1c5b908002607f1c90600285161562000413578102607f1c5b908002607f1c9060048516156200042a578102607f1c5b908002607f1c90600885161562000441578102607f1c5b60049490941c93908002607f1c90620003e5565b60401c6200058a565b603f6c01000000000000000000000000831015620004825760209290921b91601f19015b600160701b8310156200049b5760109290921b91600f19015b600160781b831015620004b45760089290921b91600719015b6001607c1b831015620004cd5760049290921b91600319015b6001607e1b831015620004e65760029290921b91600119015b6001607f1b831015620004ff5760019290921b91600019015b60005b86156200057257604082106200051757600080fd5b60018716156200053f57918302607f1c918101600160801b8311156200053f57600192831c92015b928002607f1c9260019190911b90600160801b84106200056557600193841c9391909101905b600187901c965062000502565b604081106200058057600080fd5b6040039190911c90505b6000836200059957816200059e565b816000035b905060016001607f1b03198112801590620005c0575060016001607f1b038113155b620005ca57600080fd5b9695505050505050565b600081620005e55750600062000179565b600083600f0b1215620005f757600080fd5b600f83900b6001600160801b038316810260401c90608084901c026001600160c01b038111156200062757600080fd5b60401b81198111156200063957600080fd5b019392505050565b8280546200064f9062000764565b90600052602060002090601f016020900481019282620006735760008555620006be565b82601f106200068e57805160ff1916838001178555620006be565b82800160010185558215620006be579182015b82811115620006be578251825591602001919060010190620006a1565b50620006cc929150620006d0565b5090565b5b80821115620006cc5760008155600101620006d1565b600060208284031215620006fa57600080fd5b81516001600160801b03811681146200017657600080fd5b6000828210156200073357634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600181811c908216806200077957607f821691505b602082108114156200079b57634e487b7160e01b600052602260045260246000fd5b50919050565b611eda80620007b16000396000f3fe608060405234801561001057600080fd5b506004361061018a5760003560e01c80628cc2621461018f57806306fdde03146101b5578063095ea7b3146101ca57806317397115146101ed57806318160ddd146102155780631fce37091461021d57806322022a291461023257806323b872dd1461023a578063313ce5671461024d57806336de95f61461025c578063395093511461026f5780634a174a0b14610282578063576ce9fd1461028a5780635fc5e0201461029d57806370a08231146102c45780637282e23b146102d7578063777d6641146102ea578063872697291461030a57806395d89b4114610312578063a457c2d71461031a578063a9059cbb1461032d578063aa32582114610340578063aaf5eb681461029d578063aba78c1614610353578063adc9772e146103a7578063b811540e146103ba578063ceb8b01c146103cd578063d80528ae146103d5578063d853365f14610434578063dd62ed3e1461043d578063f3fef3a314610450578063f5eb42dc14610463578063f69e204614610476575b600080fd5b6101a261019d366004611bca565b61047e565b6040519081526020015b60405180910390f35b6101bd6104f0565b6040516101ac9190611be5565b6101dd6101d8366004611c3a565b610582565b60405190151581526020016101ac565b6102006101fb366004611c3a565b61059c565b604080519283526020830191909152016101ac565b6002546101a2565b61023061022b366004611c64565b6105bf565b005b6101a26105cb565b6101dd610248366004611c8d565b6105db565b604051601281526020016101ac565b6101a261026a366004611bca565b6105ff565b6101dd61027d366004611c3a565b610630565b6101a261066f565b6101a2610298366004611bca565b6106e6565b6102ac670de0b6b3a764000081565b6040516001600160801b0390911681526020016101ac565b6101a26102d2366004611bca565b61070a565b6102306102e5366004611c3a565b610725565b6009546102f790600f0b81565b604051600f9190910b81526020016101ac565b6101a2610742565b6101bd6107a0565b6101dd610328366004611c3a565b6107af565b6101dd61033b366004611c3a565b610846565b6101a261034e366004611bca565b610854565b610387610361366004611bca565b6008602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101ac565b6102306103b5366004611c3a565b610870565b6101a26103c8366004611cc9565b61087c565b6101a26108ba565b6005546006546007546103ff926001600160801b0380821693600160801b90920481169291169084565b6040516101ac94939291906001600160801b039485168152928416602084015292166040820152606081019190915260800190565b6102ac61271081565b6101a261044b366004611ce2565b6108fe565b61020061045e366004611c3a565b610929565b6101a2610471366004611bca565b610945565b6101a2610950565b60008061048a83610945565b90506000610496610742565b905060006104a3856106e6565b90508181116104b257806104b4565b815b9050670de0b6b3a76400006104c98483611d2b565b6104d38585611d2b565b6104dd9190611d4a565b6104e79190611d77565b95945050505050565b6060600380546104ff90611d99565b80601f016020809104026020016040519081016040528092919081815260200182805461052b90611d99565b80156105785780601f1061054d57610100808354040283529160200191610578565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b5050505050905090565b600033610590818585610c23565b60019150505b92915050565b6000806105a98484610929565b90925090506105b88482610725565b9250929050565b6105c881610d47565b50565b60006105d660025490565b905090565b6000336105e9858285610d8d565b6105f4858585610e07565b506001949350505050565b6000670de0b6b3a764000061061383610945565b61061c846106e6565b6106269190611d2b565b6105969190611d77565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190610590908290869061066a908790611dd4565b610c23565b600754600090158061068b57506005546001600160801b031643145b15610697575060075490565b6005546000906106cb906001600160801b03166106b5436001611dd4565b6106bf9190611d4a565b600954600f0b90610998565b6007549091506106e090600f83900b90610bbb565b91505090565b6001600160a01b03166000908152600860205260409020546001600160801b031690565b6001600160a01b031660009081526020819052604090205490565b60006107318383610fc3565b905061073d83826111dc565b505050565b60008061074d6112a9565b90506107576105cb565b1561079857670de0b6b3a764000061076d6105cb565b6107779190611d2b565b610789670de0b6b3a764000083611d2b565b6107939190611d77565b6106e0565b600091505090565b6060600480546104ff90611d99565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156108395760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6105f48286868403610c23565b600033610590818585610e07565b6000670de0b6b3a764000061086883610945565b61061c610742565b600061073183836112ee565b6000610596610889610742565b61271061089e670de0b6b3a764000086611d2b565b6108a89190611d2b565b6108b29190611d77565b612710611515565b6005546000906108e390670de0b6b3a764000090600160801b90046001600160801b0316611dec565b6001600160801b03166108f46112a9565b6105d69190611d4a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000806109368484611538565b90925090506105b884846118e9565b60006105968261070a565b60006105d66112a9565b60008161096657600080fd5b60006109728484611a25565b905060016001607f1b036001600160801b038216111561099157600080fd5b9392505050565b600080600084600f0b1280156109b15750826001166001145b905060008085600f0b126109c557846109ca565b846000035b6001600160801b03169050600160801b600160401b8211610a5f57603f82901b91505b8415610a57576001851615610a02578102607f1c5b908002607f1c906002851615610a18578102607f1c5b908002607f1c906004851615610a2e578102607f1c5b908002607f1c906008851615610a44578102607f1c5b60049490941c93908002607f1c906109ed565b60401c610b75565b603f600160601b831015610a795760209290921b91601f19015b600160701b831015610a915760109290921b91600f19015b600160781b831015610aa95760089290921b91600719015b6001607c1b831015610ac15760049290921b91600319015b6001607e1b831015610ad95760029290921b91600119015b6001607f1b831015610af15760019290921b91600019015b60005b8615610b5e5760408210610b0757600080fd5b6001871615610b2d57918302607f1c918101600160801b831115610b2d57600192831c92015b928002607f1c9260019190911b90600160801b8410610b5257600193841c9391909101905b600187901c9650610af4565b60408110610b6b57600080fd5b6040039190911c90505b600083610b825781610b87565b816000035b905060016001607f1b03198112801590610ba8575060016001607f1b038113155b610bb157600080fd5b9695505050505050565b600081610bca57506000610596565b600083600f0b1215610bdb57600080fd5b600f83900b6001600160801b038316810260401c90608084901c026001600160c01b03811115610c0a57600080fd5b60401b8119811115610c1b57600080fd5b019392505050565b6001600160a01b038316610c855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610830565b6001600160a01b038216610ce65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610830565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610d4f611b86565b610d6a816001600160801b0316670de0b6b3a764000061095a565b600980546001600160801b0319166001600160801b039290921691909117905550565b6000610d9984846108fe565b90506000198114610e015781811015610df45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610830565b610e018484848403610c23565b50505050565b6001600160a01b038316610e6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610830565b6001600160a01b038216610ecd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610830565b6001600160a01b03831660009081526020819052604090205481811015610f455760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610830565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610f7c908490611dd4565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611e8583398151915284604051610fb691815260200190565b60405180910390a3610e01565b600081610fd257506000610596565b6000610fdc6105cb565b11610ff257610fed61271083611d2b565b611016565b610ffa610742565b61100c670de0b6b3a764000084611d2b565b6110169190611d77565b6006805491925083916000906110369084906001600160801b0316611e1b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b0316826110779190611d2b565b60078054600090611089908490611dd4565b90915550506001600160a01b038316600090815260086020526040902080548391906010906110c9908490600160801b90046001600160801b0316611e1b565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b038516600090815260086020526040902054161590506105965760008161111685610945565b6111209190611dd4565b611132670de0b6b3a764000085611d2b565b61113c9190611d77565b6001600160a01b0385166000908152600860205260409020549091506001600160801b031681101561119a576001600160a01b0384166000908152600860205260409020546111959082906001600160801b0316611d4a565b61119d565b60005b6001600160a01b038516600090815260086020526040902080546001600160801b03929092166001600160801b03199092169190911790555092915050565b6001600160a01b0382166112325760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610830565b80600260008282546112449190611dd4565b90915550506001600160a01b03821660009081526020819052604081208054839290611271908490611dd4565b90915550506040518181526001600160a01b03831690600090600080516020611e858339815191529060200160405180910390a35050565b60075460009015806112c557506005546001600160801b031643145b156112d1575060075490565b6005546000906106cb906106bf906001600160801b031643611d4a565b60006112f8611b86565b600082116113395760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b6044820152606401610830565b60006113436105cb565b116113595761135461271083611d2b565b61137d565b611361610742565b611373670de0b6b3a764000084611d2b565b61137d9190611d77565b9050600081116113c95760405162461bcd60e51b81526020600482015260176024820152766d696e207374616b65203120736861726520707269636560481b6044820152606401610830565b6113d283610945565b1561144b57806113e184610945565b6113eb9190611dd4565b6113f3610742565b6113fd9083611d2b565b6001600160a01b0385166000908152600860205260409020546001600160801b031661142886610945565b6114329190611d2b565b61143c9190611dd4565b6114469190611d77565b611468565b8061145e670de0b6b3a764000084611d2b565b6114689190611d77565b6001600160a01b038416600090815260086020526040902080546001600160801b0319166001600160801b039283161790556005805484926010916114b6918591600160801b900416611e43565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b0316826114f79190611d2b565b60078054600090611509908490611dd4565b90915550909392505050565b60008160016115248286611dd4565b61152e9190611d4a565b6109919190611d77565b600080611543611b86565b600061154e85610945565b90506000841180156115605750808411155b6115995760405162461bcd60e51b815260206004820152600a6024820152696e6f2062616c616e636560b01b6044820152606401610830565b6000670de0b6b3a7640000856115ad610742565b6115b79190611d2b565b6115c19190611d77565b905060006115ce8761047e565b9050818110156115de57806115e0565b815b93508382116115f05760006115fa565b6115fa8483611d4a565b600554909550600160801b90046001600160801b031685111561165c5760055460009061163790600160801b90046001600160801b031687611d4a565b90506116438186611dd4565b600554600160801b90046001600160801b031696509450505b600082116116ac5760405162461bcd60e51b815260206004820152601f60248201527f6d696e207368617265732077697468647261772076616c75653a2031206764006044820152606401610830565b6116be670de0b6b3a764000083611d2b565b600780546000906116d0908490611d4a565b9091555050600580548691906010906116fa908490600160801b90046001600160801b0316611e1b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555083600560010160008282829054906101000a90046001600160801b03166117459190611e43565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b03891660009081526008602052604090208054879350909160109161179a918591600160801b900416611e43565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506000866117c96105cb565b6117d39190611d4a565b905060008115611814576117ef670de0b6b3a764000083611d2b565b60075461180590670de0b6b3a764000090611d2b565b61180f9190611d77565b611817565b60005b9050600087118061182757508286145b80611830575081155b1561186b576001600160a01b038916600090815260086020526040902080546001600160801b0319166001600160801b0383161790556118dd565b6118758886611d4a565b670de0b6b3a76400006118888886611d4a565b6118929190611d2b565b61189c9190611d77565b6118a69082611d4a565b6001600160a01b038a16600090815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b50505050509250929050565b6001600160a01b0382166119495760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610830565b6001600160a01b038216600090815260208190526040902054818110156119bd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610830565b6001600160a01b03831660009081526020819052604081208383039055600280548492906119ec908490611d4a565b90915550506040518281526000906001600160a01b03851690600080516020611e858339815191529060200160405180910390a3505050565b600081611a3157600080fd5b60006001600160c01b038411611a5c5782604085901b81611a5457611a54611d61565b049050611b72565b60c084811c600160201b8110611a74576020918201911c5b620100008110611a86576010918201911c5b6101008110611a97576008918201911c5b60108110611aa7576004918201911c5b60048110611ab7576002918201911c5b60028110611ac6576001820191505b60bf820360018603901c6001018260ff0387901b81611ae757611ae7611d61565b0492506001600160801b03831115611afe57600080fd5b608085901c83026001600160801b038616840260c088901c604089901b82811015611b2a576001820391505b608084901b92900382811015611b41576001820391505b829003608084901c8214611b5757611b57611e6e565b888181611b6657611b66611d61565b04870196505050505050505b6001600160801b0381111561099157600080fd5b611b8e6112a9565b600755600580546001600160801b031916436001600160801b0316179055565b80356001600160a01b0381168114611bc557600080fd5b919050565b600060208284031215611bdc57600080fd5b61099182611bae565b600060208083528351808285015260005b81811015611c1257858101830151858201604001528201611bf6565b81811115611c24576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611c4d57600080fd5b611c5683611bae565b946020939093013593505050565b600060208284031215611c7657600080fd5b81356001600160801b038116811461099157600080fd5b600080600060608486031215611ca257600080fd5b611cab84611bae565b9250611cb960208501611bae565b9150604084013590509250925092565b600060208284031215611cdb57600080fd5b5035919050565b60008060408385031215611cf557600080fd5b611cfe83611bae565b9150611d0c60208401611bae565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611d4557611d45611d15565b500290565b600082821015611d5c57611d5c611d15565b500390565b634e487b7160e01b600052601260045260246000fd5b600082611d9457634e487b7160e01b600052601260045260246000fd5b500490565b600181811c90821680611dad57607f821691505b60208210811415611dce57634e487b7160e01b600052602260045260246000fd5b50919050565b60008219821115611de757611de7611d15565b500190565b60006001600160801b0382811684821681151582840482111615611e1257611e12611d15565b02949350505050565b60006001600160801b0383811690831681811015611e3b57611e3b611d15565b039392505050565b60006001600160801b03828116848216808303821115611e6557611e65611d15565b01949350505050565b634e487b7160e01b600052600160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cb9a17fe408dfa3b8da7966253183724b0f3bfc509eb7a3f4c1b67b8c9c05a8f64736f6c63430008080033";
695
+
696
+ type StakingMockFixedAPYConstructorParams =
697
+ | [signer?: Signer]
698
+ | ConstructorParameters<typeof ContractFactory>;
699
+
700
+ const isSuperArgs = (
701
+ xs: StakingMockFixedAPYConstructorParams
702
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
703
+
704
+ export class StakingMockFixedAPY__factory extends ContractFactory {
705
+ constructor(...args: StakingMockFixedAPYConstructorParams) {
706
+ if (isSuperArgs(args)) {
707
+ super(...args);
708
+ } else {
709
+ super(_abi, _bytecode, args[0]);
710
+ }
711
+ }
712
+
713
+ deploy(
714
+ _interestRatePerBlock: BigNumberish,
715
+ overrides?: Overrides & { from?: string | Promise<string> }
716
+ ): Promise<StakingMockFixedAPY> {
717
+ return super.deploy(
718
+ _interestRatePerBlock,
719
+ overrides || {}
720
+ ) as Promise<StakingMockFixedAPY>;
721
+ }
722
+ getDeployTransaction(
723
+ _interestRatePerBlock: BigNumberish,
724
+ overrides?: Overrides & { from?: string | Promise<string> }
725
+ ): TransactionRequest {
726
+ return super.getDeployTransaction(_interestRatePerBlock, overrides || {});
727
+ }
728
+ attach(address: string): StakingMockFixedAPY {
729
+ return super.attach(address) as StakingMockFixedAPY;
730
+ }
731
+ connect(signer: Signer): StakingMockFixedAPY__factory {
732
+ return super.connect(signer) as StakingMockFixedAPY__factory;
733
+ }
734
+ static readonly bytecode = _bytecode;
735
+ static readonly abi = _abi;
736
+ static createInterface(): StakingMockFixedAPYInterface {
737
+ return new utils.Interface(_abi) as StakingMockFixedAPYInterface;
738
+ }
739
+ static connect(
740
+ address: string,
741
+ signerOrProvider: Signer | Provider
742
+ ): StakingMockFixedAPY {
743
+ return new Contract(address, _abi, signerOrProvider) as StakingMockFixedAPY;
744
+ }
745
+ }