@gooddollar/goodprotocol 2.0.34-beta.4 → 2.1.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 (709) hide show
  1. package/README.md +12 -0
  2. package/artifacts/abis/UBISchemeV2.min.json +1 -1
  3. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  4. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  9. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  10. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  34. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
  35. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
  36. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
  37. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
  38. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
  39. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
  40. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  41. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  42. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  43. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
  44. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  45. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  46. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  47. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  48. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  49. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  50. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  51. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  52. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  53. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  54. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  55. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  56. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
  57. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  58. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  59. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  60. package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  73. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  104. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
  105. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  106. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  107. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  108. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  109. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  110. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  111. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  112. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  113. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  114. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  115. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  116. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  117. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  118. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  119. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  120. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  121. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  122. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  123. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  124. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  125. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  126. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  127. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  128. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  129. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  130. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  131. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  132. package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +1 -1
  133. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
  134. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
  135. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  136. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  137. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  138. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  139. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
  140. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  141. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  142. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  143. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  144. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  145. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  146. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  147. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  148. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  149. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +2 -7
  150. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  151. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  152. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  153. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  154. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  155. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  156. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
  157. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  158. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  159. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  160. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  161. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  162. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  163. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  164. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
  165. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
  166. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
  167. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
  168. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
  169. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
  170. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  171. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  172. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  173. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  174. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  175. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  176. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
  177. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  178. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  179. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  180. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  181. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  182. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
  183. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
  184. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  185. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  186. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  187. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  188. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  189. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  190. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  191. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  192. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
  193. package/contracts/IUniswapV3.sol +2 -0
  194. package/contracts/fuseFaucet/Faucet.sol +6 -0
  195. package/contracts/fuseFaucet/FuseFaucetV2.sol +10 -0
  196. package/contracts/mocks/GenericDistributionHelperTest.sol +31 -0
  197. package/contracts/reserve/GenericDistributionHelper.sol +28 -20
  198. package/contracts/utils/ProxyFactory1967.sol +1 -0
  199. package/hardhat.config.ts +29 -21
  200. package/package.json +3 -2
  201. package/releases/deployment.json +1 -0
  202. package/releases/olddao.json +1 -1
  203. package/scripts/fv.ts +0 -2
  204. package/scripts/multichain-deploy/fulldeploy.sh +17 -17
  205. package/scripts/multichain-deploy/helpers.ts +7 -5
  206. package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +447 -0
  207. package/scripts/upgrades/upgradeFaucet.ts +46 -0
  208. package/test/governance/ClaimersDistribution.test.ts +1 -1
  209. package/test/reserve/GenericDistributionHelper.test.ts +315 -0
  210. package/test/ubi/UBISchemeCycle.test.ts +30 -63
  211. package/types/@openzeppelin/contracts/proxy/ERC1967/index.ts +0 -1
  212. package/types/@uniswap/index.ts +0 -2
  213. package/types/AaveMock.ts +1031 -0
  214. package/types/AaveStakingFactory.ts +290 -0
  215. package/types/AaveUSDMockOracle.ts +89 -0
  216. package/types/AccessControl.ts +361 -0
  217. package/types/AccessControlEnumerableUpgradeable.ts +444 -0
  218. package/types/AccessControlUpgradeable.ts +371 -0
  219. package/types/AdminWallet.ts +1234 -0
  220. package/types/AdminWalletFuse.ts +1340 -0
  221. package/types/AggregatorV3Interface.ts +192 -0
  222. package/types/Avatar.ts +121 -0
  223. package/types/BancorFormula.ts +974 -0
  224. package/types/BaseShareField.ts +442 -0
  225. package/types/BaseShareFieldV2.ts +361 -0
  226. package/types/{contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange.ts → BatUSDMockOracle.ts} +30 -22
  227. package/types/BuyAndBridgeHelper.ts +279 -0
  228. package/types/BuyGDClone.ts +383 -0
  229. package/types/BuyGDCloneFactory.ts +180 -0
  230. package/types/CBATMock.ts +1203 -0
  231. package/types/CDAILowWorthMock.ts +1169 -0
  232. package/types/CDAIMock.ts +1219 -0
  233. package/types/CDAINonMintableMock.ts +1169 -0
  234. package/types/CDecimalsMock.ts +1203 -0
  235. package/types/CERC20.ts +552 -0
  236. package/types/CSDTMock.ts +1203 -0
  237. package/types/CUSDCMock.ts +1203 -0
  238. package/types/ClaimersDistribution.ts +634 -0
  239. package/types/CompUSDMockOracle.ts +89 -0
  240. package/types/CompoundStakingFactory.ts +261 -0
  241. package/types/CompoundVotingMachine.ts +1718 -0
  242. package/types/ContextUpgradeable.ts +77 -0
  243. package/types/ContributionCalc.ts +164 -0
  244. package/types/Controller.ts +547 -0
  245. package/types/DAIMock.ts +1092 -0
  246. package/types/DAOContract.ts +162 -0
  247. package/types/DAOUpgradeableContract.ts +299 -0
  248. package/types/DaiEthPriceMockOracle.ts +89 -0
  249. package/types/DecimalsMock.ts +1031 -0
  250. package/types/DistributionBridgeMock.ts +384 -0
  251. package/types/{contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper.ts → DistributionHelper.ts} +351 -345
  252. package/types/{contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper.ts → DistributionHelperTest.ts} +361 -349
  253. package/types/{contracts/reserve/GenericDistributionHelper.ts → DistributionHelperTestHelper.ts} +417 -401
  254. package/types/DonationsStaking.ts +805 -0
  255. package/types/EIP712Upgradeable.ts +77 -0
  256. package/types/ERC165.ts +104 -0
  257. package/types/ERC165Upgradeable.ts +115 -0
  258. package/types/ERC1967Proxy.ts +147 -0
  259. package/types/{@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts → ERC1967Upgrade.ts} +21 -23
  260. package/types/ERC1967UpgradeUpgradeable.ts +116 -0
  261. package/types/ERC20.ts +417 -0
  262. package/types/ERC20BurnableUpgradeable.ts +488 -0
  263. package/types/ERC20PausableUpgradeable.ts +458 -0
  264. package/types/ERC20Permit.ts +186 -0
  265. package/types/ERC20PermitUpgradeable.ts +531 -0
  266. package/types/ERC20PresetMinterPauserUpgradeable.ts +1136 -0
  267. package/types/ERC20Upgradeable.ts +426 -0
  268. package/types/ERC20WithTokenInfo.ts +339 -0
  269. package/types/ERC677.ts +131 -0
  270. package/types/ERC677Receiver.ts +115 -0
  271. package/types/EthUSDMockOracle.ts +138 -0
  272. package/types/EventsEmitter.ts +88 -0
  273. package/types/ExchangeHelper.ts +550 -0
  274. package/types/Faucet.ts +1167 -0
  275. package/types/FeesFormulaMock.ts +130 -0
  276. package/types/FuseFaucet.ts +507 -0
  277. package/types/FuseFaucetV2.ts +846 -0
  278. package/types/FuseStakingV3.ts +1212 -0
  279. package/types/GDFaucet.ts +221 -0
  280. package/types/GReputation.ts +2119 -0
  281. package/types/GasPriceMockOracle.ts +118 -0
  282. package/types/GlobalConstraintInterface.ts +134 -0
  283. package/types/GoodAaveStaking.ts +1761 -0
  284. package/types/{contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2.ts → GoodAaveStakingV2.ts} +100 -177
  285. package/types/GoodCompoundStaking.ts +1847 -0
  286. package/types/GoodCompoundStakingTest.ts +1957 -0
  287. package/types/GoodCompoundStakingV2.ts +1645 -0
  288. package/types/{contracts/token/GoodDollar18.ts → GoodDollar.ts} +140 -278
  289. package/types/GoodDollarMintBurnWrapper.ts +1792 -0
  290. package/types/GoodDollarStaking.ts +1947 -0
  291. package/types/GoodDollarStakingMock.ts +1986 -0
  292. package/types/GoodFundManager.ts +1126 -0
  293. package/types/GoodFundManagerTest.ts +1165 -0
  294. package/types/GoodMarketMaker.ts +1002 -0
  295. package/types/{contracts/reserve/GoodReserveADai.ts → GoodReserveCDai.ts} +197 -343
  296. package/types/GovernanceStaking.ts +1295 -0
  297. package/types/{contracts/Interfaces.sol/IAaveIncentivesControllerV3.ts → IAaveIncentivesController.ts} +47 -48
  298. package/types/IAccessControl.ts +306 -0
  299. package/types/IAccessControlEnumerableUpgradeable.ts +380 -0
  300. package/types/IAccessControlUpgradeable.ts +307 -0
  301. package/types/IAdminWallet.ts +171 -0
  302. package/types/{contracts/Interfaces.sol/AToken.ts → IBeacon.ts} +30 -22
  303. package/types/IBeaconUpgradeable.ts +89 -0
  304. package/types/IConsensus.ts +225 -0
  305. package/types/IDonationStaking.ts +98 -0
  306. package/types/IERC1271Upgradeable.ts +109 -0
  307. package/types/IERC165.ts +104 -0
  308. package/types/IERC165Upgradeable.ts +104 -0
  309. package/types/IERC1820Registry.ts +398 -0
  310. package/types/IERC1822Proxiable.ts +89 -0
  311. package/types/IERC1822ProxiableUpgradeable.ts +90 -0
  312. package/types/IERC20.ts +300 -0
  313. package/types/IERC20Metadata.ts +339 -0
  314. package/types/IERC20MetadataUpgradeable.ts +340 -0
  315. package/types/IERC20Permit.ts +175 -0
  316. package/types/IERC20PermitUpgradeable.ts +176 -0
  317. package/types/IERC20Upgradeable.ts +300 -0
  318. package/types/IERC2917.ts +661 -0
  319. package/types/IERC777.ts +586 -0
  320. package/types/IERC777Recipient.ts +130 -0
  321. package/types/IERC777Sender.ts +130 -0
  322. package/types/IFeesFormula.ts +111 -0
  323. package/types/IFirstClaimPool.ts +136 -0
  324. package/types/IGoodDollar.ts +876 -0
  325. package/types/IGoodDollarCustom.ts +618 -0
  326. package/types/IGoodDollarStakingTest.ts +160 -0
  327. package/types/IGoodStaking.ts +264 -0
  328. package/types/IGovernanceStaking.ts +98 -0
  329. package/types/{contracts/utils/ReserveRestore.sol/MentoExchange.ts → IHasRouter.ts} +24 -22
  330. package/types/IIdentity.ts +508 -0
  331. package/types/IIdentityV2.ts +591 -0
  332. package/types/ILayerZeroFeeEstimator.ts +136 -0
  333. package/types/{contracts/Interfaces.sol/ILendingPoolV3.ts → ILendingPool.ts} +76 -89
  334. package/types/IMessagePassingBridge.ts +774 -0
  335. package/types/IMultichainRouter.ts +166 -0
  336. package/types/INameService.ts +86 -0
  337. package/types/IRouter.ts +143 -0
  338. package/types/IStakingUpgrade.ts +110 -0
  339. package/types/IStaticOracle.ts +677 -0
  340. package/types/ISuperAgreement.ts +151 -0
  341. package/types/ISuperApp.ts +410 -0
  342. package/types/ISuperGoodDollar.ts +3029 -0
  343. package/types/ISuperToken.ts +2326 -0
  344. package/types/ISuperTokenFactory.ts +415 -0
  345. package/types/ISuperfluid.ts +1565 -0
  346. package/types/ISuperfluidGovernance.ts +455 -0
  347. package/types/ISuperfluidToken.ts +951 -0
  348. package/types/ISwapRouter.ts +298 -0
  349. package/types/IUBIScheme.ts +121 -0
  350. package/types/IUniswapV3Factory.ts +333 -0
  351. package/types/IWrapper.ts +143 -0
  352. package/types/IdentityFix.ts +141 -0
  353. package/types/IdentityMock.ts +527 -0
  354. package/types/IdentityV2.ts +1782 -0
  355. package/types/IncentiveControllerMock.ts +207 -0
  356. package/types/Initializable.ts +77 -0
  357. package/types/IntVoteInterface.ts +468 -0
  358. package/types/InvitesFuseV2.ts +840 -0
  359. package/types/InvitesV1.ts +806 -0
  360. package/types/InvitesV2.ts +1016 -0
  361. package/types/LendingPoolMock.ts +1259 -0
  362. package/types/MultiBaseGovernanceShareField.ts +411 -0
  363. package/types/Multicall.ts +298 -0
  364. package/types/MultichainBridgeHelper.ts +170 -0
  365. package/types/MultichainFeeFormula.ts +130 -0
  366. package/types/MultichainRouterMock.ts +141 -0
  367. package/types/NameService.ts +386 -0
  368. package/types/OldMarketMaker.ts +113 -0
  369. package/types/OneTimePayments.ts +396 -0
  370. package/types/OneTimePaymentsV2.ts +456 -0
  371. package/types/OverMintTester.ts +176 -0
  372. package/types/OverMintTesterRegularStake.ts +177 -0
  373. package/types/OwnableUpgradeable.ts +175 -0
  374. package/types/Pausable.ts +103 -0
  375. package/types/PausableControl.ts +125 -0
  376. package/types/PausableUpgradeable.ts +112 -0
  377. package/types/PayableMock.ts +92 -0
  378. package/types/PegSwap.ts +112 -0
  379. package/types/ProtocolUpgrade.ts +272 -0
  380. package/types/ProtocolUpgradeFuse.ts +166 -0
  381. package/types/ProtocolUpgradeFuseRecover.ts +167 -0
  382. package/types/ProtocolUpgradeRecover.ts +264 -0
  383. package/types/Proxy.ts +66 -0
  384. package/types/ProxyAdmin.ts +254 -0
  385. package/types/ProxyFactory1967.ts +284 -0
  386. package/types/ReentrancyGuardUpgradeable.ts +78 -0
  387. package/types/Reputation.ts +964 -0
  388. package/types/ReputationInterface.ts +261 -0
  389. package/types/ReputationTestHelper.ts +175 -0
  390. package/types/Reserve.ts +112 -0
  391. package/types/RewardsMinter.ts +107 -0
  392. package/types/SchemeRegistrar.ts +164 -0
  393. package/types/SelfApprove.ts +115 -0
  394. package/types/SimpleStaking.ts +1523 -0
  395. package/types/SimpleStakingV2.ts +1427 -0
  396. package/types/SixteenDecimalsTokenMock.ts +1032 -0
  397. package/types/StakersDistribution.ts +949 -0
  398. package/types/Staking.ts +158 -0
  399. package/types/StakingMockFixedAPY.ts +995 -0
  400. package/types/StakingRewardsFixedAPY.ts +428 -0
  401. package/types/SuperGoodDollar.ts +3662 -0
  402. package/types/SuperToken.ts +2434 -0
  403. package/types/SuperfluidToken.ts +951 -0
  404. package/types/SwapHelperTest.ts +120 -0
  405. package/types/TokenInfo.ts +109 -0
  406. package/types/TwentyDecimalsTokenMock.ts +1032 -0
  407. package/types/UBIScheme.ts +1461 -0
  408. package/types/UBISchemeV2.ts +1192 -0
  409. package/types/USDCMock.ts +1031 -0
  410. package/types/UUPSProxiable.ts +183 -0
  411. package/types/UUPSProxy.ts +105 -0
  412. package/types/UUPSUpgradeable.ts +207 -0
  413. package/types/Uniswap.ts +423 -0
  414. package/types/UniswapFactory.ts +106 -0
  415. package/types/UniswapPair.ts +187 -0
  416. package/types/UniswapV2SwapHelper.ts +124 -0
  417. package/types/UpgradableMock.ts +349 -0
  418. package/types/UpgradableMock2.ts +311 -0
  419. package/types/UpgradableMock3.ts +336 -0
  420. package/types/UpgradableMock4.ts +336 -0
  421. package/types/contracts/index.ts +0 -4
  422. package/types/contracts/reserve/index.ts +0 -1
  423. package/types/contracts/ubi/UBISchemeV2.ts +3 -14
  424. package/types/contracts/utils/BuyGDClone.sol/index.ts +2 -0
  425. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +0 -1
  426. package/types/factories/@uniswap/index.ts +0 -1
  427. package/types/factories/AaveMock__factory.ts +740 -0
  428. package/types/factories/AaveStakingFactory__factory.ts +262 -0
  429. package/types/factories/AaveUSDMockOracle__factory.ts +75 -0
  430. package/types/factories/AccessControlEnumerableUpgradeable__factory.ts +292 -0
  431. package/types/factories/AccessControlUpgradeable__factory.ts +247 -0
  432. package/types/factories/AccessControl__factory.ts +227 -0
  433. package/types/factories/AdminWalletFuse__factory.ts +933 -0
  434. package/types/factories/AdminWallet__factory.ts +865 -0
  435. package/types/factories/AggregatorV3Interface__factory.ts +121 -0
  436. package/types/factories/Avatar__factory.ts +59 -0
  437. package/types/factories/BancorFormula__factory.ts +674 -0
  438. package/types/factories/BaseShareFieldV2__factory.ts +251 -0
  439. package/types/factories/BaseShareField__factory.ts +307 -0
  440. package/types/factories/BatUSDMockOracle__factory.ts +75 -0
  441. package/types/factories/BuyAndBridgeHelper__factory.ts +237 -0
  442. package/types/factories/BuyGDCloneFactory__factory.ts +196 -0
  443. package/types/factories/BuyGDClone__factory.ts +343 -0
  444. package/types/factories/CBATMock__factory.ts +844 -0
  445. package/types/factories/CDAILowWorthMock__factory.ts +834 -0
  446. package/types/factories/CDAIMock__factory.ts +857 -0
  447. package/types/factories/CDAINonMintableMock__factory.ts +834 -0
  448. package/types/factories/CDecimalsMock__factory.ts +844 -0
  449. package/types/factories/CERC20__factory.ts +381 -0
  450. package/types/factories/CSDTMock__factory.ts +844 -0
  451. package/types/factories/CUSDCMock__factory.ts +844 -0
  452. package/types/factories/ClaimersDistribution__factory.ts +430 -0
  453. package/types/factories/CompUSDMockOracle__factory.ts +75 -0
  454. package/types/factories/CompoundStakingFactory__factory.ts +249 -0
  455. package/types/factories/CompoundVotingMachine__factory.ts +1208 -0
  456. package/types/factories/ContextUpgradeable__factory.ts +39 -0
  457. package/types/factories/ContributionCalc__factory.ts +83 -0
  458. package/types/factories/Controller__factory.ts +359 -0
  459. package/types/factories/DAIMock__factory.ts +783 -0
  460. package/types/factories/DAOContract__factory.ts +118 -0
  461. package/types/factories/DAOUpgradeableContract__factory.ts +227 -0
  462. package/types/factories/DaiEthPriceMockOracle__factory.ts +79 -0
  463. package/types/factories/DecimalsMock__factory.ts +755 -0
  464. package/types/factories/DistributionBridgeMock__factory.ts +312 -0
  465. package/types/factories/DistributionHelperTestHelper__factory.ts +1008 -0
  466. package/types/factories/DistributionHelperTest__factory.ts +975 -0
  467. package/types/factories/DistributionHelper__factory.ts +971 -0
  468. package/types/factories/DonationsStaking__factory.ts +580 -0
  469. package/types/factories/EIP712Upgradeable__factory.ts +39 -0
  470. package/types/factories/ERC165Upgradeable__factory.ts +58 -0
  471. package/types/factories/ERC165__factory.ts +39 -0
  472. package/types/factories/ERC1967Proxy__factory.ts +130 -0
  473. package/types/factories/ERC1967UpgradeUpgradeable__factory.ts +88 -0
  474. package/types/factories/ERC1967Upgrade__factory.ts +71 -0
  475. package/types/factories/ERC20BurnableUpgradeable__factory.ts +344 -0
  476. package/types/factories/ERC20PausableUpgradeable__factory.ts +352 -0
  477. package/types/factories/ERC20PermitUpgradeable__factory.ts +388 -0
  478. package/types/factories/ERC20Permit__factory.ts +111 -0
  479. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +827 -0
  480. package/types/factories/ERC20Upgradeable__factory.ts +345 -0
  481. package/types/factories/ERC20WithTokenInfo__factory.ts +248 -0
  482. package/types/factories/ERC20__factory.ts +285 -0
  483. package/types/factories/ERC677Receiver__factory.ts +55 -0
  484. package/types/factories/ERC677__factory.ts +75 -0
  485. package/types/factories/EthUSDMockOracle__factory.ts +108 -0
  486. package/types/factories/EventsEmitter__factory.ts +84 -0
  487. package/types/factories/ExchangeHelper__factory.ts +427 -0
  488. package/types/factories/Faucet__factory.ts +826 -0
  489. package/types/factories/FeesFormulaMock__factory.ts +132 -0
  490. package/types/factories/FuseFaucetV2__factory.ts +592 -0
  491. package/types/factories/FuseFaucet__factory.ts +386 -0
  492. package/types/factories/FuseStakingV3__factory.ts +806 -0
  493. package/types/factories/GDFaucet__factory.ts +188 -0
  494. package/types/factories/GReputation__factory.ts +1490 -0
  495. package/types/factories/GasPriceMockOracle__factory.ts +88 -0
  496. package/types/factories/GlobalConstraintInterface__factory.ts +72 -0
  497. package/types/factories/GoodAaveStakingV2__factory.ts +1240 -0
  498. package/types/factories/GoodAaveStaking__factory.ts +1276 -0
  499. package/types/factories/GoodCompoundStakingTest__factory.ts +1470 -0
  500. package/types/factories/GoodCompoundStakingV2__factory.ts +1182 -0
  501. package/types/factories/GoodCompoundStaking__factory.ts +1316 -0
  502. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1330 -0
  503. package/types/factories/GoodDollarStakingMock__factory.ts +1497 -0
  504. package/types/factories/GoodDollarStaking__factory.ts +1469 -0
  505. package/types/factories/{contracts/token/GoodDollar18__factory.ts → GoodDollar__factory.ts} +23 -26
  506. package/types/factories/GoodFundManagerTest__factory.ts +801 -0
  507. package/types/factories/GoodFundManager__factory.ts +759 -0
  508. package/types/factories/GoodMarketMaker__factory.ts +687 -0
  509. package/types/factories/GoodReserveCDai__factory.ts +1489 -0
  510. package/types/factories/GovernanceStaking__factory.ts +948 -0
  511. package/types/factories/{contracts/Interfaces.sol/IAaveIncentivesControllerV3__factory.ts → IAaveIncentivesController__factory.ts} +22 -27
  512. package/types/factories/IAccessControlEnumerableUpgradeable__factory.ts +247 -0
  513. package/types/factories/IAccessControlUpgradeable__factory.ts +202 -0
  514. package/types/factories/IAccessControl__factory.ts +198 -0
  515. package/types/factories/IAdminWallet__factory.ts +75 -0
  516. package/types/factories/{contracts/utils/ReserveRestore.sol/MentoExchange__factory.ts → IBeaconUpgradeable__factory.ts} +11 -11
  517. package/types/factories/IBeacon__factory.ts +36 -0
  518. package/types/factories/IConsensus__factory.ts +116 -0
  519. package/types/factories/IDonationStaking__factory.ts +33 -0
  520. package/types/factories/IERC1271Upgradeable__factory.ts +50 -0
  521. package/types/factories/IERC165Upgradeable__factory.ts +45 -0
  522. package/types/factories/IERC165__factory.ts +42 -0
  523. package/types/factories/IERC1820Registry__factory.ts +239 -0
  524. package/types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  525. package/types/factories/IERC1822Proxiable__factory.ts +39 -0
  526. package/types/factories/IERC20MetadataUpgradeable__factory.ts +252 -0
  527. package/types/factories/IERC20Metadata__factory.ts +248 -0
  528. package/types/factories/IERC20PermitUpgradeable__factory.ts +105 -0
  529. package/types/factories/IERC20Permit__factory.ts +98 -0
  530. package/types/factories/IERC20Upgradeable__factory.ts +209 -0
  531. package/types/factories/IERC20__factory.ts +203 -0
  532. package/types/factories/IERC2917__factory.ts +493 -0
  533. package/types/factories/IERC777Recipient__factory.ts +64 -0
  534. package/types/factories/IERC777Sender__factory.ts +61 -0
  535. package/types/factories/IERC777__factory.ts +414 -0
  536. package/types/factories/IFeesFormula__factory.ts +57 -0
  537. package/types/factories/IFirstClaimPool__factory.ts +65 -0
  538. package/types/factories/IGoodDollarCustom__factory.ts +370 -0
  539. package/types/factories/IGoodDollarStakingTest__factory.ts +68 -0
  540. package/types/factories/IGoodDollar__factory.ts +595 -0
  541. package/types/factories/IGoodStaking__factory.ts +175 -0
  542. package/types/factories/IGovernanceStaking__factory.ts +39 -0
  543. package/types/factories/IHasRouter__factory.ts +36 -0
  544. package/types/factories/IIdentityV2__factory.ts +331 -0
  545. package/types/factories/IIdentity__factory.ts +284 -0
  546. package/types/factories/ILayerZeroFeeEstimator__factory.ts +79 -0
  547. package/types/factories/{contracts/Interfaces.sol/ILendingPoolV3__factory.ts → ILendingPool__factory.ts} +14 -32
  548. package/types/factories/IMessagePassingBridge__factory.ts +446 -0
  549. package/types/factories/IMultichainRouter__factory.ts +82 -0
  550. package/types/factories/INameService__factory.ts +42 -0
  551. package/types/factories/{@uniswap/v2-periphery/contracts/interfaces/IWETH__factory.ts → IRouter__factory.ts} +28 -24
  552. package/types/factories/IStakingUpgrade__factory.ts +50 -0
  553. package/types/factories/IStaticOracle__factory.ts +407 -0
  554. package/types/factories/ISuperAgreement__factory.ts +78 -0
  555. package/types/factories/ISuperApp__factory.ts +272 -0
  556. package/types/factories/ISuperGoodDollar__factory.ts +2147 -0
  557. package/types/factories/ISuperTokenFactory__factory.ts +271 -0
  558. package/types/factories/ISuperToken__factory.ts +1682 -0
  559. package/types/factories/ISuperfluidGovernance__factory.ts +264 -0
  560. package/types/factories/ISuperfluidToken__factory.ts +697 -0
  561. package/types/factories/ISuperfluid__factory.ts +1143 -0
  562. package/types/factories/ISwapRouter__factory.ts +217 -0
  563. package/types/factories/IUBIScheme__factory.ts +68 -0
  564. package/types/factories/IUniswapV3Factory__factory.ts +222 -0
  565. package/types/factories/IWrapper__factory.ts +71 -0
  566. package/types/factories/IdentityFix__factory.ts +110 -0
  567. package/types/factories/IdentityMock__factory.ts +346 -0
  568. package/types/factories/IdentityV2__factory.ts +1147 -0
  569. package/types/factories/IncentiveControllerMock__factory.ts +166 -0
  570. package/types/factories/Initializable__factory.ts +36 -0
  571. package/types/factories/IntVoteInterface__factory.ts +349 -0
  572. package/types/factories/InvitesFuseV2__factory.ts +571 -0
  573. package/types/factories/InvitesV1__factory.ts +553 -0
  574. package/types/factories/InvitesV2__factory.ts +688 -0
  575. package/types/factories/LendingPoolMock__factory.ts +927 -0
  576. package/types/factories/MultiBaseGovernanceShareField__factory.ts +240 -0
  577. package/types/factories/Multicall__factory.ts +215 -0
  578. package/types/factories/MultichainBridgeHelper__factory.ts +134 -0
  579. package/types/factories/MultichainFeeFormula__factory.ts +113 -0
  580. package/types/factories/MultichainRouterMock__factory.ts +141 -0
  581. package/types/factories/NameService__factory.ts +290 -0
  582. package/types/factories/OldMarketMaker__factory.ts +62 -0
  583. package/types/factories/OneTimePaymentsV2__factory.ts +369 -0
  584. package/types/factories/OneTimePayments__factory.ts +323 -0
  585. package/types/factories/OverMintTesterRegularStake__factory.ts +156 -0
  586. package/types/factories/OverMintTester__factory.ts +152 -0
  587. package/types/factories/OwnableUpgradeable__factory.ts +91 -0
  588. package/types/factories/PausableControl__factory.ts +84 -0
  589. package/types/factories/PausableUpgradeable__factory.ts +78 -0
  590. package/types/factories/Pausable__factory.ts +62 -0
  591. package/types/factories/PayableMock__factory.ts +66 -0
  592. package/types/factories/PegSwap__factory.ts +46 -0
  593. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +146 -0
  594. package/types/factories/ProtocolUpgradeFuse__factory.ts +142 -0
  595. package/types/factories/ProtocolUpgradeRecover__factory.ts +184 -0
  596. package/types/factories/ProtocolUpgrade__factory.ts +207 -0
  597. package/types/factories/ProxyAdmin__factory.ts +128 -0
  598. package/types/factories/ProxyFactory1967__factory.ts +223 -0
  599. package/types/factories/Proxy__factory.ts +28 -0
  600. package/types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  601. package/types/factories/ReputationInterface__factory.ts +168 -0
  602. package/types/factories/ReputationTestHelper__factory.ts +141 -0
  603. package/types/factories/Reputation__factory.ts +693 -0
  604. package/types/factories/Reserve__factory.ts +52 -0
  605. package/types/factories/RewardsMinter__factory.ts +47 -0
  606. package/types/factories/SchemeRegistrar__factory.ts +114 -0
  607. package/types/factories/SelfApprove__factory.ts +46 -0
  608. package/types/factories/SimpleStakingV2__factory.ts +999 -0
  609. package/types/factories/SimpleStaking__factory.ts +1058 -0
  610. package/types/factories/SixteenDecimalsTokenMock__factory.ts +747 -0
  611. package/types/factories/StakersDistribution__factory.ts +617 -0
  612. package/types/factories/StakingMockFixedAPY__factory.ts +745 -0
  613. package/types/factories/StakingRewardsFixedAPY__factory.ts +287 -0
  614. package/types/factories/Staking__factory.ts +74 -0
  615. package/types/factories/SuperGoodDollar__factory.ts +2680 -0
  616. package/types/factories/SuperToken__factory.ts +1809 -0
  617. package/types/factories/SuperfluidToken__factory.ts +697 -0
  618. package/types/factories/SwapHelperTest__factory.ts +96 -0
  619. package/types/factories/TokenInfo__factory.ts +62 -0
  620. package/types/factories/TwentyDecimalsTokenMock__factory.ts +747 -0
  621. package/types/factories/UBISchemeV2__factory.ts +837 -0
  622. package/types/factories/UBIScheme__factory.ts +1034 -0
  623. package/types/factories/USDCMock__factory.ts +740 -0
  624. package/types/factories/UUPSProxiable__factory.ts +101 -0
  625. package/types/factories/UUPSProxy__factory.ts +80 -0
  626. package/types/factories/UUPSUpgradeable__factory.ts +128 -0
  627. package/types/factories/UniswapFactory__factory.ts +50 -0
  628. package/types/factories/UniswapPair__factory.ts +117 -0
  629. package/types/factories/UniswapV2SwapHelper__factory.ts +101 -0
  630. package/types/factories/Uniswap__factory.ts +272 -0
  631. package/types/factories/UpgradableMock2__factory.ts +236 -0
  632. package/types/factories/UpgradableMock3__factory.ts +249 -0
  633. package/types/factories/UpgradableMock4__factory.ts +249 -0
  634. package/types/factories/UpgradableMock__factory.ts +262 -0
  635. package/types/factories/contracts/index.ts +0 -2
  636. package/types/factories/contracts/reserve/index.ts +0 -1
  637. package/types/factories/contracts/ubi/UBISchemeV2__factory.ts +1 -6
  638. package/types/factories/contracts/utils/BuyGDClone.sol/index.ts +2 -0
  639. package/types/hardhat.d.ts +18 -54
  640. package/types/index.ts +2 -10
  641. package/artifacts/abis/GenericDistributionHelper.min.json +0 -1
  642. package/artifacts/abis/INonfungiblePositionManager.min.json +0 -1
  643. package/artifacts/abis/IUniswapV3Pool.min.json +0 -1
  644. package/artifacts/contracts/IQuoter.sol/IQuoterV2.dbg.json +0 -4
  645. package/artifacts/contracts/IQuoter.sol/IQuoterV2.json +0 -211
  646. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +0 -4
  647. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.json +0 -102
  648. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +0 -4
  649. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.json +0 -93
  650. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +0 -4
  651. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json +0 -931
  652. package/contracts/IQuoter.sol +0 -108
  653. package/dist/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +0 -1099
  654. package/dist/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +0 -2627
  655. package/dist/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +0 -32
  656. package/dist/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +0 -82
  657. package/dist/test-sdk/deploySuperGoodDollar.d.ts +0 -6
  658. package/dist/test-sdk/deploySuperGoodDollar.js +0 -46
  659. package/dist/test-sdk/index.d.ts +0 -1
  660. package/dist/test-sdk/index.js +0 -13
  661. package/scripts/multichain-deploy/verify.ts +0 -41
  662. package/scripts/proposals/gip-25-xdc-upgrade.ts +0 -438
  663. package/types/@uniswap/v2-periphery/contracts/index.ts +0 -5
  664. package/types/@uniswap/v2-periphery/contracts/interfaces/IWETH.ts +0 -159
  665. package/types/@uniswap/v2-periphery/contracts/interfaces/index.ts +0 -4
  666. package/types/@uniswap/v2-periphery/index.ts +0 -5
  667. package/types/contracts/IQuoter.sol/IQuoterV2.ts +0 -297
  668. package/types/contracts/IQuoter.sol/index.ts +0 -4
  669. package/types/contracts/IUniswapV3.sol/INonfungiblePositionManager.ts +0 -151
  670. package/types/contracts/IUniswapV3.sol/IUniswapV3Factory.ts +0 -155
  671. package/types/contracts/IUniswapV3.sol/IUniswapV3Pool.ts +0 -179
  672. package/types/contracts/IUniswapV3.sol/index.ts +0 -5
  673. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor.ts +0 -648
  674. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable.ts +0 -843
  675. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
  676. package/types/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  677. package/types/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  678. package/types/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677.ts +0 -108
  679. package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts +0 -161
  680. package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
  681. package/types/contracts/utils/ReserveRestore.sol/ReserveRestore.ts +0 -112
  682. package/types/contracts/utils/ReserveRestore.sol/index.ts +0 -5
  683. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +0 -146
  684. package/types/factories/@uniswap/v2-periphery/contracts/index.ts +0 -4
  685. package/types/factories/@uniswap/v2-periphery/contracts/interfaces/index.ts +0 -4
  686. package/types/factories/@uniswap/v2-periphery/index.ts +0 -4
  687. package/types/factories/contracts/IQuoter.sol/IQuoterV2__factory.ts +0 -226
  688. package/types/factories/contracts/IQuoter.sol/index.ts +0 -4
  689. package/types/factories/contracts/IUniswapV3.sol/INonfungiblePositionManager__factory.ts +0 -121
  690. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Factory__factory.ts +0 -84
  691. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Pool__factory.ts +0 -108
  692. package/types/factories/contracts/IUniswapV3.sol/index.ts +0 -5
  693. package/types/factories/contracts/Interfaces.sol/AToken__factory.ts +0 -36
  694. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable__factory.ts +0 -572
  695. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor__factory.ts +0 -482
  696. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
  697. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +0 -929
  698. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper__factory.ts +0 -935
  699. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  700. package/types/factories/contracts/reserve/GenericDistributionHelper__factory.ts +0 -987
  701. package/types/factories/contracts/reserve/GoodReserveADai__factory.ts +0 -1502
  702. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2__factory.ts +0 -1240
  703. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  704. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677__factory.ts +0 -86
  705. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange__factory.ts +0 -39
  706. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +0 -152
  707. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
  708. package/types/factories/contracts/utils/ReserveRestore.sol/ReserveRestore__factory.ts +0 -95
  709. package/types/factories/contracts/utils/ReserveRestore.sol/index.ts +0 -5
