@gooddollar/goodprotocol 2.1.4 → 2.2.0

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 (880) hide show
  1. package/artifacts/abis/CreateReserveExchange.min.json +1 -0
  2. package/artifacts/abis/IBancorExchangeProvider.min.json +1 -1
  3. package/artifacts/abis/IBroker.min.json +1 -1
  4. package/artifacts/abis/IdentityV3.min.json +1 -1
  5. package/artifacts/abis/IdentityV4.min.json +1 -0
  6. package/artifacts/abis/UpdateReserveRatio.min.json +1 -0
  7. package/artifacts/abis/Voters.min.json +1 -0
  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/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +1 -1
  15. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  40. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  41. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
  42. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.json +69 -0
  43. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
  44. package/artifacts/contracts/MentoInterfaces.sol/IBroker.json +131 -4
  45. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
  46. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
  47. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
  48. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
  49. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  50. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -2
  51. package/artifacts/contracts/fuseFaucet/Faucet.sol/Voters.dbg.json +4 -0
  52. package/artifacts/contracts/fuseFaucet/Faucet.sol/Voters.json +42 -0
  53. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  54. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  55. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
  56. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  57. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  58. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  59. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  60. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  61. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  62. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  63. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  64. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  65. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  66. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  67. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  68. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
  69. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.json +40 -2
  70. package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.dbg.json +4 -0
  71. package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.json +1175 -0
  72. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  73. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  74. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  75. package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.json +2 -2
  93. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.json +2 -2
  95. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  104. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  106. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  108. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  109. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  111. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  114. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  115. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  116. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  117. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  118. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  119. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  120. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  121. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  122. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  123. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
  124. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  125. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  126. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +1 -1
  127. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json +2 -2
  128. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  129. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  130. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  131. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  132. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  133. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  134. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  135. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  136. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  137. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  138. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  139. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  140. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  141. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  142. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  143. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  144. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  145. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  146. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  147. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  148. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  149. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  150. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  151. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  152. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  153. package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +1 -1
  154. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
  155. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
  156. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  157. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  158. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  159. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  160. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
  161. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  162. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  163. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  164. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  165. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  166. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  167. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  168. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  169. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  170. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +2 -2
  171. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  172. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  173. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  174. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  175. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  176. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  177. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
  178. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.json +2 -2
  179. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  180. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  181. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  182. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  183. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  184. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  185. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  186. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
  187. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
  188. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
  189. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
  190. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
  191. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
  192. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  193. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  194. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  195. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  196. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  197. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  198. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
  199. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  200. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  201. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  202. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  203. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  204. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
  205. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
  206. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.json +2 -2
  207. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  208. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  209. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  210. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  211. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  212. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  213. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  214. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  215. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
  216. package/artifacts/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange.dbg.json +4 -0
  217. package/artifacts/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange.json +77 -0
  218. package/artifacts/contracts/utils/UpdateReserveRatio.sol/MentoExchange.dbg.json +4 -0
  219. package/artifacts/contracts/utils/UpdateReserveRatio.sol/MentoExchange.json +24 -0
  220. package/artifacts/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio.dbg.json +4 -0
  221. package/artifacts/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio.json +60 -0
  222. package/contracts/MentoInterfaces.sol +247 -203
  223. package/contracts/fuseFaucet/Faucet.sol +15 -2
  224. package/contracts/identity/IdentityV3.sol +5 -3
  225. package/contracts/identity/IdentityV4.sol +600 -0
  226. package/contracts/invite/InvitesV2.sol +30 -10
  227. package/contracts/reserve/GenericDistributionHelper.sol +35 -7
  228. package/contracts/ubi/UBISchemeV2.sol +8 -1
  229. package/contracts/utils/UpdateReserveRatio.sol +121 -0
  230. package/hardhat.config.ts +2 -3
  231. package/package.json +6 -4
  232. package/releases/deploy-settings.json +3 -0
  233. package/releases/deployment.json +703 -1
  234. package/test/governance/ClaimersDistribution.test.ts +1 -1
  235. package/test/governance/CompoundVotingMachine.castvote.test.ts +30 -30
  236. package/test/helpers.ts +80 -196
  237. package/test/identity/IdentityV3.test.ts +53 -129
  238. package/test/identity/IdentityV4.test.ts +464 -0
  239. package/test/invite/InvitesV2.test.ts +50 -5
  240. package/test/reserve/GenericDistributionHelper.e2e.test.ts +445 -0
  241. package/test/utils/AdminWallet.test.ts +14 -15
  242. package/types/contracts/MentoInterfaces.sol/IBancorExchangeProvider.ts +54 -0
  243. package/types/contracts/MentoInterfaces.sol/IBroker.ts +99 -7
  244. package/types/contracts/fuseFaucet/{Faucet.ts → Faucet.sol/Faucet.ts} +1 -1
  245. package/types/{@openzeppelin/contracts/utils/introspection/ERC165.ts → contracts/fuseFaucet/Faucet.sol/Voters.ts} +30 -29
  246. package/types/contracts/fuseFaucet/{SuperfluidBaseFacuet.sol → Faucet.sol}/index.ts +2 -1
  247. package/types/contracts/fuseFaucet/index.ts +2 -1
  248. package/types/contracts/identity/IdentityV3.ts +46 -0
  249. package/types/contracts/identity/{IdentityV2.ts → IdentityV4.ts} +166 -55
  250. package/types/contracts/identity/index.ts +1 -0
  251. package/types/contracts/invite/{InvitesFuseV2.ts → InvitesV2 copy.sol/InvitesV2.ts } +358 -53
  252. package/types/contracts/{IQuoter.sol/index.ts → invite/InvitesV2 copy.sol/index.ts } +1 -1
  253. package/types/contracts/utils/{ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts → UpdateReserveRatio.sol/CreateReserveExchange.ts} +10 -32
  254. package/types/contracts/utils/{UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.ts → UpdateReserveRatio.sol/UpdateReserveRatio.ts} +22 -5
  255. package/types/contracts/utils/{ProtocolUpgradeV4Mento.sol → UpdateReserveRatio.sol}/index.ts +2 -1
  256. package/types/contracts/utils/index.ts +2 -0
  257. package/types/factories/contracts/MentoInterfaces.sol/IBancorExchangeProvider__factory.ts +69 -0
  258. package/types/factories/contracts/MentoInterfaces.sol/IBroker__factory.ts +131 -4
  259. package/types/factories/contracts/fuseFaucet/Faucet.sol/Faucet__factory.ts +914 -0
  260. package/types/factories/contracts/fuseFaucet/Faucet.sol/Voters__factory.ts +54 -0
  261. package/types/factories/contracts/fuseFaucet/Faucet.sol/index.ts +5 -0
  262. package/types/factories/contracts/fuseFaucet/index.ts +1 -1
  263. package/types/factories/contracts/identity/IdentityV3__factory.ts +39 -1
  264. package/types/factories/contracts/identity/IdentityV4__factory.ts +1226 -0
  265. package/types/factories/contracts/identity/index.ts +1 -0
  266. package/types/factories/contracts/invite/InvitesV2 copy.sol/InvitesV2__factory.ts +748 -0
  267. package/types/{contracts/fuseFaucet/Faucet copy.sol → factories/contracts/invite/InvitesV2 copy.sol}/index.ts +1 -1
  268. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper__factory.ts +1 -1
  269. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest__factory.ts +1 -1
  270. package/types/factories/contracts/reserve/GenericDistributionHelper__factory.ts +1 -1
  271. package/types/factories/contracts/ubi/UBISchemeV2__factory.ts +1 -1
  272. package/types/factories/contracts/utils/BuyFromReserveHelper__factory.ts +1 -1
  273. package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +1 -1
  274. package/types/factories/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange__factory.ts +137 -0
  275. package/types/factories/contracts/utils/{ReserveRestore.sol → UpdateReserveRatio.sol}/MentoExchange__factory.ts +1 -1
  276. package/types/factories/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio__factory.ts +113 -0
  277. package/types/factories/contracts/utils/UpdateReserveRatio.sol/index.ts +6 -0
  278. package/types/factories/contracts/utils/index.ts +1 -0
  279. package/types/hardhat.d.ts +45 -0
  280. package/types/index.ts +10 -2
  281. package/scripts/ProxyFactory.json +0 -4425
  282. package/scripts/analytics/activeGDStakers.ts +0 -188
  283. package/scripts/analytics/activeStakers.ts +0 -25
  284. package/scripts/analytics/activeUsersCount.ts +0 -156
  285. package/scripts/analytics/activeWalletsStats.ts +0 -301
  286. package/scripts/analytics/checkActiveWallets.ts +0 -60
  287. package/scripts/analytics/checkBridgeBalances.ts +0 -442
  288. package/scripts/analytics/claimIncidentStats.ts +0 -98
  289. package/scripts/analytics/faucetStats.ts +0 -130
  290. package/scripts/analytics/gdinflow.ts +0 -57
  291. package/scripts/analytics/goodHolders.ts +0 -46
  292. package/scripts/analytics/goodgiveback.ts +0 -64
  293. package/scripts/analytics/p2pTxs.ts +0 -564
  294. package/scripts/analytics/stuckgd.ts +0 -70
  295. package/scripts/analytics/tokenInOutStats.ts +0 -48
  296. package/scripts/analytics/whitelistsyncIssue.ts +0 -87
  297. package/scripts/bulkProof.ts +0 -202
  298. package/scripts/bulkWhitelist.ts +0 -31
  299. package/scripts/deployGnosisSafe.ts +0 -111
  300. package/scripts/fetchOrDeployProxyFactory.ts +0 -46
  301. package/scripts/fv.ts +0 -263
  302. package/scripts/gdx/gdxAirdropCalculation.ts +0 -479
  303. package/scripts/getFounders.ts +0 -32
  304. package/scripts/governance/README.md +0 -70
  305. package/scripts/governance/airdropCalculation.ts +0 -1119
  306. package/scripts/governance/airdropCalculationRecover.ts +0 -416
  307. package/scripts/governance/airdropCalculationSorted.ts +0 -438
  308. package/scripts/governance/goodCheckpointSorted.ts +0 -300
  309. package/scripts/keeper/fishInactive.ts +0 -47
  310. package/scripts/minimize.sh +0 -17
  311. package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +0 -131
  312. package/scripts/multichain-deploy/1_basicdao-deploy.ts +0 -294
  313. package/scripts/multichain-deploy/2_helpers-deploy.ts +0 -152
  314. package/scripts/multichain-deploy/2b_otp-deploy.ts +0 -73
  315. package/scripts/multichain-deploy/3_gdSavings-deploy.ts +0 -190
  316. package/scripts/multichain-deploy/4_ubi-deploy.ts +0 -129
  317. package/scripts/multichain-deploy/5_gov-deploy.ts +0 -179
  318. package/scripts/multichain-deploy/6_testnetFaucet.ts +0 -85
  319. package/scripts/multichain-deploy/7_superfluidfaucet-deploy.ts +0 -123
  320. package/scripts/multichain-deploy/8_disthelper-deploy.ts +0 -152
  321. package/scripts/multichain-deploy/createUniswapTestPools.ts +0 -163
  322. package/scripts/multichain-deploy/flattened/Avatar.sol +0 -913
  323. package/scripts/multichain-deploy/flattened/Controller.sol +0 -1891
  324. package/scripts/multichain-deploy/flattened/FeeFormula.sol +0 -1290
  325. package/scripts/multichain-deploy/fulldeploy.sh +0 -26
  326. package/scripts/multichain-deploy/helpers.ts +0 -647
  327. package/scripts/multichain-deploy/multichainWrapper-deploy.ts +0 -59
  328. package/scripts/multichain-deploy/verifyEtherscan.ts +0 -177
  329. package/scripts/proposals/gip-14_1.ts +0 -251
  330. package/scripts/proposals/gip-15.ts +0 -427
  331. package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +0 -746
  332. package/scripts/proposals/gips-14_1.md +0 -29
  333. package/scripts/proposals/hack-ubi-recovery.ts +0 -414
  334. package/scripts/proposals/identityAuthPeriod.ts +0 -229
  335. package/scripts/proposals/reserveRestore.ts +0 -474
  336. package/scripts/proposals/updateDistHelper.ts +0 -180
  337. package/scripts/proposals/v4Upgrade.ts +0 -845
  338. package/scripts/releaser.js +0 -24
  339. package/scripts/staking/stakersGdRewardsCalculation.ts +0 -64
  340. package/scripts/upgradeScheme.ts +0 -97
  341. package/scripts/upgradeToV2/upgradeToV2.ts +0 -853
  342. package/scripts/upgradeToV2/upgradeToV2Recover.ts +0 -939
  343. package/scripts/upgradeToV3/v3-fix.ts +0 -120
  344. package/scripts/upgradeToV3/v3-fuse-multichain.ts +0 -117
  345. package/scripts/upgradeToV3/v3-upgrade.ts +0 -219
  346. package/scripts/upgrades/celo-defi-ubi-deploy.ts +0 -184
  347. package/scripts/upgrades/identity-upgrade.ts +0 -126
  348. package/scripts/upgrades/multichain-formula-upgrade.ts +0 -143
  349. package/scripts/upgrades/multichain-temp-fix.ts +0 -129
  350. package/scripts/upgrades/restoreFunds.ts +0 -91
  351. package/scripts/upgrades/superfluid-nft-celo-gas-token.ts +0 -159
  352. package/scripts/upgrades/transferDaoToGuardians.ts +0 -80
  353. package/scripts/upgrades/upgradeAdminWallet.ts +0 -29
  354. package/scripts/upgrades/upgradeFaucet.ts +0 -46
  355. package/scripts/utils.ts +0 -50
  356. package/scripts/verify.ts +0 -67
  357. package/scripts/voltageswaps.ts +0 -46
  358. package/types/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/ILayerZeroFeeEstimator.ts +0 -134
  359. package/types/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/IMessagePassingBridge.ts +0 -798
  360. package/types/@mean-finance/uniswap-v3-oracle/solidity/interfaces/IStaticOracle.ts +0 -694
  361. package/types/@openzeppelin/contracts/access/AccessControl.ts +0 -388
  362. package/types/@openzeppelin/contracts/access/IAccessControl.ts +0 -331
  363. package/types/@openzeppelin/contracts/access/Ownable.ts +0 -175
  364. package/types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts +0 -87
  365. package/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +0 -108
  366. package/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.ts +0 -108
  367. package/types/@openzeppelin/contracts/proxy/Proxy.ts +0 -55
  368. package/types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +0 -87
  369. package/types/@openzeppelin/contracts/proxy/utils/Initializable.ts +0 -69
  370. package/types/@openzeppelin/contracts/security/Pausable.ts +0 -111
  371. package/types/@openzeppelin/contracts/token/ERC20/ERC20.ts +0 -444
  372. package/types/@openzeppelin/contracts/token/ERC20/IERC20.ts +0 -322
  373. package/types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +0 -364
  374. package/types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.ts +0 -177
  375. package/types/@openzeppelin/contracts/token/ERC721/IERC721.ts +0 -527
  376. package/types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +0 -581
  377. package/types/@openzeppelin/contracts/token/ERC777/IERC777.ts +0 -616
  378. package/types/@openzeppelin/contracts/token/ERC777/IERC777Recipient.ts +0 -130
  379. package/types/@openzeppelin/contracts/token/ERC777/IERC777Sender.ts +0 -130
  380. package/types/@openzeppelin/contracts/utils/introspection/IERC165.ts +0 -102
  381. package/types/@openzeppelin/contracts/utils/introspection/IERC1820Registry.ts +0 -420
  382. package/types/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.ts +0 -477
  383. package/types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +0 -400
  384. package/types/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.ts +0 -408
  385. package/types/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.ts +0 -331
  386. package/types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +0 -187
  387. package/types/@openzeppelin/contracts-upgradeable/interfaces/IERC1271Upgradeable.ts +0 -107
  388. package/types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts +0 -87
  389. package/types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts +0 -120
  390. package/types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts +0 -87
  391. package/types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +0 -69
  392. package/types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +0 -228
  393. package/types/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.ts +0 -123
  394. package/types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts +0 -69
  395. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.ts +0 -456
  396. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts +0 -322
  397. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.ts +0 -519
  398. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.ts +0 -494
  399. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.ts +0 -364
  400. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol/ERC20PermitUpgradeable.ts +0 -563
  401. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.ts +0 -177
  402. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable.ts +0 -1097
  403. package/types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +0 -69
  404. package/types/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.ts +0 -69
  405. package/types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +0 -120
  406. package/types/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.ts +0 -102
  407. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1.ts +0 -1427
  408. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1.ts +0 -1219
  409. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantInflowNFT.ts +0 -828
  410. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantOutflowNFT.ts +0 -891
  411. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IFlowNFTBase.ts +0 -765
  412. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperAgreement.ts +0 -152
  413. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperApp.ts +0 -417
  414. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperToken.ts +0 -2698
  415. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperTokenFactory.ts +0 -449
  416. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluid.ts +0 -1643
  417. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidGovernance.ts +0 -523
  418. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken.ts +0 -996
  419. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ERC20WithTokenInfo.ts +0 -364
  420. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETH.ts +0 -2791
  421. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETHCustom.ts +0 -163
  422. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/TokenInfo.ts +0 -109
  423. package/types/@superfluid-finance/ethereum-contracts/contracts/libs/EventsEmitter.ts +0 -82
  424. package/types/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantInflowNFT.ts +0 -1039
  425. package/types/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantOutflowNFT.ts +0 -1102
  426. package/types/@superfluid-finance/ethereum-contracts/contracts/superfluid/FlowNFTBase.ts +0 -954
  427. package/types/@superfluid-finance/ethereum-contracts/contracts/upgradability/UUPSProxiable.ts +0 -197
  428. package/types/@uniswap/v2-periphery/contracts/interfaces/IWETH.ts +0 -159
  429. package/types/@uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.ts +0 -354
  430. package/types/contracts/DAOStackInterfaces.sol/Avatar.ts +0 -121
  431. package/types/contracts/DAOStackInterfaces.sol/Controller.ts +0 -572
  432. package/types/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.ts +0 -128
  433. package/types/contracts/DAOStackInterfaces.sol/IntVoteInterface.ts +0 -494
  434. package/types/contracts/DAOStackInterfaces.sol/ReputationInterface.ts +0 -270
  435. package/types/contracts/DAOStackInterfaces.sol/SchemeRegistrar.ts +0 -168
  436. package/types/contracts/IQuoter.sol/IQuoterV2.ts +0 -297
  437. package/types/contracts/IUniswapV3.sol/INonfungiblePositionManager.ts +0 -151
  438. package/types/contracts/IUniswapV3.sol/IUniswapV3Factory.ts +0 -155
  439. package/types/contracts/IUniswapV3.sol/IUniswapV3Pool.ts +0 -192
  440. package/types/contracts/Interfaces.sol/AToken.ts +0 -81
  441. package/types/contracts/Interfaces.sol/AggregatorV3Interface.ts +0 -198
  442. package/types/contracts/Interfaces.sol/CERC20.ts +0 -602
  443. package/types/contracts/Interfaces.sol/ERC20.ts +0 -424
  444. package/types/contracts/Interfaces.sol/IAaveIncentivesController.ts +0 -156
  445. package/types/contracts/Interfaces.sol/IAaveIncentivesControllerV3.ts +0 -156
  446. package/types/contracts/Interfaces.sol/IAdminWallet.ts +0 -176
  447. package/types/contracts/Interfaces.sol/IDonationStaking.ts +0 -97
  448. package/types/contracts/Interfaces.sol/IERC2917.ts +0 -722
  449. package/types/contracts/Interfaces.sol/IFirstClaimPool.ts +0 -133
  450. package/types/contracts/Interfaces.sol/IGoodDollar.ts +0 -938
  451. package/types/contracts/Interfaces.sol/IGoodStaking.ts +0 -272
  452. package/types/contracts/Interfaces.sol/IHasRouter.ts +0 -81
  453. package/types/contracts/Interfaces.sol/IIdentity.ts +0 -534
  454. package/types/contracts/Interfaces.sol/IIdentityV2.ts +0 -620
  455. package/types/contracts/Interfaces.sol/ILendingPool.ts +0 -245
  456. package/types/contracts/Interfaces.sol/ILendingPoolV3.ts +0 -254
  457. package/types/contracts/Interfaces.sol/IMultichainRouter.ts +0 -168
  458. package/types/contracts/Interfaces.sol/INameService.ts +0 -84
  459. package/types/contracts/Interfaces.sol/IQuoterV2.ts +0 -184
  460. package/types/contracts/Interfaces.sol/ISwapRouter.ts +0 -306
  461. package/types/contracts/Interfaces.sol/IUBIScheme.ts +0 -121
  462. package/types/contracts/Interfaces.sol/ProxyAdmin.ts +0 -261
  463. package/types/contracts/Interfaces.sol/Reserve.ts +0 -112
  464. package/types/contracts/Interfaces.sol/Staking.ts +0 -165
  465. package/types/contracts/Interfaces.sol/Uniswap.ts +0 -434
  466. package/types/contracts/Interfaces.sol/UniswapFactory.ts +0 -104
  467. package/types/contracts/Interfaces.sol/UniswapPair.ts +0 -193
  468. package/types/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet.ts +0 -1439
  469. package/types/contracts/fuseFaucet/FuseFaucet.ts +0 -537
  470. package/types/contracts/fuseFaucet/FuseFaucetV2.ts +0 -929
  471. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor.ts +0 -648
  472. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable.ts +0 -843
  473. package/types/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.ts +0 -1032
  474. package/types/contracts/governance/ClaimersDistribution.ts +0 -676
  475. package/types/contracts/governance/CompoundVotingMachine.ts +0 -1790
  476. package/types/contracts/governance/GReputation.ts +0 -2258
  477. package/types/contracts/governance/GovernanceStaking.ts +0 -1401
  478. package/types/contracts/governance/MultiBaseGovernanceShareField.ts +0 -422
  479. package/types/contracts/governance/Reputation.ts +0 -1029
  480. package/types/contracts/governance/StakersDistribution.ts +0 -1000
  481. package/types/contracts/invite/InvitesV1.ts +0 -839
  482. package/types/contracts/invite/OneTimeReward.ts +0 -521
  483. package/types/contracts/mocks/AaveMock.ts +0 -1096
  484. package/types/contracts/mocks/AaveUSDMockOracle.ts +0 -87
  485. package/types/contracts/mocks/BatUSDMockOracle.ts +0 -87
  486. package/types/contracts/mocks/CBATMock.ts +0 -1286
  487. package/types/contracts/mocks/CDAILowWorthMock.ts +0 -1251
  488. package/types/contracts/mocks/CDAIMock.ts +0 -1303
  489. package/types/contracts/mocks/CDAINonMintableMock.ts +0 -1251
  490. package/types/contracts/mocks/CDecimalsMock.ts +0 -1286
  491. package/types/contracts/mocks/CSDTMock.ts +0 -1286
  492. package/types/contracts/mocks/CUSDCMock.ts +0 -1286
  493. package/types/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.ts +0 -1226
  494. package/types/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts +0 -1279
  495. package/types/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper.ts +0 -1252
  496. package/types/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.ts +0 -87
  497. package/types/contracts/mocks/DAIMock.ts +0 -1171
  498. package/types/contracts/mocks/DaiEthPriceMockOracle.ts +0 -87
  499. package/types/contracts/mocks/DecimalsMock.ts +0 -1096
  500. package/types/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.ts +0 -1393
  501. package/types/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.ts +0 -1456
  502. package/types/contracts/mocks/EthUSDMockOracle.ts +0 -138
  503. package/types/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.ts +0 -131
  504. package/types/contracts/mocks/GasPriceMockOracle.ts +0 -120
  505. package/types/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts +0 -1357
  506. package/types/contracts/mocks/GoodCompoundStakingTest.ts +0 -2044
  507. package/types/contracts/mocks/GoodFundManagerTest.ts +0 -1268
  508. package/types/contracts/mocks/IdentityMock.ts +0 -554
  509. package/types/contracts/mocks/IncentiveControllerMock.ts +0 -212
  510. package/types/contracts/mocks/LendingPoolMock.ts +0 -1331
  511. package/types/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.ts +0 -176
  512. package/types/contracts/mocks/OverMintTester.sol/OverMintTester.ts +0 -178
  513. package/types/contracts/mocks/OverMintTesterRegularStake.ts +0 -178
  514. package/types/contracts/mocks/PayableMock.ts +0 -89
  515. package/types/contracts/mocks/SixteenDecimalsTokenMock.ts +0 -1096
  516. package/types/contracts/mocks/SwapHelperTest.ts +0 -118
  517. package/types/contracts/mocks/TwentyDecimalsTokenMock.ts +0 -1096
  518. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock.ts +0 -379
  519. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.ts +0 -339
  520. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.ts +0 -365
  521. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.ts +0 -365
  522. package/types/contracts/mocks/UsdcMock.sol/USDCMock.ts +0 -1096
  523. package/types/contracts/reserve/CeloDistributionHelper.ts +0 -1226
  524. package/types/contracts/reserve/DistributionHelper.ts +0 -1393
  525. package/types/contracts/reserve/ExchangeHelper.ts +0 -584
  526. package/types/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper.ts +0 -1247
  527. package/types/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  528. package/types/contracts/reserve/GoodMarketMaker.ts +0 -1054
  529. package/types/contracts/reserve/GoodReserveADai.ts +0 -2212
  530. package/types/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.ts +0 -166
  531. package/types/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.ts +0 -2190
  532. package/types/contracts/staking/BaseShareField.ts +0 -456
  533. package/types/contracts/staking/BaseShareFieldV2.ts +0 -368
  534. package/types/contracts/staking/DonationsStaking.ts +0 -851
  535. package/types/contracts/staking/FuseStakingV3.sol/FuseStakingV3.ts +0 -1280
  536. package/types/contracts/staking/FuseStakingV3.sol/IConsensus.ts +0 -232
  537. package/types/contracts/staking/FuseStakingV3.sol/PegSwap.ts +0 -112
  538. package/types/contracts/staking/GoodFundManager.ts +0 -1228
  539. package/types/contracts/staking/SimpleStaking.ts +0 -1598
  540. package/types/contracts/staking/SimpleStakingV2.ts +0 -1495
  541. package/types/contracts/staking/UniswapV2SwapHelper.ts +0 -123
  542. package/types/contracts/staking/aave/AaveStakingFactory.ts +0 -323
  543. package/types/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2.ts +0 -1808
  544. package/types/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  545. package/types/contracts/staking/aave/GoodAaveStaking.ts +0 -1843
  546. package/types/contracts/staking/aave/GoodAaveStakingV2.ts +0 -1808
  547. package/types/contracts/staking/compound/CompoundStakingFactory.ts +0 -284
  548. package/types/contracts/staking/compound/GoodCompoundStaking.ts +0 -1932
  549. package/types/contracts/staking/compound/GoodCompoundStakingV2.ts +0 -1717
  550. package/types/contracts/token/ERC20PresetMinterPauserUpgradeable.ts +0 -1204
  551. package/types/contracts/token/ERC677.sol/ERC677.ts +0 -141
  552. package/types/contracts/token/ERC677.sol/ERC677Receiver.ts +0 -115
  553. package/types/contracts/token/GoodDollar.ts +0 -1871
  554. package/types/contracts/token/GoodDollar18.ts +0 -1871
  555. package/types/contracts/token/GoodDollar2.ts +0 -1871
  556. package/types/contracts/token/IFeesFormula.ts +0 -110
  557. package/types/contracts/token/MultichainFeeFormula.ts +0 -131
  558. package/types/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.ts +0 -195
  559. package/types/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.ts +0 -115
  560. package/types/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.ts +0 -650
  561. package/types/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.ts +0 -3462
  562. package/types/contracts/token/superfluid/ISuperToken.ts +0 -2203
  563. package/types/contracts/token/superfluid/SuperGoodDollar.ts +0 -3866
  564. package/types/contracts/token/superfluid/SuperToken.ts +0 -2441
  565. package/types/contracts/token/superfluid/SuperfluidToken.ts +0 -996
  566. package/types/contracts/token/superfluid/UUPSProxiable.ts +0 -197
  567. package/types/contracts/token/superfluid/UUPSProxy.sol/Proxy.ts +0 -55
  568. package/types/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.ts +0 -104
  569. package/types/contracts/ubi/UBIScheme.ts +0 -1606
  570. package/types/contracts/utils/AdminWallet.ts +0 -1359
  571. package/types/contracts/utils/AdminWalletFuse.ts +0 -1507
  572. package/types/contracts/utils/BancorFormula.ts +0 -990
  573. package/types/contracts/utils/BulkWhitelist.ts +0 -153
  574. package/types/contracts/utils/BuyAndBridgeHelper.ts +0 -293
  575. package/types/contracts/utils/BuyGDClone.sol/BuyGDClone.ts +0 -430
  576. package/types/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.ts +0 -716
  577. package/types/contracts/utils/BuyGDClone.sol/BuyGDCloneV2.ts +0 -464
  578. package/types/contracts/utils/BuyGDClone.sol/DonateGDClone.ts +0 -582
  579. package/types/contracts/utils/BuyGDClone.sol/IQuoterV2.ts +0 -184
  580. package/types/contracts/utils/BuyGDClone.sol/ISwapRouter.ts +0 -306
  581. package/types/contracts/utils/DAOContract.ts +0 -166
  582. package/types/contracts/utils/DAOUpgradeableContract.ts +0 -325
  583. package/types/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677.ts +0 -108
  584. package/types/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.ts +0 -108
  585. package/types/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.ts +0 -89
  586. package/types/contracts/utils/FuseOldBridgeKill.sol/Initializable.ts +0 -87
  587. package/types/contracts/utils/FuseOldBridgeKill.sol/Ownable.ts +0 -148
  588. package/types/contracts/utils/GDFaucet.ts +0 -224
  589. package/types/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.ts +0 -1899
  590. package/types/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.ts +0 -143
  591. package/types/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.ts +0 -135
  592. package/types/contracts/utils/IdentityFix.ts +0 -139
  593. package/types/contracts/utils/MultiCall.sol/Multicall.ts +0 -310
  594. package/types/contracts/utils/MultichainBridgeHelper.ts +0 -175
  595. package/types/contracts/utils/NameService.ts +0 -420
  596. package/types/contracts/utils/OneTimePayments.ts +0 -426
  597. package/types/contracts/utils/OneTimePaymentsV2.ts +0 -484
  598. package/types/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.ts +0 -114
  599. package/types/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.ts +0 -278
  600. package/types/contracts/utils/ProtocolUpgradeFuse.ts +0 -167
  601. package/types/contracts/utils/ProtocolUpgradeFuseRecover.ts +0 -167
  602. package/types/contracts/utils/ProtocolUpgradeRecover.ts +0 -270
  603. package/types/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.ts +0 -163
  604. package/types/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.ts +0 -313
  605. package/types/contracts/utils/ReputationTestHelper.ts +0 -177
  606. package/types/contracts/utils/ReserveRestore.sol/MentoExchange.ts +0 -81
  607. package/types/contracts/utils/ReserveRestore.sol/ReserveRestore.ts +0 -112
  608. package/types/contracts/utils/ReserveRestore.sol/index.ts +0 -5
  609. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange.ts +0 -81
  610. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +0 -5
  611. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange.ts +0 -81
  612. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC.ts +0 -122
  613. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +0 -5
  614. package/types/factories/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/ILayerZeroFeeEstimator__factory.ts +0 -79
  615. package/types/factories/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/IMessagePassingBridge__factory.ts +0 -446
  616. package/types/factories/@mean-finance/uniswap-v3-oracle/solidity/interfaces/IStaticOracle__factory.ts +0 -410
  617. package/types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +0 -230
  618. package/types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +0 -198
  619. package/types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +0 -78
  620. package/types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +0 -39
  621. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +0 -146
  622. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade__factory.ts +0 -71
  623. package/types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +0 -31
  624. package/types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +0 -39
  625. package/types/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.ts +0 -39
  626. package/types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +0 -65
  627. package/types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +0 -349
  628. package/types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +0 -206
  629. package/types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +0 -248
  630. package/types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.ts +0 -101
  631. package/types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +0 -311
  632. package/types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +0 -356
  633. package/types/factories/@openzeppelin/contracts/token/ERC777/IERC777Recipient__factory.ts +0 -64
  634. package/types/factories/@openzeppelin/contracts/token/ERC777/IERC777Sender__factory.ts +0 -64
  635. package/types/factories/@openzeppelin/contracts/token/ERC777/IERC777__factory.ts +0 -417
  636. package/types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts +0 -42
  637. package/types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +0 -45
  638. package/types/factories/@openzeppelin/contracts/utils/introspection/IERC1820Registry__factory.ts +0 -239
  639. package/types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable__factory.ts +0 -292
  640. package/types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +0 -247
  641. package/types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable__factory.ts +0 -247
  642. package/types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable__factory.ts +0 -202
  643. package/types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +0 -91
  644. package/types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC1271Upgradeable__factory.ts +0 -50
  645. package/types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts +0 -43
  646. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts +0 -88
  647. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts +0 -39
  648. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +0 -39
  649. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +0 -128
  650. package/types/factories/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable__factory.ts +0 -78
  651. package/types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts +0 -43
  652. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.ts +0 -345
  653. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts +0 -209
  654. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable__factory.ts +0 -344
  655. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable__factory.ts +0 -352
  656. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable__factory.ts +0 -252
  657. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol/ERC20PermitUpgradeable__factory.ts +0 -388
  658. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable__factory.ts +0 -105
  659. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable__factory.ts +0 -748
  660. package/types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +0 -39
  661. package/types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable__factory.ts +0 -39
  662. package/types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +0 -58
  663. package/types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.ts +0 -45
  664. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1__factory.ts +0 -1064
  665. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.ts +0 -1015
  666. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantInflowNFT__factory.ts +0 -551
  667. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantOutflowNFT__factory.ts +0 -614
  668. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IFlowNFTBase__factory.ts +0 -515
  669. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperAgreement__factory.ts +0 -78
  670. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperApp__factory.ts +0 -275
  671. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperTokenFactory__factory.ts +0 -276
  672. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperToken__factory.ts +0 -1839
  673. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidGovernance__factory.ts +0 -282
  674. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken__factory.ts +0 -697
  675. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluid__factory.ts +0 -1156
  676. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ERC20WithTokenInfo__factory.ts +0 -248
  677. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETHCustom__factory.ts +0 -59
  678. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.ts +0 -1869
  679. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/TokenInfo__factory.ts +0 -65
  680. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/libs/EventsEmitter__factory.ts +0 -87
  681. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantInflowNFT__factory.ts +0 -758
  682. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantOutflowNFT__factory.ts +0 -817
  683. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/FlowNFTBase__factory.ts +0 -645
  684. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/upgradability/UUPSProxiable__factory.ts +0 -104
  685. package/types/factories/@uniswap/v2-periphery/contracts/interfaces/IWETH__factory.ts +0 -67
  686. package/types/factories/@uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.ts +0 -222
  687. package/types/factories/contracts/DAOStackInterfaces.sol/Avatar__factory.ts +0 -62
  688. package/types/factories/contracts/DAOStackInterfaces.sol/Controller__factory.ts +0 -362
  689. package/types/factories/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface__factory.ts +0 -72
  690. package/types/factories/contracts/DAOStackInterfaces.sol/IntVoteInterface__factory.ts +0 -349
  691. package/types/factories/contracts/DAOStackInterfaces.sol/ReputationInterface__factory.ts +0 -168
  692. package/types/factories/contracts/DAOStackInterfaces.sol/SchemeRegistrar__factory.ts +0 -114
  693. package/types/factories/contracts/IQuoter.sol/IQuoterV2__factory.ts +0 -226
  694. package/types/factories/contracts/IQuoter.sol/index.ts +0 -4
  695. package/types/factories/contracts/IUniswapV3.sol/INonfungiblePositionManager__factory.ts +0 -121
  696. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Factory__factory.ts +0 -84
  697. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Pool__factory.ts +0 -121
  698. package/types/factories/contracts/Interfaces.sol/AToken__factory.ts +0 -36
  699. package/types/factories/contracts/Interfaces.sol/AggregatorV3Interface__factory.ts +0 -121
  700. package/types/factories/contracts/Interfaces.sol/CERC20__factory.ts +0 -384
  701. package/types/factories/contracts/Interfaces.sol/ERC20__factory.ts +0 -288
  702. package/types/factories/contracts/Interfaces.sol/IAaveIncentivesControllerV3__factory.ts +0 -88
  703. package/types/factories/contracts/Interfaces.sol/IAaveIncentivesController__factory.ts +0 -83
  704. package/types/factories/contracts/Interfaces.sol/IAdminWallet__factory.ts +0 -78
  705. package/types/factories/contracts/Interfaces.sol/IDonationStaking__factory.ts +0 -33
  706. package/types/factories/contracts/Interfaces.sol/IERC2917__factory.ts +0 -496
  707. package/types/factories/contracts/Interfaces.sol/IFirstClaimPool__factory.ts +0 -65
  708. package/types/factories/contracts/Interfaces.sol/IGoodDollar__factory.ts +0 -598
  709. package/types/factories/contracts/Interfaces.sol/IGoodStaking__factory.ts +0 -178
  710. package/types/factories/contracts/Interfaces.sol/IHasRouter__factory.ts +0 -39
  711. package/types/factories/contracts/Interfaces.sol/IIdentityV2__factory.ts +0 -334
  712. package/types/factories/contracts/Interfaces.sol/IIdentity__factory.ts +0 -287
  713. package/types/factories/contracts/Interfaces.sol/ILendingPoolV3__factory.ts +0 -186
  714. package/types/factories/contracts/Interfaces.sol/ILendingPool__factory.ts +0 -171
  715. package/types/factories/contracts/Interfaces.sol/IMultichainRouter__factory.ts +0 -82
  716. package/types/factories/contracts/Interfaces.sol/INameService__factory.ts +0 -45
  717. package/types/factories/contracts/Interfaces.sol/IQuoterV2__factory.ts +0 -126
  718. package/types/factories/contracts/Interfaces.sol/ISwapRouter__factory.ts +0 -220
  719. package/types/factories/contracts/Interfaces.sol/IUBIScheme__factory.ts +0 -71
  720. package/types/factories/contracts/Interfaces.sol/ProxyAdmin__factory.ts +0 -131
  721. package/types/factories/contracts/Interfaces.sol/Reserve__factory.ts +0 -55
  722. package/types/factories/contracts/Interfaces.sol/Staking__factory.ts +0 -77
  723. package/types/factories/contracts/Interfaces.sol/UniswapFactory__factory.ts +0 -50
  724. package/types/factories/contracts/Interfaces.sol/UniswapPair__factory.ts +0 -120
  725. package/types/factories/contracts/Interfaces.sol/Uniswap__factory.ts +0 -275
  726. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet__factory.ts +0 -945
  727. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/index.ts +0 -4
  728. package/types/factories/contracts/fuseFaucet/Faucet__factory.ts +0 -914
  729. package/types/factories/contracts/fuseFaucet/FuseFaucetV2__factory.ts +0 -627
  730. package/types/factories/contracts/fuseFaucet/FuseFaucet__factory.ts +0 -389
  731. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable__factory.ts +0 -572
  732. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor__factory.ts +0 -482
  733. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
  734. package/types/factories/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet__factory.ts +0 -663
  735. package/types/factories/contracts/governance/ClaimersDistribution__factory.ts +0 -430
  736. package/types/factories/contracts/governance/CompoundVotingMachine__factory.ts +0 -1226
  737. package/types/factories/contracts/governance/GReputation__factory.ts +0 -1493
  738. package/types/factories/contracts/governance/GovernanceStaking__factory.ts +0 -948
  739. package/types/factories/contracts/governance/MultiBaseGovernanceShareField__factory.ts +0 -240
  740. package/types/factories/contracts/governance/Reputation__factory.ts +0 -696
  741. package/types/factories/contracts/governance/StakersDistribution__factory.ts +0 -617
  742. package/types/factories/contracts/identity/IdentityV2__factory.ts +0 -1150
  743. package/types/factories/contracts/invite/InvitesFuseV2__factory.ts +0 -574
  744. package/types/factories/contracts/invite/InvitesV1__factory.ts +0 -556
  745. package/types/factories/contracts/invite/OneTimeReward__factory.ts +0 -361
  746. package/types/factories/contracts/mocks/AaveMock__factory.ts +0 -743
  747. package/types/factories/contracts/mocks/AaveUSDMockOracle__factory.ts +0 -75
  748. package/types/factories/contracts/mocks/BatUSDMockOracle__factory.ts +0 -75
  749. package/types/factories/contracts/mocks/CBATMock__factory.ts +0 -847
  750. package/types/factories/contracts/mocks/CDAILowWorthMock__factory.ts +0 -834
  751. package/types/factories/contracts/mocks/CDAIMock__factory.ts +0 -860
  752. package/types/factories/contracts/mocks/CDAINonMintableMock__factory.ts +0 -834
  753. package/types/factories/contracts/mocks/CDecimalsMock__factory.ts +0 -847
  754. package/types/factories/contracts/mocks/CSDTMock__factory.ts +0 -847
  755. package/types/factories/contracts/mocks/CUSDCMock__factory.ts +0 -847
  756. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +0 -949
  757. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest__factory.ts +0 -919
  758. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +0 -929
  759. package/types/factories/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle__factory.ts +0 -75
  760. package/types/factories/contracts/mocks/DAIMock__factory.ts +0 -784
  761. package/types/factories/contracts/mocks/DaiEthPriceMockOracle__factory.ts +0 -79
  762. package/types/factories/contracts/mocks/DecimalsMock__factory.ts +0 -758
  763. package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +0 -1040
  764. package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest__factory.ts +0 -1007
  765. package/types/factories/contracts/mocks/EthUSDMockOracle__factory.ts +0 -108
  766. package/types/factories/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock__factory.ts +0 -132
  767. package/types/factories/contracts/mocks/GasPriceMockOracle__factory.ts +0 -88
  768. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +0 -1017
  769. package/types/factories/contracts/mocks/GoodCompoundStakingTest__factory.ts +0 -1470
  770. package/types/factories/contracts/mocks/GoodFundManagerTest__factory.ts +0 -820
  771. package/types/factories/contracts/mocks/IdentityMock__factory.ts +0 -349
  772. package/types/factories/contracts/mocks/IncentiveControllerMock__factory.ts +0 -166
  773. package/types/factories/contracts/mocks/LendingPoolMock__factory.ts +0 -927
  774. package/types/factories/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest__factory.ts +0 -68
  775. package/types/factories/contracts/mocks/OverMintTester.sol/OverMintTester__factory.ts +0 -152
  776. package/types/factories/contracts/mocks/OverMintTesterRegularStake__factory.ts +0 -156
  777. package/types/factories/contracts/mocks/PayableMock__factory.ts +0 -69
  778. package/types/factories/contracts/mocks/SixteenDecimalsTokenMock__factory.ts +0 -747
  779. package/types/factories/contracts/mocks/SwapHelperTest__factory.ts +0 -96
  780. package/types/factories/contracts/mocks/TwentyDecimalsTokenMock__factory.ts +0 -747
  781. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock2__factory.ts +0 -236
  782. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock3__factory.ts +0 -249
  783. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock4__factory.ts +0 -249
  784. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock__factory.ts +0 -262
  785. package/types/factories/contracts/mocks/UsdcMock.sol/USDCMock__factory.ts +0 -743
  786. package/types/factories/contracts/reserve/CeloDistributionHelper__factory.ts +0 -919
  787. package/types/factories/contracts/reserve/DistributionHelper__factory.ts +0 -1003
  788. package/types/factories/contracts/reserve/ExchangeHelper__factory.ts +0 -427
  789. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper__factory.ts +0 -935
  790. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  791. package/types/factories/contracts/reserve/GoodMarketMaker__factory.ts +0 -687
  792. package/types/factories/contracts/reserve/GoodReserveADai__factory.ts +0 -1502
  793. package/types/factories/contracts/reserve/GoodReserveCDai.sol/ContributionCalc__factory.ts +0 -83
  794. package/types/factories/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai__factory.ts +0 -1489
  795. package/types/factories/contracts/staking/BaseShareFieldV2__factory.ts +0 -251
  796. package/types/factories/contracts/staking/BaseShareField__factory.ts +0 -307
  797. package/types/factories/contracts/staking/DonationsStaking__factory.ts +0 -580
  798. package/types/factories/contracts/staking/FuseStakingV3.sol/FuseStakingV3__factory.ts +0 -814
  799. package/types/factories/contracts/staking/FuseStakingV3.sol/IConsensus__factory.ts +0 -119
  800. package/types/factories/contracts/staking/FuseStakingV3.sol/PegSwap__factory.ts +0 -49
  801. package/types/factories/contracts/staking/GoodFundManager__factory.ts +0 -778
  802. package/types/factories/contracts/staking/SimpleStakingV2__factory.ts +0 -999
  803. package/types/factories/contracts/staking/SimpleStaking__factory.ts +0 -1061
  804. package/types/factories/contracts/staking/UniswapV2SwapHelper__factory.ts +0 -101
  805. package/types/factories/contracts/staking/aave/AaveStakingFactory__factory.ts +0 -262
  806. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2__factory.ts +0 -1240
  807. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  808. package/types/factories/contracts/staking/aave/GoodAaveStakingV2__factory.ts +0 -1240
  809. package/types/factories/contracts/staking/aave/GoodAaveStaking__factory.ts +0 -1276
  810. package/types/factories/contracts/staking/compound/CompoundStakingFactory__factory.ts +0 -249
  811. package/types/factories/contracts/staking/compound/GoodCompoundStakingV2__factory.ts +0 -1182
  812. package/types/factories/contracts/staking/compound/GoodCompoundStaking__factory.ts +0 -1316
  813. package/types/factories/contracts/token/ERC20PresetMinterPauserUpgradeable__factory.ts +0 -829
  814. package/types/factories/contracts/token/ERC677.sol/ERC677Receiver__factory.ts +0 -55
  815. package/types/factories/contracts/token/ERC677.sol/ERC677__factory.ts +0 -78
  816. package/types/factories/contracts/token/GoodDollar18__factory.ts +0 -1257
  817. package/types/factories/contracts/token/GoodDollar2__factory.ts +0 -1257
  818. package/types/factories/contracts/token/GoodDollar__factory.ts +0 -1257
  819. package/types/factories/contracts/token/IFeesFormula__factory.ts +0 -60
  820. package/types/factories/contracts/token/MultichainFeeFormula__factory.ts +0 -113
  821. package/types/factories/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit__factory.ts +0 -114
  822. package/types/factories/contracts/token/superfluid/ERC20Permit.sol/SelfApprove__factory.ts +0 -49
  823. package/types/factories/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom__factory.ts +0 -370
  824. package/types/factories/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar__factory.ts +0 -2301
  825. package/types/factories/contracts/token/superfluid/ISuperToken__factory.ts +0 -1577
  826. package/types/factories/contracts/token/superfluid/SuperGoodDollar__factory.ts +0 -2687
  827. package/types/factories/contracts/token/superfluid/SuperToken__factory.ts +0 -1770
  828. package/types/factories/contracts/token/superfluid/SuperfluidToken__factory.ts +0 -697
  829. package/types/factories/contracts/token/superfluid/UUPSProxiable__factory.ts +0 -104
  830. package/types/factories/contracts/token/superfluid/UUPSProxy.sol/Proxy__factory.ts +0 -31
  831. package/types/factories/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy__factory.ts +0 -83
  832. package/types/factories/contracts/ubi/UBIScheme__factory.ts +0 -1055
  833. package/types/factories/contracts/utils/AdminWalletFuse__factory.ts +0 -967
  834. package/types/factories/contracts/utils/AdminWallet__factory.ts +0 -882
  835. package/types/factories/contracts/utils/BancorFormula__factory.ts +0 -677
  836. package/types/factories/contracts/utils/BulkWhitelist__factory.ts +0 -123
  837. package/types/factories/contracts/utils/BuyAndBridgeHelper__factory.ts +0 -237
  838. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory__factory.ts +0 -602
  839. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneV2__factory.ts +0 -415
  840. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDClone__factory.ts +0 -389
  841. package/types/factories/contracts/utils/BuyGDClone.sol/DonateGDClone__factory.ts +0 -503
  842. package/types/factories/contracts/utils/BuyGDClone.sol/IQuoterV2__factory.ts +0 -126
  843. package/types/factories/contracts/utils/BuyGDClone.sol/ISwapRouter__factory.ts +0 -220
  844. package/types/factories/contracts/utils/DAOContract__factory.ts +0 -121
  845. package/types/factories/contracts/utils/DAOUpgradeableContract__factory.ts +0 -227
  846. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677__factory.ts +0 -86
  847. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill__factory.ts +0 -82
  848. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage__factory.ts +0 -43
  849. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/Initializable__factory.ts +0 -75
  850. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/Ownable__factory.ts +0 -105
  851. package/types/factories/contracts/utils/GDFaucet__factory.ts +0 -191
  852. package/types/factories/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper__factory.ts +0 -1330
  853. package/types/factories/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter__factory.ts +0 -74
  854. package/types/factories/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl__factory.ts +0 -84
  855. package/types/factories/contracts/utils/IdentityFix__factory.ts +0 -113
  856. package/types/factories/contracts/utils/MultiCall.sol/Multicall__factory.ts +0 -218
  857. package/types/factories/contracts/utils/MultichainBridgeHelper__factory.ts +0 -134
  858. package/types/factories/contracts/utils/NameService__factory.ts +0 -293
  859. package/types/factories/contracts/utils/OneTimePaymentsV2__factory.ts +0 -369
  860. package/types/factories/contracts/utils/OneTimePayments__factory.ts +0 -323
  861. package/types/factories/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker__factory.ts +0 -62
  862. package/types/factories/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade__factory.ts +0 -207
  863. package/types/factories/contracts/utils/ProtocolUpgradeFuseRecover__factory.ts +0 -146
  864. package/types/factories/contracts/utils/ProtocolUpgradeFuse__factory.ts +0 -142
  865. package/types/factories/contracts/utils/ProtocolUpgradeRecover__factory.ts +0 -184
  866. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange__factory.ts +0 -39
  867. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +0 -152
  868. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
  869. package/types/factories/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy__factory.ts +0 -133
  870. package/types/factories/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967__factory.ts +0 -223
  871. package/types/factories/contracts/utils/ReputationTestHelper__factory.ts +0 -141
  872. package/types/factories/contracts/utils/ReserveRestore.sol/ReserveRestore__factory.ts +0 -95
  873. package/types/factories/contracts/utils/ReserveRestore.sol/index.ts +0 -5
  874. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange__factory.ts +0 -39
  875. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC__factory.ts +0 -110
  876. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +0 -5
  877. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange__factory.ts +0 -39
  878. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC__factory.ts +0 -115
  879. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +0 -5
  880. /package/types/contracts/utils/{ProtocolUpgradeV4Mento.sol → UpdateReserveRatio.sol}/MentoExchange.ts +0 -0
