@gooddollar/goodprotocol 1.0.29-beta.0 → 1.0.29-beta.2

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 (406) hide show
  1. package/artifacts/abis/AdminWallet.min.json +1 -1
  2. package/artifacts/abis/BulkProof.min.json +1 -1
  3. package/artifacts/abis/DistributionBridgeMock.min.json +1 -0
  4. package/artifacts/abis/DistributionHelper.min.json +1 -0
  5. package/artifacts/abis/DistributionHelperTest.min.json +1 -0
  6. package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -0
  7. package/artifacts/abis/ERC20.min.json +1 -1
  8. package/artifacts/abis/Faucet.min.json +1 -0
  9. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -0
  10. package/artifacts/abis/GoodDollarStaking.min.json +1 -0
  11. package/artifacts/abis/GoodDollarStakingMock.min.json +1 -0
  12. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  13. package/artifacts/abis/IERC2917.min.json +1 -1
  14. package/artifacts/abis/IGoodDollar.min.json +1 -1
  15. package/artifacts/abis/IGoodDollarStakingTest.min.json +1 -0
  16. package/artifacts/abis/IGovernanceStaking.min.json +1 -0
  17. package/artifacts/abis/IIdentity.min.json +1 -1
  18. package/artifacts/abis/IIdentityV2.min.json +1 -0
  19. package/artifacts/abis/IMultichainRouter.min.json +1 -0
  20. package/artifacts/abis/IRouter.min.json +1 -0
  21. package/artifacts/abis/IWrapper.min.json +1 -0
  22. package/artifacts/abis/IdentityV2.min.json +1 -0
  23. package/artifacts/abis/InvitesV2.min.json +1 -0
  24. package/artifacts/abis/Math64x64.min.json +1 -0
  25. package/artifacts/abis/MultichainBridgeHelper.min.json +1 -0
  26. package/artifacts/abis/MultichainRouterMock.min.json +1 -0
  27. package/artifacts/abis/OverMintTester.min.json +1 -1
  28. package/artifacts/abis/PausableControl.min.json +1 -0
  29. package/artifacts/abis/RewardsMinter.min.json +1 -0
  30. package/artifacts/abis/StakingMockFixedAPY.min.json +1 -0
  31. package/artifacts/abis/StakingRewardsFixedAPY.min.json +1 -0
  32. package/artifacts/abis/TokenOperation.min.json +1 -0
  33. package/artifacts/abis/UBIScheme.min.json +1 -1
  34. package/artifacts/abis/cERC20.min.json +1 -1
  35. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  36. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  37. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  38. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  39. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  40. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  41. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  42. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  43. package/artifacts/contracts/Interfaces.sol/ERC20.json +13 -0
  44. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  45. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  46. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  47. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  48. package/artifacts/contracts/Interfaces.sol/IERC2917.json +13 -0
  49. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  50. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  51. package/artifacts/contracts/Interfaces.sol/IGoodDollar.json +39 -0
  52. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  53. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  54. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  55. package/artifacts/contracts/Interfaces.sol/IIdentity.json +51 -0
  56. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +4 -0
  57. package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +281 -0
  58. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  59. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +4 -0
  60. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.json +67 -0
  61. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  62. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  63. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  64. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  65. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  66. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  67. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  68. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  69. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  70. package/artifacts/contracts/Interfaces.sol/cERC20.json +13 -0
  71. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +4 -0
  72. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +684 -0
  73. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  74. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
  75. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  77. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  78. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  79. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  80. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  81. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +4 -0
  82. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +1335 -0
  83. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +4 -0
  84. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.json +24 -0
  85. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +4 -0
  86. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.json +35 -0
  87. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  88. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  89. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  90. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  91. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  92. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  93. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  94. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +4 -0
  95. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +1000 -0
  96. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  97. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  98. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +4 -0
  99. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +586 -0
  100. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +4 -0
  104. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +152 -0
  105. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +4 -0
  106. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +662 -0
  107. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +4 -0
  108. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +680 -0
  109. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  111. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +4 -0
  112. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +1335 -0
  113. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  114. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  115. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  116. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  117. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +4 -0
  118. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.json +59 -0
  119. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +4 -0
  120. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +81 -0
  121. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +4 -0
  122. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.json +49 -0
  123. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  124. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +4 -4
  125. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  126. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  127. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  128. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +4 -0
  129. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +682 -0
  130. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  131. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  132. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  133. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  134. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  135. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  136. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  137. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  138. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  139. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  140. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  141. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  142. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  143. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  144. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  145. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  146. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  147. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  148. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  149. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +4 -0
  150. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +662 -0
  151. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  152. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  153. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  154. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  155. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  156. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  157. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +75 -35
  158. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  159. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  160. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  161. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  162. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  163. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  164. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  165. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  166. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  167. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  168. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  169. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  170. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  171. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  172. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  173. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  174. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  175. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  176. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  177. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  178. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  179. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  180. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  181. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  182. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  183. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  184. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  185. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  186. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +4 -0
  187. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +10 -0
  188. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +4 -0
  189. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.json +268 -0
  190. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  191. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +15 -22
  192. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  193. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +76 -56
  194. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  195. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  196. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +3 -34
  197. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  198. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  199. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  200. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  201. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  202. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  203. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +4 -0
  204. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +1263 -0
  205. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +4 -0
  206. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.json +59 -0
  207. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +4 -0
  208. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.json +69 -0
  209. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +4 -0
  210. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +10 -0
  211. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +4 -0
  212. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +79 -0
  213. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  214. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  215. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  216. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  217. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  218. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  219. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  220. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  221. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  222. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  223. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  224. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  225. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  226. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  227. package/contracts/Interfaces.sol +46 -0
  228. package/contracts/fuseFaucet/Faucet.sol +245 -0
  229. package/contracts/governance/GoodDollarStaking.sol +524 -0
  230. package/contracts/governance/MultiBaseGovernanceShareField.sol +1 -0
  231. package/contracts/identity/IdentityV2.sol +434 -0
  232. package/contracts/invite/InvitesV2.sol +316 -0
  233. package/contracts/mocks/DistributionBridgeMock.sol +50 -0
  234. package/contracts/mocks/DistributionHelperTest.sol +22 -0
  235. package/contracts/mocks/GoodDollarStakingMock.sol +24 -0
  236. package/contracts/mocks/MultichainRouterMock.sol +38 -0
  237. package/contracts/mocks/OverMintTester.sol +39 -25
  238. package/contracts/mocks/StakingMockFixedAPY.sol +78 -0
  239. package/contracts/reserve/DistributionHelper.sol +142 -0
  240. package/contracts/reserve/GoodReserveCDai.sol +95 -41
  241. package/contracts/staking/utils/Math64X64.sol +268 -0
  242. package/contracts/staking/utils/StakingRewardsFixedAPY.sol +336 -0
  243. package/contracts/ubi/UBIScheme.sol +45 -40
  244. package/contracts/utils/AdminWallet.sol +42 -11
  245. package/contracts/utils/BulkProof.sol +10 -10
  246. package/contracts/utils/GoodDollarMintBurnWrapper.sol +638 -0
  247. package/contracts/utils/MultichainBridgeHelper.sol +39 -0
  248. package/hardhat.config.ts +21 -5
  249. package/package.json +9 -5
  250. package/patches/@openzeppelin+hardhat-upgrades+1.7.0.patch.depracate +67 -0
  251. package/releases/deploy-settings.json +36 -1
  252. package/releases/deployment.json +103 -55
  253. package/releases/olddao.json +1 -1
  254. package/scripts/analytics/activeUsersCount.ts +65 -0
  255. package/scripts/analytics/activeWalletsStats.ts +150 -0
  256. package/scripts/analytics/claimIncidentStats.ts +117 -0
  257. package/scripts/analytics/faucetStats.ts +103 -0
  258. package/scripts/analytics/goodHolders.ts +50 -0
  259. package/scripts/{misc → analytics}/goodgiveback.ts +0 -0
  260. package/scripts/governance/airdropCalculation.ts +1 -0
  261. package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +45 -0
  262. package/scripts/multichain-deploy/{basicdao-deploy.ts → 1_basicdao-deploy.ts} +75 -56
  263. package/scripts/multichain-deploy/2_helpers-deploy.ts +143 -0
  264. package/scripts/multichain-deploy/3_gdSavings-deploy.ts +246 -0
  265. package/scripts/multichain-deploy/4_ubi-deploy.ts +121 -0
  266. package/scripts/multichain-deploy/5_gov-deploy.ts +123 -0
  267. package/scripts/multichain-deploy/helpers.ts +72 -8
  268. package/scripts/multichain-deploy/multichainWrapper-deploy.ts +56 -0
  269. package/scripts/multichain-deploy/verifyEtherscan.ts +84 -0
  270. package/scripts/test/localOldDaoDeploy.ts +10 -3
  271. package/scripts/upgrades/identity-upgrade.ts +153 -0
  272. package/scripts/upgrades/nonubiDistribution-deploy.ts +167 -0
  273. package/scripts/voltageswaps.ts +47 -0
  274. package/test/governance/ClaimersDistribution.test.ts +1 -1
  275. package/test/governance/GoodDollarStaking.gd.test.ts +559 -0
  276. package/test/governance/GoodDollarStaking.good.test.ts +998 -0
  277. package/test/governance/GovernanceStaking.test.ts +43 -0
  278. package/test/helpers.ts +21 -20
  279. package/test/reserve/DistributionHelper.test.ts +394 -0
  280. package/test/reserve/GoodReserveCDai.distribution.test.ts +296 -0
  281. package/test/reserve/GoodReserveCDai.gdx.test.ts +21 -16
  282. package/test/reserve/GoodReserveCDai.pause.test.ts +116 -0
  283. package/test/staking/StakingRewardsFixedAPY.test.ts +900 -0
  284. package/test/ubi/UBIScheme.test.ts +30 -30
  285. package/test/ubi/UBISchemeCycle.test.ts +9 -7
  286. package/test/utils/AdminWallet.test.ts +40 -13
  287. package/test/utils/GoodDollarMintBurnWrapper.test.ts +796 -0
  288. package/tsconfig.json +4 -9
  289. package/types/AccessControl.ts +361 -0
  290. package/types/AdminWallet.ts +124 -113
  291. package/types/CERC20.ts +25 -0
  292. package/types/DistributionBridgeMock.ts +251 -0
  293. package/types/DistributionHelper.ts +908 -0
  294. package/types/DistributionHelperTest.ts +909 -0
  295. package/types/DistributionHelperTestHelper.ts +945 -0
  296. package/types/ERC165.ts +104 -0
  297. package/types/ERC20.ts +101 -49
  298. package/types/Faucet.ts +1014 -0
  299. package/types/GoodDollarMintBurnWrapper.ts +1806 -0
  300. package/types/GoodDollarStaking.ts +1889 -0
  301. package/types/GoodDollarStakingMock.ts +1889 -0
  302. package/types/GoodReserveCDai.ts +90 -55
  303. package/types/IAccessControl.ts +306 -0
  304. package/types/IERC1271.ts +109 -0
  305. package/types/IERC165.ts +104 -0
  306. package/types/IERC20.ts +300 -0
  307. package/types/IERC20Metadata.ts +339 -0
  308. package/types/IERC2917.ts +25 -0
  309. package/types/IGoodDollar.ts +54 -0
  310. package/types/IGoodDollarStakingTest.ts +160 -0
  311. package/types/{BulkProof.ts → IGovernanceStaking.ts} +15 -28
  312. package/types/IIdentity.ts +75 -0
  313. package/types/IIdentityV2.ts +526 -0
  314. package/types/IMultichainRouter.ts +166 -0
  315. package/types/IRouter.ts +143 -0
  316. package/types/IWrapper.ts +143 -0
  317. package/types/IdentityV2.ts +1612 -0
  318. package/types/InvitesV2.ts +933 -0
  319. package/types/MultichainBridgeHelper.ts +170 -0
  320. package/types/MultichainRouterMock.ts +141 -0
  321. package/types/Pausable.ts +103 -0
  322. package/types/PausableControl.ts +125 -0
  323. package/types/RewardsMinter.ts +107 -0
  324. package/types/StakingMockFixedAPY.ts +995 -0
  325. package/types/StakingRewardsFixedAPY.ts +428 -0
  326. package/types/UBIScheme.ts +19 -40
  327. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  328. package/types/factories/AccessControl__factory.ts +227 -0
  329. package/types/factories/AdminWallet__factory.ts +75 -55
  330. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  331. package/types/factories/BaseShareField__factory.ts +1 -1
  332. package/types/factories/CERC20__factory.ts +13 -0
  333. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  334. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  335. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  336. package/types/factories/DAOContract__factory.ts +1 -1
  337. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  338. package/types/factories/DistributionBridgeMock__factory.ts +207 -0
  339. package/types/factories/DistributionHelperTestHelper__factory.ts +737 -0
  340. package/types/factories/DistributionHelperTest__factory.ts +717 -0
  341. package/types/factories/DistributionHelper__factory.ts +713 -0
  342. package/types/factories/DonationsStaking__factory.ts +1 -1
  343. package/types/factories/ERC165__factory.ts +39 -0
  344. package/types/factories/ERC20__factory.ts +13 -0
  345. package/types/factories/ExchangeHelper__factory.ts +1 -1
  346. package/types/factories/Faucet__factory.ts +729 -0
  347. package/types/factories/FuseFaucet__factory.ts +1 -1
  348. package/types/factories/FuseStakingV3__factory.ts +1 -1
  349. package/types/factories/GReputation__factory.ts +1 -1
  350. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  351. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  352. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  353. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  354. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  355. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1318 -0
  356. package/types/factories/GoodDollarStakingMock__factory.ts +1417 -0
  357. package/types/factories/GoodDollarStaking__factory.ts +1413 -0
  358. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  359. package/types/factories/GoodFundManager__factory.ts +1 -1
  360. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  361. package/types/factories/GoodReserveCDai__factory.ts +74 -34
  362. package/types/factories/GovernanceStaking__factory.ts +1 -1
  363. package/types/factories/IAccessControl__factory.ts +198 -0
  364. package/types/factories/IERC1271__factory.ts +47 -0
  365. package/types/factories/IERC165__factory.ts +42 -0
  366. package/types/factories/IERC20Metadata__factory.ts +248 -0
  367. package/types/factories/IERC20__factory.ts +203 -0
  368. package/types/factories/IERC2917__factory.ts +13 -0
  369. package/types/factories/IGoodDollarStakingTest__factory.ts +68 -0
  370. package/types/factories/IGoodDollar__factory.ts +39 -0
  371. package/types/factories/IGovernanceStaking__factory.ts +39 -0
  372. package/types/factories/IIdentityV2__factory.ts +293 -0
  373. package/types/factories/IIdentity__factory.ts +51 -0
  374. package/types/factories/IMultichainRouter__factory.ts +82 -0
  375. package/types/factories/IRouter__factory.ts +71 -0
  376. package/types/factories/IWrapper__factory.ts +71 -0
  377. package/types/factories/IdentityV2__factory.ts +1048 -0
  378. package/types/factories/InvitesV1__factory.ts +1 -1
  379. package/types/factories/InvitesV2__factory.ts +634 -0
  380. package/types/factories/MultichainBridgeHelper__factory.ts +134 -0
  381. package/types/factories/MultichainRouterMock__factory.ts +141 -0
  382. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  383. package/types/factories/OverMintTester__factory.ts +3 -3
  384. package/types/factories/PausableControl__factory.ts +84 -0
  385. package/types/factories/Pausable__factory.ts +62 -0
  386. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  387. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  388. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  389. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  390. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  391. package/types/factories/Reputation__factory.ts +1 -1
  392. package/types/factories/RewardsMinter__factory.ts +47 -0
  393. package/types/factories/StakersDistribution__factory.ts +1 -1
  394. package/types/factories/StakingMockFixedAPY__factory.ts +745 -0
  395. package/types/factories/StakingRewardsFixedAPY__factory.ts +287 -0
  396. package/types/factories/SwapHelperTest__factory.ts +1 -1
  397. package/types/factories/UBIScheme__factory.ts +14 -21
  398. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  399. package/types/factories/UpgradableMock2__factory.ts +1 -1
  400. package/types/factories/UpgradableMock3__factory.ts +1 -1
  401. package/types/factories/UpgradableMock4__factory.ts +1 -1
  402. package/types/factories/UpgradableMock__factory.ts +1 -1
  403. package/types/hardhat.d.ts +279 -9
  404. package/types/index.ts +62 -4
  405. package/yarn.lock +184 -108
  406. package/types/factories/BulkProof__factory.ts +0 -89