@@ -1,438 +0,0 @@
1
- // Part 1 UBI+Bridge
2
- // deploy dao to xdc - Done
3
- // deploy bridge to xdc - Done
4
- // give minting rights to xdc bridge
5
- // upgrade to improved identity + ubischeme on celo + fuse
6
- // upgrade bridge on celo/ethereum/fuse - make sure they include xdc
7
- // burn celo bridge locked supply (now each chain has its own supply and all bridges are mint/burn)
8
-
9
- // Part 2 Reserve
10
- // create uniswap pools on xdc
11
- // calculate how much G$s each reserve is backing
12
- // deploy mento reserve to xdc with calculated parameters
13
- // give mento broker minting rights on xdc
14
- // deploy distribution helper
15
- // transfer usdc to xdc reserve
16
- // update celo reserve parameters accordingly
17
-
18
- import { network, ethers, upgrades } from "hardhat";
19
- import { reset } from "@nomicfoundation/hardhat-network-helpers";
20
- import { defaultsDeep, last } from "lodash";
21
- import prompt from "prompt";
22
-
23
- import { executeViaGuardian, executeViaSafe, verifyProductionSigner } from "../multichain-deploy/helpers";
24
-
25
- import ProtocolSettings from "../../releases/deploy-settings.json";
26
-
27
- import dao from "../../releases/deployment.json";
28
- import {
29
- CeloDistributionHelper,
30
- Controller,
31
- FuseOldBridgeKill,
32
- GoodMarketMaker,
33
- IBancorExchangeProvider,
34
- IBroker,
35
- IGoodDollar,
36
- IGoodDollarExchangeProvider,
37
- IGoodDollarExpansionController,
38
- IMentoReserve,
39
- ProtocolUpgradeV4Mento
40
- } from "../../types";
41
- import releaser from "../releaser";
42
- let { name: networkName } = network;
43
- const isSimulation = network.name === "hardhat" || network.name === "fork" || network.name === "localhost";
44
-
45
- export const upgradeCelo = async (network, checksOnly) => {
46
- let [root] = await ethers.getSigners();
47
-
48
- const isProduction = networkName.includes("production");
49
-
50
- if (isProduction) verifyProductionSigner(root);
51
-
52
- let networkEnv = networkName;
53
- if (isSimulation) networkEnv = network;
54
-
55
- let release: { [key: string]: any } = dao[networkEnv];
56
-
57
- let guardian = root;
58
- console.log("signer:", root.address, { networkEnv, isSimulation, isProduction, release });
59
-
60
- const cusd = await ethers.getContractAt("IERC20", release.CUSD);
61
- const gd = await ethers.getContractAt("GoodDollar", release.GoodDollar);
62
- const mentoReserve = (await ethers.getContractAt("IMentoReserve", release.MentoReserve)) as IMentoReserve;
63
-
64
- const ubiImpl = await ethers.deployContract("UBISchemeV2");
65
- const identityImpl = await ethers.deployContract("IdentityV3");
66
-
67
- console.log("deployed new impls", { ubiImpl: ubiImpl.address, identityImpl: identityImpl.address });
68
-
69
- const proposalActions = [
70
- [release.UBIScheme, "upgradeTo(address)", ethers.utils.defaultAbiCoder.encode(["address"], [ubiImpl.address]), "0"], //upgrade ubi
71
- [
72
- release.Identity,
73
- "upgradeTo(address)",
74
- ethers.utils.defaultAbiCoder.encode(["address"], [identityImpl.address]),
75
- "0"
76
- ] //upgrade identity
77
- ];
78
- const mentoExchange = (await ethers.getContractAt(
79
- "IBancorExchangeProvider",
80
- release.MentoExchangeProvider
81
- )) as IBancorExchangeProvider;
82
-
83
- //simulate on fork, make sure safe has enough eth to simulate txs
84
- let DIST_HELPER_MIN_CELO_BALANCE = ethers.utils.parseEther("2");
85
-
86
- if (isSimulation && !checksOnly) {
87
- DIST_HELPER_MIN_CELO_BALANCE = ethers.utils.parseEther("0.1");
88
- // await reset("https://rpc.ankr.com/celo");
89
- await root.sendTransaction({ value: ethers.utils.parseEther("0.5"), to: release.Avatar });
90
-
91
- const avatar = await ethers.getImpersonatedSigner(release.Avatar);
92
- const reserveOwner = await ethers.getImpersonatedSigner(await mentoReserve.owner());
93
- const eids = await mentoExchange.getExchangeIds();
94
- if (eids.length > 0) {
95
- await mentoExchange.connect(avatar).destroyExchange(eids[0], 0);
96
- }
97
-
98
- const devCUSD = await ethers.getContractAt(
99
- [
100
- "function mint(address,uint) external returns (uint)",
101
- "function setValidators(address) external",
102
- "function owner() view returns(address)"
103
- ],
104
- release.CUSD
105
- );
106
-
107
- console.log("minting devCUSD");
108
- const cusdOwner = await ethers.getImpersonatedSigner(await devCUSD.owner());
109
- await root.sendTransaction({ value: ethers.utils.parseEther("0.5"), to: cusdOwner.address });
110
- await devCUSD.connect(cusdOwner).setValidators(release.Avatar).catch(console.log);
111
- await devCUSD.connect(avatar).mint(root.address, ethers.utils.parseEther("2000000")).catch(console.log);
112
-
113
- console.log("transfering cusd to reserve");
114
- await cusd.connect(root).transfer(release.MentoReserve, ethers.utils.parseEther("200000"));
115
-
116
- guardian = await ethers.getImpersonatedSigner(release.GuardiansSafe);
117
- await root.sendTransaction({ value: ethers.utils.parseEther("0.5"), to: guardian.address });
118
- } else if (!isProduction && !checksOnly) {
119
- DIST_HELPER_MIN_CELO_BALANCE = ethers.utils.parseEther("0.1");
120
- const mentoReserve = (await ethers.getContractAt("IMentoReserve", release.MentoReserve)) as IMentoReserve;
121
- const ctrl = (await ethers.getContractAt("Controller", release.Controller)) as Controller;
122
-
123
- const eids = await mentoExchange.getExchangeIds();
124
- if (eids.length > 0) {
125
- await (
126
- await ctrl.genericCall(
127
- mentoExchange.address,
128
- mentoExchange.interface.encodeFunctionData("destroyExchange", [eids[0], 0]),
129
- release.Avatar,
130
- 0
131
- )
132
- ).wait();
133
- }
134
-
135
- const devCUSD = await ethers.getContractAt(
136
- ["function mint(address,uint) external returns (uint)", "function setValidators(address) external"],
137
- release.CUSD
138
- );
139
- await (
140
- await ctrl.genericCall(
141
- devCUSD.address,
142
- devCUSD.interface.encodeFunctionData("setValidators", [release.Avatar]),
143
- release.Avatar,
144
- 0
145
- )
146
- ).wait();
147
- await (
148
- await ctrl.genericCall(
149
- devCUSD.address,
150
- devCUSD.interface.encodeFunctionData("mint", [root.address, ethers.utils.parseEther("2000000")]),
151
- release.Avatar,
152
- 0
153
- )
154
- ).wait();
155
-
156
- if ((await cusd.balanceOf(release.MentoReserve)).lt(ethers.utils.parseEther("200000"))) {
157
- await cusd.transfer(release.MentoReserve, ethers.utils.parseEther("200000"));
158
- }
159
- }
160
-
161
- const mpbImplementation = mpbDeployments["42220"].find(_ => _.name === "celo")["MessagePassingBridge_Implementation"]
162
- .address;
163
- const bridgeLocked = ["0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5", "0xD5D11eE582c8931F336fbcd135e98CEE4DB8CCB0"];
164
- const locked = [
165
- "0xD17652350Cfd2A37bA2f947C910987a3B1A1c60d",
166
- "0xeC577447D314cf1e443e9f4488216651450DBE7c",
167
- "0x6738fA889fF31F82d9Fe8862ec025dbE318f3Fde"
168
- ];
169
-
170
- const ethprovider = new ethers.providers.JsonRpcProvider("https://rpc.flashbots.net");
171
- const fuseprovider = new ethers.providers.JsonRpcProvider("https://rpc.fuse.io");
172
- const TOTAL_LOCKED = (
173
- await Promise.all(
174
- locked
175
- .concat(bridgeLocked)
176
- .map(_ => gd.connect(ethprovider).attach(dao["production-mainnet"].GoodDollar).balanceOf(_))
177
- )
178
- ).reduce((prev, cur) => prev.add(cur), ethers.constants.Zero);
179
- const TOTAL_SUPPLY_ETH = await gd.connect(ethprovider).attach(dao["production-mainnet"].GoodDollar).totalSupply();
180
- const TOTAL_SUPPLY_FUSE = await gd.connect(fuseprovider).attach(dao["production"].GoodDollar).totalSupply();
181
- const TOTAL_SUPPLY_CELO = await gd.totalSupply();
182
- const TOTAL_GLOBAL_SUPPLY = TOTAL_SUPPLY_ETH.add(TOTAL_SUPPLY_FUSE)
183
- .sub(TOTAL_LOCKED)
184
- .mul(ethers.BigNumber.from("10000000000000000")) //convert to 18 decimals
185
- .add(TOTAL_SUPPLY_CELO);
186
-
187
- const exchangeParams = [release.CUSD, release.GoodDollar, 0, 0, 0, 0]; //address reserveAsset;address tokenAddress;uint256 tokenSupply;uint256 reserveBalance;uint32 reserveRatio;uint32 exitConribution;
188
-
189
- console.log({
190
- networkEnv,
191
- mpbImplementation,
192
- guardian: guardian.address,
193
- isSimulation,
194
- isProduction,
195
- release,
196
- TOTAL_GLOBAL_SUPPLY
197
- });
198
-
199
- const mentoUpgrade = release.MentoUpgradeHelper
200
- ? ((await ethers.getContractAt("ProtocolUpgradeV4Mento", release.MentoUpgradeHelper)) as ProtocolUpgradeV4Mento)
201
- : await ethers.deployContract("ProtocolUpgradeV4Mento", [release.Avatar]);
202
- let distHelper = release.CeloDistributionHelper
203
- ? ((await ethers.getContractAt("CeloDistributionHelper", release.CeloDistributionHelper)) as CeloDistributionHelper)
204
- : ((await upgrades.deployProxy(
205
- await ethers.getContractFactory("CeloDistributionHelper"),
206
- [release.NameService, "0x00851A91a3c4E9a4c1B48df827Bacc1f884bdE28"], //static oracle for uniswap
207
- { initializer: "initialize" }
208
- )) as CeloDistributionHelper);
209
-
210
- release.MentoUpgradeHelper = mentoUpgrade.address;
211
- release.CeloDistributionHelper = distHelper.address;
212
- if (!isSimulation) {
213
- releaser(release, networkEnv);
214
- }
215
- console.log("deployed mentoUpgrade", {
216
- distribuitonHelper: distHelper.address,
217
- mentoUpgrade: mentoUpgrade.address,
218
- distHelperAvatar: await distHelper.avatar()
219
- });
220
-
221
- const proposalContracts = [
222
- release.CeloDistributionHelper, //set fee settings
223
- release.CeloDistributionHelper, //add ubi recipient
224
- release.CeloDistributionHelper, //add community treasury recipient
225
- release.MpbBridge, // upgrade
226
- release.MpbBridge && release.GoodDollarMintBurnWrapper, // remove minting rights from bridge
227
- release.GoodDollar, // set mento broker as minter
228
- release.GoodDollar, // set reserve expansion controller as minter
229
- release.Controller, // register upgrade contract
230
- mentoUpgrade.address // create the exchange + set expansion rate
231
- ];
232
-
233
- const proposalEthValues = proposalContracts.map(_ => 0);
234
-
235
- const proposalFunctionSignatures = [
236
- "setFeeSettings((uint128,uint128,uint8,uint8))",
237
- "addOrUpdateRecipient((uint32,uint32,address,uint8))",
238
- "addOrUpdateRecipient((uint32,uint32,address,uint8))",
239
- "upgradeTo(address)",
240
- "revokeRole(bytes32,address)", // mpb is now lock/unlock doesnt need minting
241
- "addMinter(address)",
242
- "addMinter(address)",
243
- "registerScheme(address,bytes32,bytes4,address)",
244
- "upgrade(address,(address,address,uint256,uint256,uint32,uint32),address,address,address,uint256)" //Controller _controller,PoolExchange memory _exchange,address _mentoExchange,address _mentoController, address _distHelper
245
- ];
246
-
247
- console.log("preparing inputs...");
248
- const proposalFunctionInputs = [
249
- //uint128 maxFee;uint128 minBalanceForFees;uint8 percentageToSellForFee;
250
- //2 celo max fee for lz bridge, min balance 2 celo, max percentage to sell 1%, max slippage 5%
251
- ethers.utils.defaultAbiCoder.encode(
252
- ["uint128", "uint128", "uint8", "uint8"],
253
- [ethers.utils.parseEther("2"), DIST_HELPER_MIN_CELO_BALANCE, "1", "5"]
254
- ),
255
- ethers.utils.defaultAbiCoder.encode(["uint32", "uint32", "address", "uint8"], [9000, 42220, release.UBIScheme, 1]), // ubi pool recipient
256
- ethers.utils.defaultAbiCoder.encode(
257
- ["uint32", "uint32", "address", "uint8"],
258
- [1000, 42220, release.CommunitySafe, 1]
259
- ), //community treasury recipient
260
- ethers.utils.defaultAbiCoder.encode(["address"], [mpbImplementation]),
261
- release.MpbBridge &&
262
- ethers.utils.defaultAbiCoder.encode(
263
- ["bytes32", "address"],
264
- [ethers.utils.keccak256(ethers.utils.toUtf8Bytes("MINTER_ROLE")), release.MpbBridge]
265
- ),
266
- ethers.utils.defaultAbiCoder.encode(["address"], [release.MentoBroker]),
267
- ethers.utils.defaultAbiCoder.encode(["address"], [release.MentoExpansionController]),
268
- ethers.utils.defaultAbiCoder.encode(
269
- ["address", "bytes32", "bytes4", "address"],
270
- [mentoUpgrade.address, ethers.constants.HashZero, "0x0000001f", release.Avatar]
271
- ),
272
- ethers.utils.defaultAbiCoder.encode(
273
- ["address", "(address,address,uint256,uint256,uint32,uint32)", "address", "address", "address", "uint256"],
274
- [
275
- release.Controller,
276
- exchangeParams,
277
- release.MentoExchangeProvider,
278
- release.MentoExpansionController,
279
- release.CeloDistributionHelper,
280
- TOTAL_GLOBAL_SUPPLY
281
- ]
282
- )
283
- ];
284
-
285
- console.log({ exchangeParams, mentoExchange: release.MentoExchangeProvider });
286
- console.log("executing upgrade...", { proposalContracts, proposalFunctionInputs, proposalFunctionSignatures });
287
-
288
- if (isProduction && !checksOnly) {
289
- await executeViaSafe(
290
- proposalContracts,
291
- proposalEthValues,
292
- proposalFunctionSignatures,
293
- proposalFunctionInputs,
294
- release.GuardiansSafe,
295
- "celo"
296
- );
297
- } else if (!checksOnly) {
298
- await executeViaGuardian(
299
- proposalContracts,
300
- proposalEthValues,
301
- proposalFunctionSignatures,
302
- proposalFunctionInputs,
303
- guardian,
304
- networkEnv
305
- );
306
- }
307
-
308
- if (isSimulation || !isProduction) {
309
- const swapper = networkEnv.includes("production")
310
- ? await ethers.getImpersonatedSigner("0x66582D24FEaD72555adaC681Cc621caCbB208324")
311
- : root;
312
- const supplyAfter = await (await ethers.getContractAt("IGoodDollar", release.GoodDollar)).totalSupply();
313
- console.log("Supply after upgrade:", { supplyAfter, TOTAL_GLOBAL_SUPPLY });
314
-
315
- const isBrokerMinter = await gd.isMinter(release.MentoBroker);
316
- const isExpansionMinter = await gd.isMinter(release.MentoExpansionController);
317
- const mentoExchange = await ethers.getContractAt("IBancorExchangeProvider", release.MentoExchangeProvider);
318
- const mentoBroker = (await ethers.getContractAt("IBroker", release.MentoBroker)) as IBroker;
319
- const eids = await mentoExchange.getExchangeIds();
320
- const exchange = await mentoExchange.getPoolExchange(eids[0]);
321
- const price = (await mentoExchange.currentPrice(eids[0])) / 1e18;
322
- console.log("current price:", price);
323
- console.log("Exchange:", exchange, eids[0]);
324
-
325
- console.log("Broker minter check:", isBrokerMinter ? "Success" : "Failed");
326
- console.log("Expansion minter check:", isExpansionMinter ? "Success" : "Failed");
327
-
328
- console.log("balance before swap:", await gd.balanceOf(swapper.address), await cusd.balanceOf(swapper.address));
329
- await cusd.connect(swapper).approve(release.MentoBroker, ethers.utils.parseEther("1000"));
330
- await mentoBroker
331
- .connect(swapper)
332
- .swapIn(mentoExchange.address, eids[0], cusd.address, gd.address, ethers.utils.parseEther("1000"), 0)
333
- .then(_ => _.wait());
334
- console.log(
335
- "Balance after swap:",
336
- swapper.address,
337
- await gd.balanceOf(swapper.address),
338
- await cusd.balanceOf(swapper.address)
339
- );
340
- const mentomint = (await ethers.getContractAt(
341
- "IGoodDollarExpansionController",
342
- release.MentoExpansionController
343
- )) as IGoodDollarExpansionController;
344
- await cusd.connect(swapper).approve(mentomint.address, ethers.utils.parseEther("1000"));
345
- const tx = await (
346
- await mentomint.connect(swapper).mintUBIFromInterest(eids[0], ethers.utils.parseEther("1000"))
347
- ).wait();
348
- console.log(
349
- "mint from interest:",
350
- tx.events.find(_ => _.event === "InterestUBIMinted").args.amount.toString() / 1e18
351
- );
352
- console.log("price after interest mint:", (await mentoExchange.currentPrice(eids[0])) / 1e18);
353
- const distTx = await (await distHelper.onDistribution(0, { gasLimit: 2000000 })).wait();
354
- const { distributionRecipients, distributed } = distTx.events.find(_ => _.event === "Distribution").args;
355
- console.log("Distribution events:", distributionRecipients, distributed, distTx.events.length);
356
- const bridgeBalance = await gd.balanceOf("0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5");
357
- console.log("Brigde balance should equal other chains total supply:", {
358
- bridgeBalance,
359
- isEqual: bridgeBalance.eq(TOTAL_GLOBAL_SUPPLY.sub(TOTAL_SUPPLY_CELO))
360
- });
361
- }
362
- };
363
-
364
- const calculateReserveParams = async () => {
365
- const celoProvider = new ethers.providers.JsonRpcProvider("https://forno.celo.org");
366
- const gd = await ethers.getContractAt("GoodDollar", dao["production-celo"].GoodDollar);
367
- const celoCusd = (await ethers.getContractAt("IERC20", dao["production-celo"].CUSD)).connect(celoProvider);
368
- const gdCelo = gd.connect(celoProvider);
369
- const totalSupplyCelo = await gdCelo.totalSupply();
370
- const reserveBalance = await celoCusd.balanceOf(dao["production-celo"].MentoReserve);
371
- const xdcReserveBalance = ethers.utils.parseUnits("200000", 18); //200k in xdc
372
- const totalUSD = reserveBalance.add(xdcReserveBalance); //reserve + 200k in xdc
373
- const xdcSupplyShare = xdcReserveBalance.mul(1e8).div(totalUSD);
374
- const xdcGdSupplyEquivalent = totalSupplyCelo.mul(xdcSupplyShare).div(1e8);
375
- const price = ethers.utils.parseUnits("0.00013", 8);
376
- const celoGdSupplyEquivalent = totalSupplyCelo.sub(xdcGdSupplyEquivalent);
377
-
378
- console.log({
379
- totalSupplyCelo,
380
- reserveBalance,
381
- totalUSD,
382
- xdcSupplyShare,
383
- xdcGdSupplyEquivalent,
384
- celoGdSupplyEquivalent
385
- });
386
-
387
- // uint32 reserveRatio = uint32(
388
- // (cUSDBalance * 1e18 * 1e8) / (price * totalGlobalSupply)
389
- // );
390
- //calculate reserve ratio
391
- const reserveRatioXdc = xdcReserveBalance
392
- .mul(ethers.BigNumber.from("100000000")) //1e8
393
- .mul(ethers.BigNumber.from("1000000000000000000")) //1e18
394
- .div(xdcGdSupplyEquivalent.mul(price));
395
- console.log(
396
- "recommended reserve ratio for xdc:",
397
- reserveRatioXdc.toString(),
398
- reserveRatioXdc.div("10000000000").toNumber() / 1e8
399
- );
400
-
401
- //calcualte reserve ratio for celo
402
- const reserveRatioCelo = reserveBalance
403
- .mul(ethers.BigNumber.from("100000000")) //1e8
404
- .mul(ethers.BigNumber.from("1000000000000000000")) //1e18
405
- .div(celoGdSupplyEquivalent.mul(price));
406
-
407
- console.log(
408
- "recommended reserve ratio for celo:",
409
- reserveRatioCelo.toString(),
410
- reserveRatioCelo.div("10000000000").toNumber() / 1e8
411
- );
412
- };
413
-
414
- export const main = async () => {
415
- await calculateReserveParams();
416
- return;
417
- prompt.start();
418
- const { network } = await prompt.get(["network"]);
419
-
420
- console.log("running step:", { network });
421
- const chain = last(network.split("-"));
422
- switch (chain) {
423
- case "mainnet":
424
- // await upgradeMainnet(network, true);
425
-
426
- break;
427
- case "fuse":
428
- // await upgradeFuse(network);
429
-
430
- break;
431
- case "celo":
432
- await upgradeCelo(network, true);
433
-
434
- break;
435
- }
436
- };
437
-
438
- main().catch(console.log);
@@ -1,5 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- import type * as interfaces from "./interfaces";
5
- export type { interfaces };
@@ -1,159 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- import type {
5
- BaseContract,
6
- BigNumber,
7
- BigNumberish,
8
- BytesLike,
9
- CallOverrides,
10
- ContractTransaction,
11
- Overrides,
12
- PayableOverrides,
13
- PopulatedTransaction,
14
- Signer,
15
- utils,
16
- } from "ethers";
17
- import type { FunctionFragment, Result } from "@ethersproject/abi";
18
- import type { Listener, Provider } from "@ethersproject/providers";
19
- import type {
20
- TypedEventFilter,
21
- TypedEvent,
22
- TypedListener,
23
- OnEvent,
24
- } from "../../../../common";
25
-
26
- export interface IWETHInterface extends utils.Interface {
27
- functions: {
28
- "deposit()": FunctionFragment;
29
- "transfer(address,uint256)": FunctionFragment;
30
- "withdraw(uint256)": FunctionFragment;
31
- };
32
-
33
- getFunction(
34
- nameOrSignatureOrTopic: "deposit" | "transfer" | "withdraw"
35
- ): FunctionFragment;
36
-
37
- encodeFunctionData(functionFragment: "deposit", values?: undefined): string;
38
- encodeFunctionData(
39
- functionFragment: "transfer",
40
- values: [string, BigNumberish]
41
- ): string;
42
- encodeFunctionData(
43
- functionFragment: "withdraw",
44
- values: [BigNumberish]
45
- ): string;
46
-
47
- decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
48
- decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
49
- decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
50
-
51
- events: {};
52
- }
53
-
54
- export interface IWETH extends BaseContract {
55
- connect(signerOrProvider: Signer | Provider | string): this;
56
- attach(addressOrName: string): this;
57
- deployed(): Promise<this>;
58
-
59
- interface: IWETHInterface;
60
-
61
- queryFilter<TEvent extends TypedEvent>(
62
- event: TypedEventFilter<TEvent>,
63
- fromBlockOrBlockhash?: string | number | undefined,
64
- toBlock?: string | number | undefined
65
- ): Promise<Array<TEvent>>;
66
-
67
- listeners<TEvent extends TypedEvent>(
68
- eventFilter?: TypedEventFilter<TEvent>
69
- ): Array<TypedListener<TEvent>>;
70
- listeners(eventName?: string): Array<Listener>;
71
- removeAllListeners<TEvent extends TypedEvent>(
72
- eventFilter: TypedEventFilter<TEvent>
73
- ): this;
74
- removeAllListeners(eventName?: string): this;
75
- off: OnEvent<this>;
76
- on: OnEvent<this>;
77
- once: OnEvent<this>;
78
- removeListener: OnEvent<this>;
79
-
80
- functions: {
81
- deposit(
82
- overrides?: PayableOverrides & { from?: string }
83
- ): Promise<ContractTransaction>;
84
-
85
- transfer(
86
- to: string,
87
- value: BigNumberish,
88
- overrides?: Overrides & { from?: string }
89
- ): Promise<ContractTransaction>;
90
-
91
- withdraw(
92
- arg0: BigNumberish,
93
- overrides?: Overrides & { from?: string }
94
- ): Promise<ContractTransaction>;
95
- };
96
-
97
- deposit(
98
- overrides?: PayableOverrides & { from?: string }
99
- ): Promise<ContractTransaction>;
100
-
101
- transfer(
102
- to: string,
103
- value: BigNumberish,
104
- overrides?: Overrides & { from?: string }
105
- ): Promise<ContractTransaction>;
106
-
107
- withdraw(
108
- arg0: BigNumberish,
109
- overrides?: Overrides & { from?: string }
110
- ): Promise<ContractTransaction>;
111
-
112
- callStatic: {
113
- deposit(overrides?: CallOverrides): Promise<void>;
114
-
115
- transfer(
116
- to: string,
117
- value: BigNumberish,
118
- overrides?: CallOverrides
119
- ): Promise<boolean>;
120
-
121
- withdraw(arg0: BigNumberish, overrides?: CallOverrides): Promise<void>;
122
- };
123
-
124
- filters: {};
125
-
126
- estimateGas: {
127
- deposit(
128
- overrides?: PayableOverrides & { from?: string }
129
- ): Promise<BigNumber>;
130
-
131
- transfer(
132
- to: string,
133
- value: BigNumberish,
134
- overrides?: Overrides & { from?: string }
135
- ): Promise<BigNumber>;
136
-
137
- withdraw(
138
- arg0: BigNumberish,
139
- overrides?: Overrides & { from?: string }
140
- ): Promise<BigNumber>;
141
- };
142
-
143
- populateTransaction: {
144
- deposit(
145
- overrides?: PayableOverrides & { from?: string }
146
- ): Promise<PopulatedTransaction>;
147
-
148
- transfer(
149
- to: string,
150
- value: BigNumberish,
151
- overrides?: Overrides & { from?: string }
152
- ): Promise<PopulatedTransaction>;
153
-
154
- withdraw(
155
- arg0: BigNumberish,
156
- overrides?: Overrides & { from?: string }
157
- ): Promise<PopulatedTransaction>;
158
- };
159
- }
@@ -1,4 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- export type { IWETH } from "./IWETH";
@@ -1,5 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- import type * as contracts from "./contracts";
5
- export type { contracts };