@@ -1,1119 +0,0 @@
1
- import { get, range, chunk, flatten, mergeWith, sortBy, uniq } from "lodash";
2
- import fs from "fs";
3
- import MerkleTree, { checkProof, checkProofOrdered } from "merkle-tree-solidity";
4
- import coreContracts from "@gooddollar/goodcontracts/releases/deployment.json";
5
- import stakingContracts from "@gooddollar/goodcontracts/stakingModel/releases/deployment.json";
6
- import upgradablesContracts from "@gooddollar/goodcontracts/upgradables/releases/deployment.json";
7
- import SimpleDAIStaking from "@gooddollar/goodcontracts/stakingModel/build/contracts/SimpleDAIStaking.min.json";
8
- import { ethers as Ethers } from "hardhat";
9
- import { request, gql } from "graphql-request";
10
- import { Retrier } from "@jsier/retrier";
11
- import PromisePool from "async-promise-pool";
12
-
13
- const GD_FUSE = "0x495d133b938596c9984d462f007b676bdc57ecec";
14
- const GD_MAINNET = "0x67c5870b4a41d4ebef24d2456547a03f1f3e094b";
15
- const DAI = "0x6b175474e89094c44da98b954eedeac495271d0f";
16
- type Balances = {
17
- [key: string]: {
18
- isNotContract: boolean;
19
- balance: number;
20
- claims: number;
21
- stake: number;
22
- gdRepShare: number;
23
- claimRepShare: number;
24
- stakeRepShare: number;
25
- };
26
- };
27
-
28
- type Tree = {
29
- [key: string]: {
30
- hash: string;
31
- rep: number;
32
- };
33
- };
34
- const DefaultBalance = {
35
- balance: 0,
36
- claims: 0,
37
- gdRepShare: 0,
38
- claimRepShare: 0,
39
- stake: 0,
40
- stakeRepShare: 0,
41
- isNotContract: true
42
- };
43
- const otherContracts = [
44
- "0x8d441C2Ff54C015A1BE22ad88e5D42EFBEC6C7EF", //fuseswap
45
- "0x0bf36731724f0baceb0748a9e71cd4883b69c533", //fuseswap usdc
46
- "0x17b09b22823f00bb9b8ee2d4632e332cadc29458", //old bridge
47
- "0xd5d11ee582c8931f336fbcd135e98cee4db8ccb0", //new bridge
48
- "0xa56A281cD8BA5C083Af121193B2AaCCaAAC9850a", //mainnet uniswap
49
- "0x66c0f5449ba4ff4fba0b05716705a4176bbdb848", //defender automation
50
- "0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11" //"uniswap DAI"
51
- ];
52
-
53
- const systemContracts = {};
54
- const allContracts = flatten(
55
- [coreContracts, stakingContracts, upgradablesContracts].map(_ => Object.values(_).map(_ => Object.values(_)))
56
- );
57
- flatten(
58
- [].concat(
59
- ...[otherContracts, allContracts]
60
- .map(Object.values)
61
- .map(arr => arr.map(x => (typeof x === "object" ? Object.values(x) : x)))
62
- )
63
- )
64
- .filter(x => typeof x === "string" && x.startsWith("0x"))
65
- .map(addr => (systemContracts[addr.toLowerCase()] = true));
66
-
67
- const isSystemContract = addr => systemContracts[addr.toLowerCase()] === true;
68
-
69
- const updateBalance = (balance, update) => {
70
- return Object.assign({}, DefaultBalance, balance, update);
71
- };
72
-
73
- const quantile = (sorted, q) => {
74
- const pos = (sorted.length - 1) * q;
75
- const base = Math.floor(pos);
76
-
77
- let sum = 0;
78
- for (let i = 0; i < base; i++) sum += sorted[i];
79
-
80
- return sum;
81
- };
82
-
83
- let FUSE_SNAPSHOT_BLOCK = 13175510; //September-29-2021 03:00:00 PM +3 UTC
84
- let ETH_SNAPSHOT_BLOCK = 13320531; //first blocka after 12pm Sep-29-2021 12:00:20 PM +UTC
85
-
86
- export const airdrop = (ethers: typeof Ethers, ethplorer_key, etherscan_key) => {
87
- const fusePoktProvider = new ethers.providers.JsonRpcProvider({
88
- url: "https://fuse-mainnet.gateway.pokt.network/v1/lb/60ee374fc6318362996a1fb0",
89
- user: "",
90
- password: "d57939c260bdf0a6f22550e2350b4312" //end point will be removed, so its ok to keep clear text password
91
- });
92
-
93
- const fuseProvider = new ethers.providers.JsonRpcProvider("https://rpc.fuse.io");
94
-
95
- const fuseGDProvider = new ethers.providers.JsonRpcProvider("https://gooddollar-rpc.fuse.io");
96
- const fuseArchiveProvider = new ethers.providers.JsonRpcBatchProvider("https://explorer-node.fuse.io/");
97
-
98
- const poktArchiveProvider = new ethers.providers.JsonRpcProvider({
99
- url: "https://eth-trace.gateway.pokt.network/v1/lb/6130bad2dc57c50036551041",
100
- user: "",
101
- password: "15439e4f4aeceb469b6b38e319f4f2a5" //end point will be removed, so its ok to keep clear text password
102
- });
103
-
104
- console.log({ systemContracts });
105
- let gd = new ethers.Contract(
106
- GD_FUSE,
107
- [
108
- "event Transfer(address indexed from, address indexed to, uint amount)",
109
- "function balanceOf(address) view returns(uint256)"
110
- ],
111
- fuseArchiveProvider
112
- );
113
-
114
- let gdMainnet = new ethers.Contract(
115
- GD_MAINNET,
116
- [
117
- "event Transfer(address indexed from, address indexed to, uint256 value)",
118
- "function balanceOf(address) view returns(uint256)"
119
- ],
120
- poktArchiveProvider //we need balances at specific time so we use archive node
121
- );
122
-
123
- let dai = new ethers.Contract(
124
- DAI,
125
- [
126
- "event Transfer(address indexed from, address indexed to, uint256 value)",
127
- "function balanceOf(address) view returns(uint256)"
128
- ],
129
- new ethers.providers.InfuraProvider()
130
- );
131
-
132
- const ubi = new ethers.Contract(
133
- "0xAACbaaB8571cbECEB46ba85B5981efDB8928545e",
134
- ["event UBIClaimed(address indexed from, uint amount)"],
135
- fuseProvider
136
- );
137
- const ubinew = new ethers.Contract(
138
- "0xD7aC544F8A570C4d8764c3AAbCF6870CBD960D0D",
139
- ["event UBIClaimed(address indexed from, uint amount)"],
140
- fuseProvider
141
- );
142
- const usdcgdYieldFarming = new ethers.Contract(
143
- "0x04Ee5DE43332aF99eeC2D40de19962AA1cC583EC",
144
- [
145
- "event Staked(address indexed staker, uint256 value, uint256 _globalYieldPerToken)",
146
- "function interestData() view returns(uint256,uint256,uint256)",
147
- "function getStakerData(address) public view returns(uint256, uint256)"
148
- ],
149
- fuseArchiveProvider
150
- );
151
-
152
- const getStakersBalance = async (): Promise<Balances> => {
153
- const staking = new ethers.Contract(
154
- "0xEa12bB3917cf6aE2FDE97cE4756177703426d41F",
155
- SimpleDAIStaking.abi,
156
- new ethers.providers.InfuraProvider()
157
- );
158
-
159
- //calculate staking period * stake value (already in $=DAI)
160
- const events = await staking.queryFilter(
161
- staking.filters.DAIStaked(),
162
- 10575628, //block contract was created,
163
- Math.max(ETH_SNAPSHOT_BLOCK, 10575628)
164
- );
165
-
166
- const nowBlock = ETH_SNAPSHOT_BLOCK; //await staking.provider.getBlockNumber();
167
- let toAggregate = events.map(_ => [
168
- _.args.staker.toLowerCase(),
169
- parseFloat(ethers.utils.formatEther(_.args.daiValue)) * (nowBlock - _.blockNumber), //value staked multiplied by time staked (there where no withdraws so far besides foundation account)
170
- parseFloat(ethers.utils.formatEther(_.args.daiValue))
171
- ]);
172
-
173
- const stakers = uniq(events.map(_ => _.args.staker));
174
-
175
- //get dai donations
176
- const daiDonationEvents = await dai.queryFilter(
177
- dai.filters.Transfer(null, "0x93FB057EeC37aBc11D955d1C09e6A0d218F35CfF"),
178
- 11512056, //donation staking contract creation block,
179
- Math.max(ETH_SNAPSHOT_BLOCK, 11512056)
180
- );
181
-
182
- const daiDonationsToAggregate = daiDonationEvents
183
- .filter(_ => !isSystemContract(_.args.from))
184
- .map(e => [
185
- e.args.from.toLowerCase(),
186
- parseFloat(ethers.utils.formatEther(e.args.value)) * (nowBlock - e.blockNumber),
187
- parseFloat(ethers.utils.formatEther(e.args.value))
188
- ]);
189
-
190
- //read eth donations and calculate period * $ value
191
- let provider = new ethers.providers.EtherscanProvider("homestead", etherscan_key);
192
-
193
- //use etherscan to read past eth transfers to the donation contract
194
- let historyPromises = (
195
- await provider.getHistory(
196
- "0x93FB057EeC37aBc11D955d1C09e6A0d218F35CfF",
197
- 11512056,
198
- Math.max(ETH_SNAPSHOT_BLOCK, 11512056)
199
- )
200
- )
201
- .filter(_ => _.value.gt(ethers.constants.Zero))
202
- .map(async _ => {
203
- const data = await fetch(
204
- `https://poloniex.com/public?command=returnChartData&currencyPair=USDT_ETH&start=${_.timestamp}&end=${
205
- _.timestamp + 30000
206
- }&period=300`
207
- ).then(_ => _.json());
208
- const price = data[0].weightedAverage || data[0].open;
209
- if (price == 0) console.error("error 0 price", { data });
210
- return {
211
- from: _.from.toLowerCase(),
212
- value: ethers.utils.formatEther(_.value),
213
- timestamp: _.timestamp,
214
- price,
215
- usdvalue: price * parseFloat(ethers.utils.formatEther(_.value)),
216
- share: price * parseFloat(ethers.utils.formatEther(_.value)) * (nowBlock - _.blockNumber) //value staked multiplied by time staked
217
- };
218
- });
219
-
220
- let ethDonations = await Promise.all(historyPromises);
221
-
222
- let donationsToAggregate = daiDonationsToAggregate.concat(ethDonations.map(_ => [_.from, _.share, _.usdvalue]));
223
-
224
- const stakerToTotal: { [key: string]: number } = {};
225
- toAggregate = toAggregate.concat(donationsToAggregate);
226
-
227
- let totalStakedAndDonated = 0;
228
- toAggregate.forEach(_ => {
229
- stakerToTotal[_[0]] = (stakerToTotal[_[0]] || 0) + _[1];
230
- totalStakedAndDonated += _[2];
231
- });
232
-
233
- // deduct withdrawn stakes
234
- const withdrawevents = await staking.queryFilter(
235
- staking.filters.DAIStakeWithdraw(),
236
- 10575628,
237
- Math.max(ETH_SNAPSHOT_BLOCK, 10575628)
238
- );
239
- withdrawevents.forEach(
240
- _ =>
241
- (stakerToTotal[_.args.staker.toLowerCase()] -=
242
- parseFloat(ethers.utils.formatEther(_.args.daiValue)) * (nowBlock - _.blockNumber))
243
- );
244
-
245
- //filter contracts + calculate total shares
246
- let totalShares = 0;
247
- for (let k in stakerToTotal) {
248
- if (isSystemContract(k)) {
249
- //filter the donationstaking contract
250
- delete stakerToTotal[k];
251
- continue;
252
- }
253
- totalShares += stakerToTotal[k];
254
- }
255
-
256
- const result: Balances = {};
257
- //calculate relative share
258
- for (let k in stakerToTotal) {
259
- result[k] = {
260
- ...DefaultBalance,
261
- stakeRepShare: stakerToTotal[k] / totalShares,
262
- isNotContract: true
263
- };
264
- }
265
-
266
- console.log("stakers and donator shares:", {
267
- stakerToTotal,
268
- totalStakedAndDonated
269
- });
270
-
271
- return result;
272
- // const ps = stakers.map(async s => {
273
- // return {
274
- // balance: (await staking.stakers(s)).stakedDAI.toString(),
275
- // isNotContract:
276
- // (await staking.provider.getCode(s).catch(e => "0x")) === "0x",
277
- // s
278
- // };
279
- // });
280
- // const res = await Promise.all(ps);
281
-
282
- // console.log({
283
- // stakers,
284
- // toAggregate,
285
- // stakerToTotal,
286
- // totalShares,
287
- // ethDonations,
288
- // donationsToAggregate,
289
- // totalStakedAndDonated
290
- // });
291
- };
292
-
293
- const getUniswapBalances = async (addresses: Balances = {}) => {
294
- const query = gql`
295
- {
296
- liquidityPositions(
297
- orderDirection: desc
298
- orderBy: liquidityTokenBalance
299
- where: { pair: "0xa56a281cd8ba5c083af121193b2aaccaaac9850a", liquidityTokenBalance_gt: 0 }
300
- ) {
301
- id
302
- user {
303
- id
304
- }
305
- pair {
306
- reserve0
307
- totalSupply
308
- }
309
- liquidityTokenBalance
310
- }
311
- }
312
- `;
313
-
314
- let pair = await ethers.getContractAt("UniswapPair", "0xa56a281cd8ba5c083af121193b2aaccaaac9850a");
315
- pair = pair.connect(poktArchiveProvider);
316
-
317
- const pairTotalSupply = await pair
318
- .totalSupply({
319
- blockTag: ETH_SNAPSHOT_BLOCK
320
- })
321
- .then(_ => _.toNumber());
322
- const [reserve0] = await pair.getReserves({
323
- blockTag: ETH_SNAPSHOT_BLOCK
324
- });
325
- console.log("uniswap pair data:", { reserve0, pairTotalSupply });
326
-
327
- //TODO: read supplier balance at snapshot
328
- const { liquidityPositions } = await request("https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2", query);
329
-
330
- const gdHoldings = liquidityPositions.map(async pos => {
331
- const uAddress = pos.user.id.toLowerCase();
332
-
333
- const providerBalance = await pair.balanceOf(uAddress, {
334
- blockTag: ETH_SNAPSHOT_BLOCK
335
- });
336
- const share = providerBalance.toNumber() / pairTotalSupply;
337
- const gdShare = parseInt((share * reserve0).toFixed(0)); //parseInt((pos.pair.reserve0 * share * 100).toFixed(0)); //to G$ cents
338
- const isNotContract = get(
339
- addresses,
340
- `${uAddress}.isNotContract`,
341
- (await gdMainnet.provider.getCode(uAddress).catch(e => "0x")) === "0x"
342
- );
343
- const newBalance = (get(addresses, `${uAddress}.balance`, 0) as number) + gdShare;
344
- console.log("uniswap position:", {
345
- pos,
346
- newBalance,
347
- uAddress,
348
- share,
349
- gdShare
350
- });
351
- addresses[uAddress] = updateBalance(addresses[uAddress], {
352
- balance: newBalance,
353
- isNotContract
354
- });
355
-
356
- return [uAddress, gdShare];
357
- });
358
- await Promise.all(gdHoldings);
359
- return addresses;
360
- };
361
-
362
- const getFuseSwapBalances = async (graphqlUrl, tokenId, addresses: Balances = {}) => {
363
- const _calcHoldings = async (pair, addresses: Balances = {}) => {
364
- const { liquidityPositions, reserve0: isReserve0, id } = pair;
365
- let pairContract = await ethers.getContractAt("UniswapPair", id);
366
- pairContract = pairContract.connect(fuseArchiveProvider);
367
-
368
- try {
369
- const pairTotalSupply = await pairContract
370
- .totalSupply({
371
- blockTag: FUSE_SNAPSHOT_BLOCK
372
- })
373
- .then(_ => _.toNumber());
374
- const [reserve0, reserve1] = await pairContract.getReserves({
375
- blockTag: FUSE_SNAPSHOT_BLOCK
376
- });
377
-
378
- const reserve = isReserve0 ? reserve0.toNumber() : reserve1.toNumber();
379
-
380
- console.log("fuseswap pair data:", {
381
- id,
382
- reserve0,
383
- reserve1,
384
- pairTotalSupply
385
- });
386
-
387
- liquidityPositions.map(async pos => {
388
- const uAddress = pos.user.id.toLowerCase();
389
-
390
- const providerBalance = await pairContract.balanceOf(uAddress, {
391
- blockTag: FUSE_SNAPSHOT_BLOCK
392
- });
393
-
394
- const share = providerBalance.toNumber() / pairTotalSupply;
395
- const gdShare = parseInt((share * reserve).toFixed(0));
396
- if (gdShare > 0) {
397
- console.log("liquidity provider:", {
398
- uAddress,
399
- pair: id,
400
- share,
401
- gdShare,
402
- reserve: reserve
403
- });
404
-
405
- const newBalance = (get(addresses, `${uAddress}.balance`, 0) as number) + gdShare;
406
-
407
- addresses[uAddress] = updateBalance(addresses[uAddress], {
408
- balance: newBalance
409
- });
410
- }
411
- });
412
- } catch (e) {
413
- console.error("failed fuseswap pair", id, e);
414
- return;
415
- }
416
- };
417
-
418
- const query = gql`
419
- {
420
- t0: pairs(
421
- where: {
422
- token0: "${tokenId}"
423
- reserve0_gt: 1
424
- }
425
- ) {
426
- id
427
- reserve0
428
- totalSupply
429
- liquidityPositions(where: { liquidityTokenBalance_gt: 0 }) {
430
- user {
431
- id
432
- }
433
- liquidityTokenBalance
434
- }
435
- }
436
-
437
- t1: pairs(
438
- where: {
439
- token1: "${tokenId}"
440
- reserve1_gt: 1
441
- }
442
- ) {
443
- id
444
- reserve1
445
- totalSupply
446
- liquidityPositions(where: { liquidityTokenBalance_gt: 0 }) {
447
- user {
448
- id
449
- }
450
- liquidityTokenBalance
451
- pair {
452
- totalSupply
453
- }
454
- }
455
- }
456
- }
457
- `;
458
-
459
- const { t0, t1 } = await request(graphqlUrl, query);
460
- const t0Promises = t0.map(pair => {
461
- return _calcHoldings(pair, addresses);
462
- });
463
-
464
- const t1Promises = t1.map(pair => {
465
- return _calcHoldings(pair, addresses);
466
- });
467
-
468
- await Promise.all([...t0Promises, ...t1Promises]);
469
- //get liquidity miners for 0x04Ee5DE43332aF99eeC2D40de19962AA1cC583EC, fuse G$ liquidity farmin rewards
470
- const staked = await usdcgdYieldFarming.queryFilter(
471
- usdcgdYieldFarming.filters.Staked(),
472
- 10560021,
473
- Math.max(FUSE_SNAPSHOT_BLOCK, 10560021)
474
- );
475
-
476
- const farmers = {};
477
- const yieldFarmingRep = addresses[usdcgdYieldFarming.address.toLowerCase()]?.balance || 0;
478
- if (yieldFarmingRep > 0) {
479
- const [totalStaked, ,] = await usdcgdYieldFarming.interestData({
480
- blockTag: FUSE_SNAPSHOT_BLOCK
481
- });
482
-
483
- await Promise.all(
484
- staked.map(async e => {
485
- const [balance] = await usdcgdYieldFarming.getStakerData(e.args.staker, { blockTag: FUSE_SNAPSHOT_BLOCK });
486
-
487
- if (balance > 0) {
488
- const share = balance.toNumber() / totalStaked.toNumber();
489
- const uAddress = e.args.staker;
490
- const repShare = parseInt((share * yieldFarmingRep).toFixed(0));
491
- farmers[uAddress] = [share, repShare];
492
- const newBalance = (get(addresses, `${uAddress}.balance`, 0) as number) + share * yieldFarmingRep;
493
-
494
- addresses[uAddress] = updateBalance(addresses[uAddress], {
495
- balance: newBalance
496
- });
497
- }
498
- })
499
- );
500
- console.log("got fuseswap yield farmers:", {
501
- farmers,
502
- contract: usdcgdYieldFarming.address.toLowerCase(),
503
- yieldFarmingRep,
504
- totalStaked: totalStaked.toNumber(),
505
- totalFarmers: Object.values(farmers).length,
506
- totalShares: Object.values(farmers)
507
- .map(_ => _[0])
508
- .reduceRight((x: number, y: number) => x + y)
509
- });
510
-
511
- //dont send rep to the yield farming contract
512
- delete addresses[usdcgdYieldFarming.address.toLowerCase()];
513
- }
514
-
515
- return addresses;
516
- };
517
-
518
- const getFuseHolders = async (addresses: Balances = {}, onlyBalances = false, onlyFailed = false) => {
519
- console.log("getFuseHolders", { onlyBalances, onlyFailed }, Object.keys(addresses).length);
520
- const toFetch = {};
521
-
522
- const step = 1000;
523
- const gdNonArchive = gd.connect(fuseProvider);
524
-
525
- const contracts = [gdNonArchive, gd.connect(fuseGDProvider)];
526
- const latestBlock = FUSE_SNAPSHOT_BLOCK; //await ubiContract.provider.getBlockNumber();
527
- const blocks = range(6400000, latestBlock, step);
528
- const filter = gdNonArchive.filters.Transfer();
529
-
530
- const pool = new PromisePool({ concurrency: 70 });
531
- let addrs;
532
-
533
- let idx = 0;
534
- if (!onlyBalances) {
535
- blocks.forEach(bc => {
536
- pool.add(async () => {
537
- const options = { limit: 20, delay: 2000 };
538
- const retrier = new Retrier(options);
539
- // Query the filter (the latest could be omitted)
540
- const logs = await retrier.resolve(attempt => {
541
- console.log("fetching block transfer logs", { attempt, bc });
542
-
543
- return contracts[idx++ % contracts.length].queryFilter(filter, bc, Math.min(bc + step - 1, latestBlock));
544
- });
545
-
546
- logs.forEach(l => (toFetch[l.args.to.toLowerCase()] = true));
547
- console.log("found Transfer logs in block:", { bc }, logs.length);
548
- });
549
- });
550
-
551
- await pool.all();
552
- addrs = Object.keys(toFetch);
553
- fs.writeFileSync("airdrop/addrs.tmp", JSON.stringify(addrs));
554
- } else {
555
- if (onlyFailed) {
556
- addrs = JSON.parse(fs.readFileSync("airdrop/failed.tmp").toString());
557
- console.log(
558
- "existing failed",
559
- addrs.map(addr => addresses[addr])
560
- );
561
- } else {
562
- addrs = JSON.parse(fs.readFileSync("airdrop/addrs.tmp").toString());
563
- }
564
- }
565
- // for (let blockChunk of chunk(blocks, 30)) {
566
- // // Get the filter (the second null could be omitted)
567
- // const ps = blockChunk.map(async bc => {
568
- // const options = { limit: 10, delay: 2000 };
569
- // const retrier = new Retrier(options);
570
- // // Query the filter (the latest could be omitted)
571
- // const logs = await retrier.resolve(attempt => {
572
- // console.log("fetching block transfer logs", { attempt, bc });
573
- // return gdNonArchive.queryFilter(
574
- // filter,
575
- // bc,
576
- // Math.min(bc + step - 1, latestBlock)
577
- // );
578
- // });
579
-
580
- // logs.forEach(l => (toFetch[l.args.to.toLowerCase()] = true));
581
- // console.log("found Transfer logs in block:", { bc }, logs.length);
582
- // });
583
- // await Promise.all(ps);
584
- // }
585
-
586
- console.log("found G$ holders, fetching balacnes...:", addrs.length);
587
-
588
- let fetched = 0;
589
- const balancesPool = new PromisePool({ concurrency: 10 });
590
-
591
- let failed = [];
592
- for (let addrChunk of chunk(addrs, 50)) {
593
- balancesPool.add(async () => {
594
- const ps = addrChunk.map(async (uAddress: string) => {
595
- const curBalance = onlyFailed ? 0 : get(addresses, `${uAddress}.balance`, 0);
596
- const isNotContract = get(
597
- addresses,
598
- `${uAddress}.isNotContract`,
599
- (await gdNonArchive.provider.getCode(uAddress).catch(e => "0x")) === "0x"
600
- );
601
- const balance = await gd
602
- .balanceOf(uAddress)
603
- .then(_ => _.toNumber(), { blockTag: FUSE_SNAPSHOT_BLOCK })
604
- .catch(e => {
605
- failed.push(uAddress);
606
- return 0;
607
- });
608
-
609
- addresses[uAddress] = updateBalance(addresses[uAddress], {
610
- balance: curBalance + balance,
611
- isNotContract
612
- });
613
- });
614
- await Promise.all(ps);
615
- fetched += addrChunk.length;
616
- console.log("fetched fuse balances:", fetched);
617
- });
618
- }
619
-
620
- await balancesPool.all();
621
- console.log("fuseHolders failed:", failed.length);
622
- if (!onlyFailed) fs.writeFileSync("airdrop/failed.tmp", JSON.stringify(failed));
623
- return addresses;
624
- };
625
-
626
- const getBlockScoutHolders = async (addresses: Balances = {}) => {
627
- let initialUrl = `https://explorer.fuse.io/tokens/${gd.address}/token-holders?type=JSON`;
628
- const pool = new PromisePool({ concurrency: 30 });
629
- const gdNonArchive = gd.connect(fuseProvider);
630
-
631
- let analyzedPages = 0;
632
- let analyzedBalances = 0;
633
- let failedAccounts = [];
634
- let toFetch = [];
635
-
636
- const fetchBalances = async foundBalances => {
637
- const ps = foundBalances
638
- .filter(b => isSystemContract(b[0]) === false)
639
- .map(async b => {
640
- const uAddress = b[0].toLowerCase();
641
- const curBalance = get(addresses, `${uAddress}.balance`, 0);
642
- const isNotContract = get(
643
- addresses,
644
- `${uAddress}.isNotContract`,
645
- (await gdNonArchive.provider.getCode(b[0]).catch(e => "0x")) === "0x"
646
- );
647
- const cleanBalance = await gdNonArchive
648
- .balanceOf(uAddress, { blockTag: FUSE_SNAPSHOT_BLOCK })
649
- .catch(e =>
650
- gd.balanceOf(uAddress, {
651
- blockTag: FUSE_SNAPSHOT_BLOCK
652
- })
653
- )
654
- .then(_ => _.toNumber())
655
- .catch(e => failedAccounts.push(uAddress));
656
- // const cleanBalance = parseFloat(b[3].replace(/[,G$\s]/g, "")) * 100; //in G$ cents
657
- addresses[uAddress] = updateBalance(addresses[uAddress], {
658
- balance: curBalance + cleanBalance,
659
- isNotContract
660
- });
661
- });
662
- await Promise.all(ps);
663
- };
664
-
665
- const analyzeUrl = async url => {
666
- console.log("fetching:", url);
667
- const { items, next_page_path } = await fetch(url).then(_ => _.json());
668
- if (next_page_path) {
669
- let [, path] = next_page_path.match(/\?(.*$)/);
670
- const params = path + "&type=JSON";
671
- let nextUrl = `https://explorer.fuse.io/tokens/${gd.address}/token-holders?${params}`;
672
- pool.add(() => analyzeUrl(nextUrl));
673
- }
674
-
675
- if (items && items.length) {
676
- const foundBalances = items.map(i => i.match(/(0x\w{20,})|([0-9\.,]+ G\$)/g));
677
- analyzedPages++;
678
- analyzedBalances += foundBalances.length;
679
- toFetch = toFetch.concat(foundBalances);
680
- // await fetchBalances(foundBalances);
681
- }
682
- console.log("fetched blockscout url:", {
683
- url,
684
- next_page_path,
685
- analyzedBalances,
686
- analyzedPages
687
- });
688
- };
689
-
690
- pool.add(() => analyzeUrl(initialUrl));
691
- await pool.all();
692
-
693
- console.log("fetching fuse balances....", toFetch.length);
694
- let fetched = 0;
695
- const balancesPool = new PromisePool({ concurrency: 10 });
696
-
697
- for (let addrChunk of chunk(toFetch, 50)) {
698
- balancesPool.add(async () => {
699
- await fetchBalances(addrChunk);
700
- fetched += 500;
701
- console.log("fetched fuse balances:", fetched);
702
- });
703
- }
704
- await balancesPool.all();
705
- console.log("refetching fuse balances failed:", failedAccounts.length);
706
- await fetchBalances(failedAccounts);
707
- };
708
-
709
- const getEthPlorerHolders = async (addresses: Balances = {}) => {
710
- let nextUrl = `https://api.ethplorer.io/getTopTokenHolders/${gdMainnet.address}?limit=1000&apiKey=${ethplorer_key}`;
711
-
712
- const { holders } = await fetch(nextUrl).then(_ => _.json());
713
- console.log("getEthplorerHolders got holders:", { holders });
714
- let failedAccounts = [];
715
-
716
- const _fetchBalances = holders => {
717
- const ps: Array<Promise<any>> = holders
718
- .filter(address => isSystemContract(address) === false)
719
- .map(async address => {
720
- const uAddress = address.toLowerCase();
721
- const cleanBalance = await gdMainnet
722
- .balanceOf(uAddress, { blockTag: ETH_SNAPSHOT_BLOCK })
723
- .catch(e =>
724
- gdMainnet.balanceOf(uAddress, {
725
- blockTag: ETH_SNAPSHOT_BLOCK
726
- })
727
- )
728
- .then(_ => _.toNumber())
729
- .catch(e => failedAccounts.push(uAddress));
730
-
731
- const newBalance = get(addresses, `${uAddress}.balance`, 0) + cleanBalance;
732
- const isNotContract = get(
733
- addresses,
734
- `${uAddress}.isNotContract`,
735
- (await gdMainnet.provider.getCode(uAddress).catch(e => "0x")) === "0x"
736
- );
737
- addresses[uAddress] = updateBalance(addresses[uAddress], {
738
- balance: newBalance,
739
- isNotContract
740
- });
741
- });
742
- return ps;
743
- };
744
- console.log("getEthplorerHolders fetching snapshot balances...");
745
-
746
- await Promise.all(_fetchBalances(holders.map(_ => _.address)));
747
-
748
- console.log("refetching eth balances failed:", failedAccounts.length);
749
- await Promise.all(_fetchBalances(failedAccounts));
750
-
751
- return addresses;
752
- };
753
-
754
- const getClaimsPerAddress = async (balances: Balances = {}, ubiContract = ubi) => {
755
- const ubiFuse = ubiContract.connect(fuseProvider);
756
- const ubiPokt = ubiContract.connect(fusePoktProvider);
757
- const ubiGD = ubiContract.connect(fuseGDProvider);
758
-
759
- const pool = new PromisePool({ concurrency: 50 });
760
- const step = 1000;
761
- const latestBlock = FUSE_SNAPSHOT_BLOCK; //await ubiContract.provider.getBlockNumber();
762
- const blocks = range(ubiContract === ubi ? 6276288 : 9376522, ubiContract === ubi ? 9497482 : latestBlock, step);
763
- const filter = ubiContract.filters.UBIClaimed();
764
- const contracts = [ubiFuse, ubiGD];
765
- let idx = 0;
766
- blocks.forEach(bc => {
767
- pool.add(async () => {
768
- const options = { limit: 20, delay: 2000 };
769
- const retrier = new Retrier(options);
770
- // Query the filter (the latest could be omitted)
771
- const logs = await retrier.resolve(attempt => {
772
- console.log("fetching block ubiclaimed logs", { attempt, bc });
773
-
774
- return contracts[idx++ % contracts.length].queryFilter(filter, bc, Math.min(bc + step - 1, latestBlock));
775
- });
776
-
777
- console.log("found claim logs in block:", { bc }, logs.length);
778
- // Print out all the values:
779
- logs.map(log => {
780
- const uAddress = log.args.from.toLowerCase();
781
- const claims = (get(balances, `${uAddress}.claims`, 0) as number) + 1;
782
- balances[uAddress] = updateBalance(balances[uAddress], {
783
- claims
784
- });
785
- });
786
- });
787
- });
788
- await pool.all();
789
- return balances;
790
- };
791
-
792
- const calcRelativeRep = (balances: Balances) => {
793
- const totalSupply = Object.values(balances).reduce((cur, data) => cur + data.balance, 0);
794
- const totalClaims = Object.values(balances).reduce((cur, data) => cur + (data.claims || 0), 0);
795
-
796
- for (let addr in balances) {
797
- balances[addr].gdRepShare = totalSupply > 0 ? balances[addr].balance / totalSupply : 0;
798
- balances[addr].claimRepShare = totalClaims > 0 ? balances[addr].claims / totalClaims : 0;
799
- }
800
- return { totalSupply, totalClaims, balances };
801
- };
802
-
803
- const collectAirdropData = async (fuseBlock, ethBlock) => {
804
- FUSE_SNAPSHOT_BLOCK = parseInt(fuseBlock || FUSE_SNAPSHOT_BLOCK);
805
- ETH_SNAPSHOT_BLOCK = parseInt(ethBlock || ETH_SNAPSHOT_BLOCK);
806
-
807
- console.log({
808
- FUSE_SNAPSHOT_BLOCK,
809
- ETH_SNAPSHOT_BLOCK,
810
- GD_FUSE,
811
- GD_MAINNET,
812
- DAI
813
- });
814
- const ps = [];
815
-
816
- ps[0] = _timer(
817
- "getFuseSwapBalances",
818
- getFuseSwapBalances("https://graph.fuse.io/subgraphs/name/fuseio/fuseswap", GD_FUSE).then(r =>
819
- fs.writeFileSync("airdrop/fuseswapBalances.json", JSON.stringify(r))
820
- )
821
- );
822
-
823
- ps[1] = _timer(
824
- "getUniswapBalances",
825
- getUniswapBalances().then(r => fs.writeFileSync("airdrop/uniswapBalances.json", JSON.stringify(r)))
826
- );
827
-
828
- ps[2] = _timer(
829
- "getClaimsPerAddress",
830
- getClaimsPerAddress()
831
- .then(r => getClaimsPerAddress(r, ubinew))
832
- .then(r => fs.writeFileSync("airdrop/claimBalances.json", JSON.stringify(r)))
833
- );
834
-
835
- ps[3] = _timer(
836
- "getEthPlorerHolders",
837
- getEthPlorerHolders().then(r => fs.writeFileSync("airdrop/ethBalances.json", JSON.stringify(r)))
838
- );
839
-
840
- // ps[4] = _timer(
841
- // "getBlockScoutHolders",
842
- // getBlockScoutHolders().then(r =>
843
- // fs.writeFileSync("fuseBalances.json", JSON.stringify(r))
844
- // ));
845
-
846
- // const balances = JSON.parse(
847
- // fs.readFileSync("airdrop/fuseBalances.json").toString()
848
- // );
849
- ps[4] = _timer(
850
- "getFuseHolders",
851
- getFuseHolders({}).then(r => fs.writeFileSync("airdrop/fuseBalances.json", JSON.stringify(r)))
852
- );
853
-
854
- ps[5] = _timer(
855
- "getStakersBalance",
856
- getStakersBalance().then(r => fs.writeFileSync("airdrop/stakersBalances.json", JSON.stringify(r)))
857
- );
858
-
859
- await Promise.all(ps);
860
- };
861
-
862
- const buildMerkleTree = () => {
863
- // const files = ["test/testnetBalances.json"].map(f =>
864
- // JSON.parse(fs.readFileSync(f).toString())
865
- // );
866
-
867
- const folder = "airdrop";
868
- const files = [
869
- `${folder}/claimBalances.json`,
870
- `${folder}/ethBalances.json`,
871
- `${folder}/fuseBalances.json`,
872
- `${folder}/uniswapBalances.json`,
873
- `${folder}/fuseswapBalances.json`,
874
- `${folder}/stakersBalances.json`
875
- ].map(f => JSON.parse(fs.readFileSync(f).toString()));
876
-
877
- const merge = (obj1, obj2, key) => {
878
- obj1 = { ...DefaultBalance, ...obj1 };
879
- obj1.claims = get(obj1, "claims", 0) + get(obj2, "claims", 0);
880
- obj1.balance = get(obj1, "balance", 0) + get(obj2, "balance", 0);
881
- obj1.stake = get(obj1, "stake", 0) + get(obj2, "stake", 0);
882
- obj1.stakeRepShare = get(obj1, "stakeRepShare") || get(obj2, "stakeRepShare", 0);
883
- obj1.isNotContract = get(obj1, "isNotContract", get(obj2, "isNotContract"));
884
- return obj1;
885
- };
886
-
887
- const data: Balances = mergeWith(files[0], ...files.slice(1), merge);
888
-
889
- //switch shoppingio wallet
890
- const shoppingio = data["0x2a18975b0bc72e28e09381cae19451aaaf4b771b"];
891
- delete data["0x2a18975b0bc72e28e09381cae19451aaaf4b771b"];
892
- data["0xAA0ded62E992F8FE5Dd184fCa9B468C6060f9683"] = shoppingio;
893
-
894
- let { totalSupply, totalClaims, balances } = calcRelativeRep(data);
895
-
896
- const CLAIMER_REP_ALLOCATION = 48000000;
897
- const HOLDER_REP_ALLOCATION = 24000000;
898
- const STAKER_REP_ALLOCATION = 24000000;
899
-
900
- const ETORO = ["0xf79b804bae955ae4cd8e8b0331c4bc437104804f", "0x61ec01ad0937ebc10d448d259a2bbb1556b61e38"];
901
- const EtoroOfficial = "0x61ec01ad0937ebc10d448d259a2bbb1556b61e38".toLowerCase();
902
- const FoundationOfficial = "0x66582D24FEaD72555adaC681Cc621caCbB208324".toLowerCase();
903
-
904
- const TEAM = [
905
- "0x5AeE2397b39B479B72bcfbDA114512BD3329E5aC",
906
- "0x330a78895b150007d1c00a471202ce0A9df046f2",
907
- "0x642ADC7965938D649192FF634e5Ab40df728b1bB",
908
- "0xA8Eb8eFeAcF45623816Eb2D1B1653BAC4245a358",
909
- "0x18C532F20C3a916b3989fCe4A3C6693F936a16C6",
910
- "0xA5eb500FcD5f85d30b38A84B433F343F100267d9",
911
- "0x9BA0721F9a83A8d90bA52Eaa1799ec08d164B7A0",
912
- "0xEFe1890bE2AAdaDF74FE3EaE72904Bd2FC926A63",
913
- "0xA48840D89a761502A4a7d995c74f3864D651A87F",
914
- "0x884e76001F9A807E0bA3b6d4574539D2FC0fcC4f",
915
- "0x75A57224f7b7380b92B0e04f7358775203058Eb2",
916
- "0xDEb250aDD368b74ebCCd59862D62fa4Fb57E09D4",
917
- "0x18C0416357937cf576e8277e3C3d806095D071B7",
918
- "0x7982D1883d43B2EF4a341fCFffc5e72f9e8D365b",
919
- "0x2CD2645dAe0ebC45642d131E4be1ea9e0Dc28e4A",
920
- "0xdBB617A5E3e21695058Ae4AbfAe4f2793775D3E3",
921
- "0x647481c033A4A2E816175cE115a0804adf793891",
922
- "0x3abdC9ed5f5dE6A74CFeb42a82087C853E160E76"
923
- ].map(_ => _.toLowerCase());
924
-
925
- const eToroRep = ETORO.map(addr => {
926
- const data = balances[addr];
927
- console.log("Found eToro record for redistribution", data);
928
- let rep =
929
- data.claimRepShare * CLAIMER_REP_ALLOCATION +
930
- data.gdRepShare * HOLDER_REP_ALLOCATION +
931
- data.stakeRepShare * STAKER_REP_ALLOCATION;
932
- return rep;
933
- }).reduce((acc, rep) => acc + rep, 0);
934
-
935
- ETORO.forEach(addr => delete balances[addr]);
936
-
937
- let toTree: Array<[string, number, boolean, number, number, number, number]> = Object.entries(balances).map(
938
- ([addr, data]) => {
939
- let rep =
940
- data.claimRepShare * CLAIMER_REP_ALLOCATION +
941
- data.gdRepShare * HOLDER_REP_ALLOCATION +
942
- data.stakeRepShare * STAKER_REP_ALLOCATION;
943
-
944
- return [
945
- addr,
946
- rep,
947
- !data.isNotContract,
948
- data.claimRepShare * CLAIMER_REP_ALLOCATION,
949
- data.gdRepShare * HOLDER_REP_ALLOCATION,
950
- data.stakeRepShare * STAKER_REP_ALLOCATION,
951
- 0
952
- ];
953
- }
954
- );
955
-
956
- //split etoro's rep between team,etoro and foundation
957
- const foundationEtoroRepShare = 8640000;
958
- const teamRepShare = (eToroRep - 8640000 * 2) / TEAM.length;
959
- const foundationRecord = toTree.find(x => x[0] === FoundationOfficial);
960
- foundationRecord[1] += foundationEtoroRepShare;
961
- foundationRecord[6] = foundationEtoroRepShare;
962
- console.log("Foundation updated record:", foundationRecord);
963
-
964
- const etoroRecord: [string, number, boolean, number, number, number, number] = [
965
- EtoroOfficial,
966
- foundationEtoroRepShare,
967
- false,
968
- 0,
969
- 0,
970
- 0,
971
- foundationEtoroRepShare
972
- ];
973
-
974
- console.log("eToro updated record:", etoroRecord);
975
-
976
- toTree.push(etoroRecord);
977
-
978
- TEAM.forEach(addr => {
979
- let record = toTree.find(x => x[0] === addr);
980
- if (!record) {
981
- record = [addr, 0, false, 0, 0, 0, 0];
982
- toTree.push(record);
983
- console.log("added TEAM missing record:", addr);
984
- }
985
- record[1] += teamRepShare;
986
- record[6] = teamRepShare;
987
- console.log("TEAM updated record:", record);
988
- });
989
-
990
- toTree = sortBy(toTree, "1")
991
- .reverse()
992
- .filter(x => x[1] > 0);
993
-
994
- console.log({ toTree });
995
- const topContracts = toTree.filter(_ => _[2] === true);
996
- const totalReputationAirdrop = toTree.reduce((c, a) => c + a[1], 0);
997
- console.log({
998
- topContracts,
999
- totalReputationAirdrop,
1000
- numberOfAccounts: toTree.length,
1001
- totalGDSupply: totalSupply,
1002
- totalClaims
1003
- });
1004
-
1005
- const sorted = toTree.map(_ => _[1]);
1006
- fs.writeFileSync(`${folder}/reptree.json`, JSON.stringify(toTree));
1007
- console.log("Reputation Distribution");
1008
- [0.001, 0.01, 0.1, 0.5].forEach(q =>
1009
- console.log({
1010
- precentile: q * 100 + "%",
1011
- addresses: (sorted.length * q).toFixed(0),
1012
- rep: quantile(sorted, q) / (CLAIMER_REP_ALLOCATION + HOLDER_REP_ALLOCATION + STAKER_REP_ALLOCATION)
1013
- })
1014
- );
1015
-
1016
- const treeData = {};
1017
-
1018
- const elements = toTree.map(e => {
1019
- const repInWei = (e[1] * 1e18)
1020
- .toLocaleString("fullwide", {
1021
- useGrouping: false
1022
- })
1023
- .split(".")[0];
1024
- const hash = ethers.utils.keccak256(
1025
- ethers.utils.defaultAbiCoder.encode(["address", "uint256"], [e[0], repInWei])
1026
- );
1027
- treeData[e[0]] = {
1028
- rep: repInWei,
1029
- hash
1030
- };
1031
- return Buffer.from(hash.slice(2), "hex");
1032
- });
1033
-
1034
- console.log("creating merkletree...", elements.length);
1035
- //NOTICE: we use a non sorted merkletree to save generation time, this requires also a different proof verification algorithm which
1036
- //is not in the default openzeppelin library
1037
-
1038
- const merkleTree = new MerkleTree(elements, true);
1039
- // get the merkle root
1040
- // returns 32 byte buffer
1041
- const merkleRoot = merkleTree.getRoot().toString("hex");
1042
- // generate merkle proof
1043
- // returns array of 32 byte buffers
1044
-
1045
- const proof = merkleTree.getProof(elements[0]).map(_ => _.toString("hex"));
1046
- const validProof = checkProofOrdered(
1047
- proof.map(_ => Buffer.from(_, "hex")),
1048
- merkleTree.getRoot(),
1049
- elements[0],
1050
- 1
1051
- );
1052
-
1053
- const lastProof = merkleTree.getProof(elements[elements.length - 1]).map(_ => _.toString("hex"));
1054
- const lastValidProof = checkProofOrdered(
1055
- lastProof.map(_ => Buffer.from(_, "hex")),
1056
- merkleTree.getRoot(),
1057
- elements[elements.length - 1],
1058
- elements.length
1059
- );
1060
-
1061
- console.log({
1062
- merkleRoot,
1063
- proof,
1064
- validProof,
1065
- lastProof,
1066
- lastValidProof,
1067
- proofFor: toTree[0],
1068
- lastProofFor: toTree[toTree.length - 1]
1069
- });
1070
- fs.writeFileSync(
1071
- `${folder}/airdrop.json`,
1072
- JSON.stringify({
1073
- treeData,
1074
- merkleRoot,
1075
- ETH_SNAPSHOT_BLOCK,
1076
- FUSE_SNAPSHOT_BLOCK
1077
- })
1078
- );
1079
- };
1080
-
1081
- const getProof = addr => {
1082
- const { treeData, merkleRoot } = JSON.parse(
1083
- fs.readFileSync("airdrop/airdrop.json").toString()
1084
- // fs.readFileSync("airdrop/airdropPrev.json").toString()
1085
- );
1086
-
1087
- let entries = Object.entries(treeData as Tree);
1088
- let elements = entries.map(e => Buffer.from(e[1].hash.slice(2), "hex"));
1089
-
1090
- console.log("creating merkletree...", elements.length);
1091
- const merkleTree = new MerkleTree(elements, true);
1092
-
1093
- const calcMerkleRoot = merkleTree.getRoot().toString("hex");
1094
- console.log("merkleroots:", {
1095
- fromFile: merkleRoot,
1096
- calculated: calcMerkleRoot
1097
- });
1098
-
1099
- const addrData = treeData[addr] || treeData[addr.toLowerCase()];
1100
- const proofFor = Buffer.from(addrData.hash.slice(2), "hex");
1101
-
1102
- const proof = merkleTree.getProof(proofFor);
1103
- const proofIndex = entries.findIndex(_ => _[1].hash === addrData.hash) + 1;
1104
-
1105
- console.log("checkProof:", checkProofOrdered(proof, merkleTree.getRoot(), proofFor, proofIndex));
1106
- const hexProof = proof.map(_ => "0x" + _.toString("hex"));
1107
- console.log({ proofIndex, proof: hexProof, [addr]: addrData });
1108
- };
1109
-
1110
- return { buildMerkleTree, collectAirdropData, getProof };
1111
- };
1112
-
1113
- const _timer = async (name, promise) => {
1114
- const start = Date.now();
1115
- const res = await promise;
1116
- const milis = Date.now() - start;
1117
- console.log(`done task ${name} in ${milis / 1000} seconds`);
1118
- return res;
1119
- };