@@ -127,13 +127,11 @@ 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", [
135
- blockTimestamp
136
- ]);
134
+ await ethers.provider.send("evm_setNextBlockTimestamp", [blockTimestamp]);
137
135
  await ethers.provider.send("evm_mine", []);
138
136
  }
139
137
  const ubiNew = await deployNewUbi();
@@ -200,24 +198,26 @@ describe("UBIScheme", () => {
200
198
  expect(error.message).to.have.string("Only UBIScheme can call this method");
201
199
  });
202
200
 
203
- it("should estimate next daily UBI to default value when no claimers and not using first claim pool", async () => {
201
+ it("should estimate next daily UBI to according to min value when no claimers and not using first claim pool", async () => {
204
202
  const nextDailyUBIBefore = await ubi.estimateNextDailyUBI();
205
- const defaultDailyUbi = await ubi.defaultDailyUbi();
206
- let encodedCall = ubi.interface.encodeFunctionData(
207
- "setUseFirstClaimPool",
208
- [false]
209
- );
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
+ ]);
210
211
  await genericCall(ubi.address, encodedCall);
211
212
  const nextDailyUBIAfter = await ubi.estimateNextDailyUBI();
212
213
 
213
214
  expect(nextDailyUBIBefore.eq(0));
214
215
  expect(nextDailyUBIAfter.gt(nextDailyUBIBefore));
215
- expect(nextDailyUBIAfter.eq(defaultDailyUbi));
216
+ expect(nextDailyUBIAfter.eq(defaultDailyClaim));
216
217
 
217
- encodedCall = ubi.interface.encodeFunctionData(
218
- "setUseFirstClaimPool",
219
- [true]
220
- );
218
+ encodedCall = ubi.interface.encodeFunctionData("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, "901");
319
- //ubi will have 902GD in pool so daily ubi is now 902/1(cycle)/3(claimers) = 300
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
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 201 from the second day claimed in this test
330
- expect(claimer1Balance.toString()).to.be.equal("501");
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");
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, "20");
522
+ await goodDollar.mint(avatar, "20000");
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.activeUsersCount();
526
+ let activeUsersCount = await ubi.minActiveUsers(); // 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.activeUsersCount();
542
+ let activeUsersCount = await ubi.minActiveUsers(); // 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);
569
568
  let claimer1Balance2 = await goodDollar.balanceOf(claimer1.address);
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
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)
572
572
  expect(claimer1Balance2.sub(claimer1Balance1).toString()).to.be.equal(
573
- BN.from("948439324947").div(3)
573
+ dailyCyclePool.div(activeUsersCount)
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
- const defaultDailyUbi = await ubiNew.defaultDailyUbi();
631
- await goodDollar.mint(ubiNew.address, defaultDailyUbi);
630
+ await goodDollar.mint(ubiNew.address, 1000);
631
+ const expectedDailyUbi = 1; // 1000 divided by minActiveUsers which is also 1000 by default
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(defaultDailyUbi));
643
+ expect(claimerBalanceAfter.sub(claimerBalanceBefore).eq(expectedDailyUbi));
644
644
  });
