@gooddollar/goodprotocol 1.0.29-beta.4 → 1.0.29

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 (297) hide show
  1. package/artifacts/abis/AdminWallet.min.json +1 -1
  2. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -1
  3. package/artifacts/abis/GoodDollarStaking.min.json +1 -1
  4. package/artifacts/abis/GoodDollarStakingMock.min.json +1 -1
  5. package/artifacts/abis/IGoodDollar.min.json +1 -1
  6. package/artifacts/abis/IIdentity.min.json +1 -1
  7. package/artifacts/abis/UBIScheme.min.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  11. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  12. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  13. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IGoodDollar.json +0 -39
  23. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IIdentity.json +0 -51
  27. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  38. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  39. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
  40. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  41. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  42. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  43. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  44. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  45. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  46. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  47. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +2 -15
  48. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  49. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  50. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  51. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  52. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  53. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  54. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  55. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  56. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  57. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  58. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +2 -2
  63. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +2 -2
  65. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +2 -2
  67. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  69. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +2 -15
  71. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  73. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
  78. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  81. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  83. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  87. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  90. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  92. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  94. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  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/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  105. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +2 -2
  106. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  107. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  108. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  109. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  110. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  111. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  112. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  113. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  114. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  115. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  116. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  117. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  118. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  119. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  120. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  121. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  122. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  123. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  124. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  125. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  126. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  127. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  128. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  129. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  130. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  131. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  132. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  133. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  134. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  135. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  136. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  137. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  138. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  139. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  140. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  141. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  142. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  143. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  144. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +22 -15
  145. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  146. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +56 -76
  147. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  148. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  149. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  150. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  151. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  152. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  153. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  154. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  155. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  156. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  157. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +2 -16
  158. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  159. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  160. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  161. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
  162. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  163. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
  164. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  165. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  166. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  167. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  168. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  169. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  170. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  171. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  172. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  173. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  174. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  175. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  176. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  177. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  178. package/contracts/Interfaces.sol +0 -26
  179. package/contracts/governance/GReputation.sol +6 -19
  180. package/contracts/governance/GoodDollarStaking.sol +9 -23
  181. package/contracts/ubi/UBIScheme.sol +40 -45
  182. package/contracts/utils/AdminWallet.sol +11 -42
  183. package/contracts/utils/GoodDollarMintBurnWrapper.sol +3 -13
  184. package/hardhat.config.ts +7 -21
  185. package/package.json +2 -3
  186. package/releases/deploy-settings.json +1 -36
  187. package/releases/deployment.json +53 -98
  188. package/scripts/analytics/gdinflow.ts +56 -0
  189. package/scripts/analytics/tokenInOutStats.ts +50 -0
  190. package/scripts/deployFullDAO.ts +19 -39
  191. package/scripts/multichain-deploy/{1_basicdao-deploy.ts → basicdao-deploy.ts} +52 -56
  192. package/scripts/multichain-deploy/{3_gdSavings-deploy.ts → gdSavings-deploy.ts} +76 -90
  193. package/scripts/multichain-deploy/helpers.ts +1 -0
  194. package/scripts/{upgrades → multichain-deploy}/nonubiDistribution-deploy.ts +5 -2
  195. package/scripts/test/localOldDaoDeploy.ts +3 -10
  196. package/test/helpers.ts +8 -12
  197. package/test/ubi/UBIScheme.test.ts +30 -30
  198. package/test/ubi/UBISchemeCycle.test.ts +7 -9
  199. package/test/utils/AdminWallet.test.ts +11 -33
  200. package/types/AdminWallet.ts +113 -124
  201. package/types/GoodDollarMintBurnWrapper.ts +0 -42
  202. package/types/GoodDollarStaking.ts +0 -34
  203. package/types/GoodDollarStakingMock.ts +0 -34
  204. package/types/IGoodDollar.ts +0 -54
  205. package/types/IIdentity.ts +0 -75
  206. package/types/UBIScheme.ts +40 -19
  207. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  208. package/types/factories/AdminWallet__factory.ts +55 -75
  209. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  210. package/types/factories/BaseShareField__factory.ts +1 -1
  211. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  212. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  213. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  214. package/types/factories/DAOContract__factory.ts +1 -1
  215. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  216. package/types/factories/DistributionBridgeMock__factory.ts +1 -1
  217. package/types/factories/DistributionHelperTestHelper__factory.ts +1 -1
  218. package/types/factories/DistributionHelperTest__factory.ts +1 -1
  219. package/types/factories/DistributionHelper__factory.ts +1 -1
  220. package/types/factories/DonationsStaking__factory.ts +1 -1
  221. package/types/factories/ExchangeHelper__factory.ts +1 -1
  222. package/types/factories/FuseFaucet__factory.ts +1 -1
  223. package/types/factories/FuseStakingV3__factory.ts +1 -1
  224. package/types/factories/GReputation__factory.ts +1 -1
  225. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  226. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  227. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  228. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  229. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  230. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1 -15
  231. package/types/factories/GoodDollarStakingMock__factory.ts +1 -14
  232. package/types/factories/GoodDollarStaking__factory.ts +1 -14
  233. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  234. package/types/factories/GoodFundManager__factory.ts +1 -1
  235. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  236. package/types/factories/GoodReserveCDai__factory.ts +1 -1
  237. package/types/factories/GovernanceStaking__factory.ts +1 -1
  238. package/types/factories/IGoodDollar__factory.ts +0 -39
  239. package/types/factories/IIdentity__factory.ts +0 -51
  240. package/types/factories/InvitesV1__factory.ts +1 -1
  241. package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
  242. package/types/factories/MultichainRouterMock__factory.ts +1 -1
  243. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  244. package/types/factories/OverMintTester__factory.ts +1 -1
  245. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  246. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  247. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  248. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  249. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  250. package/types/factories/Reputation__factory.ts +1 -1
  251. package/types/factories/StakersDistribution__factory.ts +1 -1
  252. package/types/factories/SwapHelperTest__factory.ts +1 -1
  253. package/types/factories/UBIScheme__factory.ts +21 -14
  254. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  255. package/types/factories/UpgradableMock2__factory.ts +1 -1
  256. package/types/factories/UpgradableMock3__factory.ts +1 -1
  257. package/types/factories/UpgradableMock4__factory.ts +1 -1
  258. package/types/factories/UpgradableMock__factory.ts +1 -1
  259. package/types/hardhat.d.ts +0 -54
  260. package/types/index.ts +0 -12
  261. package/yarn.lock +4 -4
  262. package/artifacts/abis/Faucet.min.json +0 -1
  263. package/artifacts/abis/IGovernanceStaking.min.json +0 -1
  264. package/artifacts/abis/IIdentityV2.min.json +0 -1
  265. package/artifacts/abis/IdentityV2.min.json +0 -1
  266. package/artifacts/abis/InvitesV2.min.json +0 -1
  267. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +0 -4
  268. package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +0 -281
  269. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +0 -4
  270. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +0 -684
  271. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +0 -4
  272. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.json +0 -24
  273. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +0 -4
  274. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +0 -1000
  275. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +0 -4
  276. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +0 -586
  277. package/contracts/fuseFaucet/Faucet.sol +0 -247
  278. package/contracts/identity/IdentityV2.sol +0 -434
  279. package/contracts/invite/InvitesV2.sol +0 -316
  280. package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +0 -45
  281. package/scripts/multichain-deploy/2_helpers-deploy.ts +0 -143
  282. package/scripts/multichain-deploy/4_ubi-deploy.ts +0 -121
  283. package/scripts/multichain-deploy/5_gov-deploy.ts +0 -123
  284. package/scripts/multichain-deploy/verifyEtherscan.ts +0 -112
  285. package/scripts/upgrades/identity-upgrade.ts +0 -153
  286. package/types/Faucet.ts +0 -1014
  287. package/types/IERC1271.ts +0 -109
  288. package/types/IGovernanceStaking.ts +0 -98
  289. package/types/IIdentityV2.ts +0 -526
  290. package/types/IdentityV2.ts +0 -1612
  291. package/types/InvitesV2.ts +0 -933
  292. package/types/factories/Faucet__factory.ts +0 -729
  293. package/types/factories/IERC1271__factory.ts +0 -47
  294. package/types/factories/IGovernanceStaking__factory.ts +0 -39
  295. package/types/factories/IIdentityV2__factory.ts +0 -293
  296. package/types/factories/IdentityV2__factory.ts +0 -1048
  297. package/types/factories/InvitesV2__factory.ts +0 -634