645
645
  });
@@ -125,12 +125,13 @@ describe("UBIScheme cycle", () => {
125
125
  expect(
126
126
  await ubiScheme.currentDayInCycle().then(_ => _.toNumber())
127
127
  ).to.be.equal(10); //10 days passed total
128
+
128
129
  let transaction = await (await ubiScheme.connect(claimer1).claim()).wait(); //claims in new ubi cycle
129
- expect(
130
- await goodDollar.balanceOf(claimer1.address).then(_ => _.toNumber())
131
- ).to.be.equal(
132
- 1000 + 58593 //58 amount of new ubicycle
133
- );
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
134
135
  const cycleEvent = transaction.events.find(
135
136
  e => e.event === "UBICycleCalculated"
136
137
  );
@@ -140,7 +141,8 @@ describe("UBIScheme cycle", () => {
140
141
  expect(
141
142
  await ubiScheme.currentDayInCycle().then(_ => _.toNumber())
142
143
  ).to.be.equal(0); //new cycle started
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
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);
144
146
  });
145
147
 
146
148
  it("should calculate cycle early if we can increase current daily pool", async () => {
@@ -177,7 +179,7 @@ describe("UBIScheme cycle", () => {
177
179
  //increase ubi pool balance
178
180
  let encoded = goodDollar.interface.encodeFunctionData("mint", [
179
181
  ubiScheme.address,
180
- 1000
182
+ 100
181
183
  ]);
182
184
  await genericCall(goodDollar.address, encoded);
183
185
  let balance = await goodDollar.balanceOf(ubiScheme.address);
@@ -27,8 +27,8 @@ describe("AdminWallet", () => {
27
27
 
28
28
  before(async () => {
29
29
  signers = await ethers.getSigners();
30
+ founder = signers[0];
30
31
  [
31
- founder,
32
32
  whitelisted,
33
33
  stranger,
34
34
  stranger2,
@@ -38,17 +38,20 @@ describe("AdminWallet", () => {
38
38
  admin,
39
39
  admin2,
40
40
  toWhitelist
41
- ] = signers;
42
- let { identity: id } = await createDAO();
43
- identity = await ethers.getContractAt("IIdentity", id);
41
+ ] = signers.slice(10);
42
+ let { identity: id, nameService } = await createDAO();
43
+ identity = await ethers.getContractAt("IdentityV2", id);
44
44
 
45
45
  adminWallet = (await upgrades.deployProxy(
46
46
  await ethers.getContractFactory("AdminWallet"),
47
- [[], signers[0].address, id],
47
+ [[], nameService.address, signers[0].address, 1e10],
48
48
  { kind: "uups" }
49
49
  )) as AdminWallet;
50
50
 
51
- identity.addIdentityAdmin(adminWallet.address);
51
+ await identity.grantRole(
52
+ ethers.utils.keccak256(ethers.utils.toUtf8Bytes("identity_admin")),
53
+ adminWallet.address
54
+ );
52
55
 
53
56
  toppingTimes = await adminWallet.toppingTimes();
54
57
  toppingAmount = await adminWallet.toppingAmount();
@@ -87,6 +90,12 @@ describe("AdminWallet", () => {
87
90
  });
88
91
  });
89
92
 
93
+ it("should have owner", async () => {
94
+ expect(
95
+ await adminWallet.hasRole(ethers.constants.HashZero, signers[0].address)
96
+ ).to.eq(true);
97
+ });
98
+
90
99
  it("should not top admin list when empty", async () => {
91
100
  await expect(adminWallet["topAdmins(uint256)"](0)).revertedWith(
92
101
  "Admin list is empty"
@@ -142,7 +151,10 @@ describe("AdminWallet", () => {
142
151
 
143
152
  await adminWallet
144
153
  .connect(admin2)
145
- .whitelist(toWhitelist.address, "did:test" + Math.random());
154
+ ["whitelist(address,string)"](
155
+ toWhitelist.address,
156
+ "did:test" + Math.random()
157
+ );
146
158
  const newBalance = await ethers.provider.getBalance(admin2.address);
147
159
  expect(newBalance).to.be.gte(expectedTopping);
148
160
  });
@@ -154,7 +166,9 @@ describe("AdminWallet", () => {
154
166
 
155
167
  it("should allow admin to whitelist and remove whitelist", async () => {
156
168
  expect(await identity.isWhitelisted(whitelisted.address)).to.false;
157
- await adminWallet.connect(admin).whitelist(whitelisted.address, "did:test");
169
+ await adminWallet
170
+ .connect(admin)
171
+ ["whitelist(address,string)"](whitelisted.address, "did:test");
158
172
 
159
173
  expect(await identity.isWhitelisted(whitelisted.address)).to.true;
160
174
  await adminWallet.connect(admin).removeWhitelist(whitelisted.address);
@@ -164,10 +178,14 @@ describe("AdminWallet", () => {
164
178
  it("should not allow non-admin to whitelist and remove whitelist", async () => {
165
179
  expect(await identity.isWhitelisted(whitelisted.address)).to.false;
166
180
  await expect(
167
- adminWallet.connect(stranger).whitelist(whitelisted.address, "did:test")
181
+ adminWallet
182
+ .connect(stranger)
183
+ ["whitelist(address,string)"](whitelisted.address, "did:test")
168
184
  ).revertedWith("Caller is not admin");
169
185
  expect(await identity.isWhitelisted(whitelisted.address)).to.false;
170
- await adminWallet.connect(admin).whitelist(whitelisted.address, "did:test");
186
+ await adminWallet
187
+ .connect(admin)
188
+ ["whitelist(address,string)"](whitelisted.address, "did:test");
171
189
  expect(await identity.isWhitelisted(whitelisted.address)).to.true;
172
190
  await expect(
173
191
  adminWallet.connect(stranger).removeWhitelist(whitelisted.address)
@@ -245,20 +263,24 @@ describe("AdminWallet", () => {
245
263
 
246
264
  it("should whitelist user", async () => {
247
265
  expect(await identity.isWhitelisted(stranger2.address)).to.false;
248
- await adminWallet.connect(admin2).whitelist(stranger2.address, "did:test3");
266
+ await adminWallet
267
+ .connect(admin2)
268
+ ["whitelist(address,string)"](stranger2.address, "did:test3");
249
269
  expect(await identity.isWhitelisted(stranger2.address)).to.true;
250
270
  });
251
271
 
252
272
  it("should not allow whitelisting with existing did", async () => {
253
273
  await expect(
254
- adminWallet.connect(admin2).whitelist(stranger.address, "did:test")
274
+ adminWallet
275
+ .connect(admin2)
276
+ ["whitelist(address,string)"](stranger.address, "did:test")
255
277
  ).revertedWith("DID already registered");
256
278
  });
257
279
 
258
280
  it("should not allow anyone to upgrade", async () => {
259
281
  await expect(
260
282
  adminWallet.connect(admin2).upgradeTo(adminWallet.address)
261
- ).revertedWith("Ownable: caller is not the owner");
283
+ ).revertedWith("not owner");
262
284
  });
263
285
 
264
286
  it("should allow owner to upgrade", async () => {
@@ -268,6 +290,11 @@ describe("AdminWallet", () => {
268
290
  await expect(adminWallet.connect(founder).upgradeTo(newver.address)).not
269
291
  .reverted;
270
292
 
293
+ await upgrades.forceImport(
294
+ adminWallet.address,
295
+ await ethers.getContractFactory("AdminWallet"),
296
+ { kind: "uups" }
297
+ );
271
298
  await expect(
272
299
  upgrades.upgradeProxy(
273
300
  adminWallet.address,