@@ -127,11 +127,13 @@ describe("UBIScheme", () => {
127
127
 
128
128
  it("should return zero entitlement before UBI started", async () => {
129
129
  let blockTimestamp = (await ethers.provider.getBlock("latest")).timestamp;
130
- const timeInDay = blockTimestamp % ONE_DAY;
130
+ const timeInDay = (blockTimestamp % (ONE_DAY));
131
131
  // Move to before 12pm of the current day
132
132
  if (timeInDay > 12 * ONE_HOUR) {
133
133
  blockTimestamp += 12 * ONE_HOUR;
134
- await ethers.provider.send("evm_setNextBlockTimestamp", [blockTimestamp]);
134
+ await ethers.provider.send("evm_setNextBlockTimestamp", [
135
+ blockTimestamp
136
+ ]);
135
137
  await ethers.provider.send("evm_mine", []);
136
138
  }
137
139
  const ubiNew = await deployNewUbi();
@@ -198,26 +200,24 @@ describe("UBIScheme", () => {
198
200
  expect(error.message).to.have.string("Only UBIScheme can call this method");
199
201
  });
200
202
 
201
- it("should estimate next daily UBI to according to min value when no claimers and not using first claim pool", async () => {
203
+ it("should estimate next daily UBI to default value when no claimers and not using first claim pool", async () => {
202
204
  const nextDailyUBIBefore = await ubi.estimateNextDailyUBI();
203
- const minActiveUsers = await ubi.minActiveUsers();
204
- const cycleLength = await ubi.cycleLength();
205
- const pool = await goodDollar.balanceOf(ubi.address);
206
- const dailyPool = pool.div(cycleLength);
207
- const defaultDailyClaim = dailyPool.div(minActiveUsers);
208
- let encodedCall = ubi.interface.encodeFunctionData("setUseFirstClaimPool", [
209
- false
210
- ]);
205
+ const defaultDailyUbi = await ubi.defaultDailyUbi();
206
+ let encodedCall = ubi.interface.encodeFunctionData(
207
+ "setUseFirstClaimPool",
208
+ [false]
209
+ );
211
210
  await genericCall(ubi.address, encodedCall);
212
211
  const nextDailyUBIAfter = await ubi.estimateNextDailyUBI();
213
212
 
214
213
  expect(nextDailyUBIBefore.eq(0));
215
214
  expect(nextDailyUBIAfter.gt(nextDailyUBIBefore));
216
- expect(nextDailyUBIAfter.eq(defaultDailyClaim));
215
+ expect(nextDailyUBIAfter.eq(defaultDailyUbi));
217
216
 
218
- encodedCall = ubi.interface.encodeFunctionData("setUseFirstClaimPool", [
219
- true
220
- ]);
217
+ encodedCall = ubi.interface.encodeFunctionData(
218
+ "setUseFirstClaimPool",
219
+ [true]
220
+ );
221
221
  await genericCall(ubi.address, encodedCall);
222
222
  });
223
223
 
@@ -315,8 +315,8 @@ describe("UBIScheme", () => {
315
315
  await genericCall(ubi.address, encodedCall); // we should set cyclelength to one cause this tests was implemented according to it
316
316
  const currentDay = await ubi.currentDayInCycle().then(_ => _.toNumber());
317
317
  await increaseTime(ONE_DAY);
318
- await goodDollar.mint(avatar, "300002");
319
- //ubi will have 902GD in pool so daily ubi is now 300002/1(cycle)/1000(min claimers) = 300
318
+ await goodDollar.mint(avatar, "901");
319
+ //ubi will have 902GD in pool so daily ubi is now 902/1(cycle)/3(claimers) = 300
320
320
  await ubi.connect(claimer1).claim();
321
321
  await increaseTime(ONE_DAY);
322
322
  await goodDollar.mint(avatar, "1");
@@ -326,8 +326,8 @@ describe("UBIScheme", () => {
326
326
  let avatarBalance = await goodDollar.balanceOf(avatar);
327
327
  let claimer1Balance = await goodDollar.balanceOf(claimer1.address);
328
328
  expect(avatarBalance.toString()).to.be.equal("0");
329
- // 300 GD from first day and 299 (30002 - 300 /1 / 1000) from the second day claimed in this test
330
- expect(claimer1Balance.toString()).to.be.equal("599");
329
+ // 300 GD from first day and 201 from the second day claimed in this test
330
+ expect(claimer1Balance.toString()).to.be.equal("501");
331
331
  });
332
332
 
333
333
  it("should return the reward value for entitlement user", async () => {
@@ -519,11 +519,11 @@ describe("UBIScheme", () => {
519
519
  });
520
520
 
521
521
  it("distribute formula should return correct value", async () => {
522
- await goodDollar.mint(avatar, "20000");
522
+ await goodDollar.mint(avatar, "20");
523
523
  await increaseTime(ONE_DAY);
524
524
  let ubiBalance = await goodDollar.balanceOf(ubi.address);
525
525
  let avatarBalance = await goodDollar.balanceOf(avatar);
526
- let activeUsersCount = await ubi.minActiveUsers(); // await ubi.activeUsersCount();
526
+ let activeUsersCount = await ubi.activeUsersCount();
527
527
  let claimer4BalanceBefore = await goodDollar.balanceOf(claimer2.address);
528
528
  await ubi.connect(claimer2).claim();
529
529
  let claimer4BalanceAfter = await goodDollar.balanceOf(claimer2.address);
@@ -539,7 +539,7 @@ describe("UBIScheme", () => {
539
539
  await increaseTime(ONE_DAY);
540
540
  let ubiBalance = await goodDollar.balanceOf(ubi.address);
541
541
  let avatarBalance = await goodDollar.balanceOf(avatar);
542
- let activeUsersCount = await ubi.minActiveUsers(); // await ubi.activeUsersCount();
542
+ let activeUsersCount = await ubi.activeUsersCount();
543
543
  let claimer4BalanceBefore = await goodDollar.balanceOf(claimer2.address);
544
544
  await ubi.connect(claimer2).claim();
545
545
  let claimer4BalanceAfter = await goodDollar.balanceOf(claimer2.address);
@@ -565,12 +565,12 @@ describe("UBIScheme", () => {
565
565
  let claimer1Balance1 = await goodDollar.balanceOf(claimer1.address);
566
566
  // regular claim
567
567
  await ubi.connect(claimer1).claim();
568
+ const ubiGdBalance = await goodDollar.balanceOf(ubi.address);
568
569
  let claimer1Balance2 = await goodDollar.balanceOf(claimer1.address);
569
- let dailyCyclePool = await ubi.dailyCyclePool();
570
- let activeUsersCount = await ubi.minActiveUsers(); // await ubi.activeUsersCount();
571
- // the dailyCyclePool divided by max(activeUser,minActiveUsers) should give the daily claim (diff between ubipool balances)
570
+ // there are 3 claimers and the total ubi balance after the minting include the previous balance and
571
+ // the dailyCyclePool is 948439324947 minting tokens. that divides into 3
572
572
  expect(claimer1Balance2.sub(claimer1Balance1).toString()).to.be.equal(
573
- dailyCyclePool.div(activeUsersCount)
573
+ BN.from("948439324947").div(3)
574
574
  );
575
575
  });
576
576
 
@@ -627,8 +627,8 @@ describe("UBIScheme", () => {
627
627
 
628
628
  it("should award first claimer with default value when not using first claim pool", async () => {
629
629
  const ubiNew = await deployNewUbi();
630
- await goodDollar.mint(ubiNew.address, 1000);
631
- const expectedDailyUbi = 1; // 1000 divided by minActiveUsers which is also 1000 by default
630
+ const defaultDailyUbi = await ubiNew.defaultDailyUbi();
631
+ await goodDollar.mint(ubiNew.address, defaultDailyUbi);
632
632
  await addWhitelisted(claimer8.address, "claimer8");
633
633
  const encodedCall = ubiNew.interface.encodeFunctionData(
634
634
  "setUseFirstClaimPool",
@@ -638,8 +638,8 @@ describe("UBIScheme", () => {
638
638
  const claimerBalanceBefore = await goodDollar.balanceOf(claimer8.address);
639
639
  await (await ubiNew.connect(claimer8).claim()).wait();
640
640
  const claimerBalanceAfter = await goodDollar.balanceOf(claimer8.address);
641
-
641
+
642
642
  expect(claimerBalanceAfter.gt(claimerBalanceBefore));
643
- expect(claimerBalanceAfter.sub(claimerBalanceBefore).eq(expectedDailyUbi));
643
+ expect(claimerBalanceAfter.sub(claimerBalanceBefore).eq(defaultDailyUbi));
644
644
  });
645
645
  });
@@ -125,13 +125,12 @@ describe("UBIScheme cycle", () => {
125
125
  expect(
126
126
  await ubiScheme.currentDayInCycle().then(_ => _.toNumber())
127
127
  ).to.be.equal(10); //10 days passed total
128
-
129
128
  let transaction = await (await ubiScheme.connect(claimer1).claim()).wait(); //claims in new ubi cycle
130
- let dailyClaimAmount = (await ubiScheme.dailyCyclePool()).div(1000); //initialy we have by default min 1000 active users
131
-
132
- expect(await goodDollar.balanceOf(claimer1.address)).to.be.equal(
133
- dailyClaimAmount.add(1000)
134
- ); //intial 10 from first claim pool + daily
129
+ expect(
130
+ await goodDollar.balanceOf(claimer1.address).then(_ => _.toNumber())
131
+ ).to.be.equal(
132
+ 1000 + 58593 //58 amount of new ubicycle
133
+ );
135
134
  const cycleEvent = transaction.events.find(
136
135
  e => e.event === "UBICycleCalculated"
137
136
  );
@@ -141,8 +140,7 @@ describe("UBIScheme cycle", () => {
141
140
  expect(
142
141
  await ubiScheme.currentDayInCycle().then(_ => _.toNumber())
143
142
  ).to.be.equal(0); //new cycle started
144
- //intial balance on cycle start 1000000 - 125(one user that claimed) = 999875, divide by cycle length (8) = 124984
145
- expect(cycleEvent.args.dailyUBIPool).to.be.equal(124984);
143
+ expect(cycleEvent.args.dailyUBIPool).to.be.equal(117187); //pool balance: (1000000 - 62500 given to first claimer) divided by 8 days - only first claimer got 62500 in first cycle
146
144
  });
147
145
 
148
146
  it("should calculate cycle early if we can increase current daily pool", async () => {
@@ -179,7 +177,7 @@ describe("UBIScheme cycle", () => {
179
177
  //increase ubi pool balance
180
178
  let encoded = goodDollar.interface.encodeFunctionData("mint", [
181
179
  ubiScheme.address,
182
- 100
180
+ 1000
183
181
  ]);
184
182
  await genericCall(goodDollar.address, encoded);
185
183
  let balance = await goodDollar.balanceOf(ubiScheme.address);
@@ -39,19 +39,16 @@ describe("AdminWallet", () => {
39
39
  admin2,
40
40
  toWhitelist
41
41
  ] = signers.slice(10);
42
- let { identity: id, nameService } = await createDAO();
43
- identity = await ethers.getContractAt("IdentityV2", id);
42
+ let { identity: id } = await createDAO();
43
+ identity = await ethers.getContractAt("IIdentity", id);
44
44
 
45
45
  adminWallet = (await upgrades.deployProxy(
46
46
  await ethers.getContractFactory("AdminWallet"),
47
- [[], nameService.address, signers[0].address, 1e10],
47
+ [[], signers[0].address, id],
48
48
  { kind: "uups" }
49
49
  )) as AdminWallet;
50
50
 
51
- await identity.grantRole(
52
- ethers.utils.keccak256(ethers.utils.toUtf8Bytes("identity_admin")),
53
- adminWallet.address
54
- );
51
+ identity.addIdentityAdmin(adminWallet.address);
55
52
 
56
53
  toppingTimes = await adminWallet.toppingTimes();
57
54
  toppingAmount = await adminWallet.toppingAmount();
@@ -90,12 +87,6 @@ describe("AdminWallet", () => {
90
87
  });
91
88
  });
92
89
 
93
- it("should have owner", async () => {
94
- expect(
95
- await adminWallet.hasRole(ethers.constants.HashZero, signers[0].address)
96
- ).to.eq(true);
97
- });
98
-
99
90
  it("should not top admin list when empty", async () => {
100
91
  await expect(adminWallet["topAdmins(uint256)"](0)).revertedWith(
101
92
  "Admin list is empty"
@@ -151,10 +142,7 @@ describe("AdminWallet", () => {
151
142
 
152
143
  await adminWallet
153
144
  .connect(admin2)
154
- ["whitelist(address,string)"](
155
- toWhitelist.address,
156
- "did:test" + Math.random()
157
- );
145
+ .whitelist(toWhitelist.address, "did:test" + Math.random());
158
146
  const newBalance = await ethers.provider.getBalance(admin2.address);
159
147
  expect(newBalance).to.be.gte(expectedTopping);
160
148
  });
@@ -166,9 +154,7 @@ describe("AdminWallet", () => {
166
154
 
167
155
  it("should allow admin to whitelist and remove whitelist", async () => {
168
156
  expect(await identity.isWhitelisted(whitelisted.address)).to.false;
169
- await adminWallet
170
- .connect(admin)
171
- ["whitelist(address,string)"](whitelisted.address, "did:test");
157
+ await adminWallet.connect(admin).whitelist(whitelisted.address, "did:test");
172
158
 
173
159
  expect(await identity.isWhitelisted(whitelisted.address)).to.true;
174
160
  await adminWallet.connect(admin).removeWhitelist(whitelisted.address);
@@ -178,14 +164,10 @@ describe("AdminWallet", () => {
178
164
  it("should not allow non-admin to whitelist and remove whitelist", async () => {
179
165
  expect(await identity.isWhitelisted(whitelisted.address)).to.false;
180
166
  await expect(
181
- adminWallet
182
- .connect(stranger)
183
- ["whitelist(address,string)"](whitelisted.address, "did:test")
167
+ adminWallet.connect(stranger).whitelist(whitelisted.address, "did:test")
184
168
  ).revertedWith("Caller is not admin");
185
169
  expect(await identity.isWhitelisted(whitelisted.address)).to.false;
186
- await adminWallet
187
- .connect(admin)
188
- ["whitelist(address,string)"](whitelisted.address, "did:test");
170
+ await adminWallet.connect(admin).whitelist(whitelisted.address, "did:test");
189
171
  expect(await identity.isWhitelisted(whitelisted.address)).to.true;
190
172
  await expect(
191
173
  adminWallet.connect(stranger).removeWhitelist(whitelisted.address)
@@ -263,24 +245,20 @@ describe("AdminWallet", () => {
263
245
 
264
246
  it("should whitelist user", async () => {
265
247
  expect(await identity.isWhitelisted(stranger2.address)).to.false;
266
- await adminWallet
267
- .connect(admin2)
268
- ["whitelist(address,string)"](stranger2.address, "did:test3");
248
+ await adminWallet.connect(admin2).whitelist(stranger2.address, "did:test3");
269
249
  expect(await identity.isWhitelisted(stranger2.address)).to.true;
270
250
  });
271
251
 
272
252
  it("should not allow whitelisting with existing did", async () => {
273
253
  await expect(
274
- adminWallet
275
- .connect(admin2)
276
- ["whitelist(address,string)"](stranger.address, "did:test")
254
+ adminWallet.connect(admin2).whitelist(stranger.address, "did:test")
277
255
  ).revertedWith("DID already registered");
278
256
  });
279
257
 
280
258
  it("should not allow anyone to upgrade", async () => {
281
259
  await expect(
282
260
  adminWallet.connect(admin2).upgradeTo(adminWallet.address)
283
- ).revertedWith("not owner");
261
+ ).revertedWith("Ownable: caller is not the owner");
284
262
  });
285
263
 
286
264
  it("should allow owner to upgrade", async () => {