@gooddollar/goodprotocol 1.0.28 → 1.0.29-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/artifacts/abis/BulkProof.min.json +1 -1
  2. package/artifacts/abis/DistributionBridgeMock.min.json +1 -0
  3. package/artifacts/abis/DistributionHelper.min.json +1 -0
  4. package/artifacts/abis/DistributionHelperTest.min.json +1 -0
  5. package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -0
  6. package/artifacts/abis/ERC20.min.json +1 -1
  7. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -0
  8. package/artifacts/abis/GoodDollarStaking.min.json +1 -0
  9. package/artifacts/abis/GoodDollarStakingMock.min.json +1 -0
  10. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  11. package/artifacts/abis/IERC2917.min.json +1 -1
  12. package/artifacts/abis/IGoodDollarStakingTest.min.json +1 -0
  13. package/artifacts/abis/IMultichainRouter.min.json +1 -0
  14. package/artifacts/abis/IRouter.min.json +1 -0
  15. package/artifacts/abis/IWrapper.min.json +1 -0
  16. package/artifacts/abis/Math64x64.min.json +1 -0
  17. package/artifacts/abis/MultichainBridgeHelper.min.json +1 -0
  18. package/artifacts/abis/MultichainRouterMock.min.json +1 -0
  19. package/artifacts/abis/OverMintTester.min.json +1 -1
  20. package/artifacts/abis/PausableControl.min.json +1 -0
  21. package/artifacts/abis/RewardsMinter.min.json +1 -0
  22. package/artifacts/abis/StakingMockFixedAPY.min.json +1 -0
  23. package/artifacts/abis/StakingRewardsFixedAPY.min.json +1 -0
  24. package/artifacts/abis/TokenOperation.min.json +1 -0
  25. package/artifacts/abis/cERC20.min.json +1 -1
  26. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  27. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  28. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  29. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  30. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  31. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/ERC20.json +13 -0
  35. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/IERC2917.json +13 -0
  40. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  41. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  42. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  43. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  44. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  45. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  46. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +4 -0
  47. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.json +67 -0
  48. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  49. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  50. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  51. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  52. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  53. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  54. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  55. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  56. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  57. package/artifacts/contracts/Interfaces.sol/cERC20.json +13 -0
  58. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  59. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
  60. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  61. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  62. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  63. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  64. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  65. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  66. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +4 -0
  67. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +1322 -0
  68. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +4 -0
  69. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.json +35 -0
  70. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  71. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  72. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  73. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  74. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  75. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  77. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  78. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  79. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +4 -0
  83. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +152 -0
  84. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +4 -0
  85. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +662 -0
  86. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +4 -0
  87. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +680 -0
  88. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  90. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +4 -0
  91. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +1322 -0
  92. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  94. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +4 -0
  97. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.json +59 -0
  98. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +4 -0
  99. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +81 -0
  100. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +4 -0
  101. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.json +49 -0
  102. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +4 -4
  104. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  106. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +4 -0
  108. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +682 -0
  109. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  111. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  114. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  115. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  116. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  117. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  118. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  119. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  120. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  121. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  122. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  123. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  124. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  125. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  126. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  127. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  128. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +4 -0
  129. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +662 -0
  130. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  131. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  132. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  133. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  134. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  135. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  136. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +75 -35
  137. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  138. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  139. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  140. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  141. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  142. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  143. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  144. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  145. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  146. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  147. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  148. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  149. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  150. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  151. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  152. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  153. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  154. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  155. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  156. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  157. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  158. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  159. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  160. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  161. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  162. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  163. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  164. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  165. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +4 -0
  166. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +10 -0
  167. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +4 -0
  168. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.json +268 -0
  169. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  170. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  171. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  172. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +2 -2
  173. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  174. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  175. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +3 -34
  176. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  177. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  178. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  179. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  180. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  181. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  182. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +4 -0
  183. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +1263 -0
  184. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +4 -0
  185. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.json +59 -0
  186. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +4 -0
  187. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.json +69 -0
  188. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +4 -0
  189. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +10 -0
  190. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +4 -0
  191. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +79 -0
  192. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  193. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  194. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  195. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  196. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  197. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  198. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  199. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  200. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  201. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  202. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  203. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  204. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  205. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  206. package/contracts/Interfaces.sol +20 -0
  207. package/contracts/governance/GoodDollarStaking.sol +510 -0
  208. package/contracts/governance/MultiBaseGovernanceShareField.sol +1 -0
  209. package/contracts/mocks/DistributionBridgeMock.sol +50 -0
  210. package/contracts/mocks/DistributionHelperTest.sol +22 -0
  211. package/contracts/mocks/GoodDollarStakingMock.sol +24 -0
  212. package/contracts/mocks/MultichainRouterMock.sol +38 -0
  213. package/contracts/mocks/OverMintTester.sol +39 -25
  214. package/contracts/mocks/StakingMockFixedAPY.sol +78 -0
  215. package/contracts/reserve/DistributionHelper.sol +142 -0
  216. package/contracts/reserve/GoodReserveCDai.sol +95 -41
  217. package/contracts/staking/utils/Math64X64.sol +268 -0
  218. package/contracts/staking/utils/StakingRewardsFixedAPY.sol +336 -0
  219. package/contracts/utils/BulkProof.sol +10 -10
  220. package/contracts/utils/GoodDollarMintBurnWrapper.sol +638 -0
  221. package/contracts/utils/MultichainBridgeHelper.sol +39 -0
  222. package/hardhat.config.ts +5 -3
  223. package/package.json +7 -4
  224. package/patches/@openzeppelin+hardhat-upgrades+1.7.0.patch.depracate +67 -0
  225. package/releases/deployment.json +10 -3
  226. package/releases/olddao.json +1 -1
  227. package/scripts/analytics/activeUsersCount.ts +65 -0
  228. package/scripts/analytics/activeWalletsStats.ts +150 -0
  229. package/scripts/analytics/claimIncidentStats.ts +117 -0
  230. package/scripts/analytics/faucetStats.ts +103 -0
  231. package/scripts/analytics/goodHolders.ts +50 -0
  232. package/scripts/{misc → analytics}/goodgiveback.ts +0 -0
  233. package/scripts/governance/airdropCalculation.ts +1 -0
  234. package/scripts/multichain-deploy/basicdao-deploy.ts +20 -5
  235. package/scripts/multichain-deploy/gdSavings-deploy.ts +232 -0
  236. package/scripts/multichain-deploy/helpers.ts +73 -8
  237. package/scripts/multichain-deploy/multichainWrapper-deploy.ts +56 -0
  238. package/scripts/multichain-deploy/nonubiDistribution-deploy.ts +170 -0
  239. package/scripts/voltageswaps.ts +47 -0
  240. package/test/governance/ClaimersDistribution.test.ts +1 -1
  241. package/test/governance/GoodDollarStaking.gd.test.ts +559 -0
  242. package/test/governance/GoodDollarStaking.good.test.ts +998 -0
  243. package/test/governance/GovernanceStaking.test.ts +43 -0
  244. package/test/helpers.ts +9 -12
  245. package/test/reserve/DistributionHelper.test.ts +394 -0
  246. package/test/reserve/GoodReserveCDai.distribution.test.ts +296 -0
  247. package/test/reserve/GoodReserveCDai.gdx.test.ts +21 -16
  248. package/test/reserve/GoodReserveCDai.pause.test.ts +116 -0
  249. package/test/staking/StakingRewardsFixedAPY.test.ts +900 -0
  250. package/test/utils/AdminWallet.test.ts +35 -6
  251. package/test/utils/GoodDollarMintBurnWrapper.test.ts +796 -0
  252. package/tsconfig.json +4 -9
  253. package/types/AccessControl.ts +361 -0
  254. package/types/CERC20.ts +25 -0
  255. package/types/DistributionBridgeMock.ts +251 -0
  256. package/types/DistributionHelper.ts +908 -0
  257. package/types/DistributionHelperTest.ts +909 -0
  258. package/types/DistributionHelperTestHelper.ts +945 -0
  259. package/types/ERC165.ts +104 -0
  260. package/types/ERC20.ts +101 -49
  261. package/types/GoodDollarMintBurnWrapper.ts +1806 -0
  262. package/types/GoodDollarStaking.ts +1855 -0
  263. package/types/GoodDollarStakingMock.ts +1855 -0
  264. package/types/GoodReserveCDai.ts +90 -55
  265. package/types/IAccessControl.ts +306 -0
  266. package/types/IERC165.ts +104 -0
  267. package/types/IERC20.ts +300 -0
  268. package/types/IERC20Metadata.ts +339 -0
  269. package/types/IERC2917.ts +25 -0
  270. package/types/IGoodDollarStakingTest.ts +160 -0
  271. package/types/IMultichainRouter.ts +166 -0
  272. package/types/IRouter.ts +143 -0
  273. package/types/IWrapper.ts +143 -0
  274. package/types/MultichainBridgeHelper.ts +170 -0
  275. package/types/MultichainRouterMock.ts +141 -0
  276. package/types/Pausable.ts +103 -0
  277. package/types/PausableControl.ts +125 -0
  278. package/types/{BulkProof.ts → RewardsMinter.ts} +24 -28
  279. package/types/StakingMockFixedAPY.ts +995 -0
  280. package/types/StakingRewardsFixedAPY.ts +428 -0
  281. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  282. package/types/factories/AccessControl__factory.ts +227 -0
  283. package/types/factories/AdminWallet__factory.ts +1 -1
  284. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  285. package/types/factories/BaseShareField__factory.ts +1 -1
  286. package/types/factories/CERC20__factory.ts +13 -0
  287. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  288. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  289. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  290. package/types/factories/DAOContract__factory.ts +1 -1
  291. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  292. package/types/factories/DistributionBridgeMock__factory.ts +207 -0
  293. package/types/factories/DistributionHelperTestHelper__factory.ts +737 -0
  294. package/types/factories/DistributionHelperTest__factory.ts +717 -0
  295. package/types/factories/DistributionHelper__factory.ts +713 -0
  296. package/types/factories/DonationsStaking__factory.ts +1 -1
  297. package/types/factories/ERC165__factory.ts +39 -0
  298. package/types/factories/ERC20__factory.ts +13 -0
  299. package/types/factories/ExchangeHelper__factory.ts +1 -1
  300. package/types/factories/FuseFaucet__factory.ts +1 -1
  301. package/types/factories/FuseStakingV3__factory.ts +1 -1
  302. package/types/factories/GReputation__factory.ts +1 -1
  303. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  304. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  305. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  306. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  307. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  308. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1318 -0
  309. package/types/factories/GoodDollarStakingMock__factory.ts +1404 -0
  310. package/types/factories/GoodDollarStaking__factory.ts +1400 -0
  311. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  312. package/types/factories/GoodFundManager__factory.ts +1 -1
  313. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  314. package/types/factories/GoodReserveCDai__factory.ts +74 -34
  315. package/types/factories/GovernanceStaking__factory.ts +1 -1
  316. package/types/factories/IAccessControl__factory.ts +198 -0
  317. package/types/factories/IERC165__factory.ts +42 -0
  318. package/types/factories/IERC20Metadata__factory.ts +248 -0
  319. package/types/factories/IERC20__factory.ts +203 -0
  320. package/types/factories/IERC2917__factory.ts +13 -0
  321. package/types/factories/IGoodDollarStakingTest__factory.ts +68 -0
  322. package/types/factories/IMultichainRouter__factory.ts +82 -0
  323. package/types/factories/IRouter__factory.ts +71 -0
  324. package/types/factories/IWrapper__factory.ts +71 -0
  325. package/types/factories/InvitesV1__factory.ts +1 -1
  326. package/types/factories/MultichainBridgeHelper__factory.ts +134 -0
  327. package/types/factories/MultichainRouterMock__factory.ts +141 -0
  328. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  329. package/types/factories/OverMintTester__factory.ts +3 -3
  330. package/types/factories/PausableControl__factory.ts +84 -0
  331. package/types/factories/Pausable__factory.ts +62 -0
  332. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  333. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  334. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  335. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  336. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  337. package/types/factories/Reputation__factory.ts +1 -1
  338. package/types/factories/RewardsMinter__factory.ts +47 -0
  339. package/types/factories/StakersDistribution__factory.ts +1 -1
  340. package/types/factories/StakingMockFixedAPY__factory.ts +745 -0
  341. package/types/factories/StakingRewardsFixedAPY__factory.ts +287 -0
  342. package/types/factories/SwapHelperTest__factory.ts +1 -1
  343. package/types/factories/UBIScheme__factory.ts +1 -1
  344. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  345. package/types/factories/UpgradableMock2__factory.ts +1 -1
  346. package/types/factories/UpgradableMock3__factory.ts +1 -1
  347. package/types/factories/UpgradableMock4__factory.ts +1 -1
  348. package/types/factories/UpgradableMock__factory.ts +1 -1
  349. package/types/hardhat.d.ts +225 -9
  350. package/types/index.ts +50 -4
  351. package/yarn.lock +180 -104
  352. package/types/factories/BulkProof__factory.ts +0 -89
@@ -0,0 +1,909 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ ethers,
7
+ EventFilter,
8
+ Signer,
9
+ BigNumber,
10
+ BigNumberish,
11
+ PopulatedTransaction,
12
+ BaseContract,
13
+ ContractTransaction,
14
+ Overrides,
15
+ PayableOverrides,
16
+ CallOverrides,
17
+ } from "ethers";
18
+ import { BytesLike } from "@ethersproject/bytes";
19
+ import { Listener, Provider } from "@ethersproject/providers";
20
+ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
21
+ import type {
22
+ TypedEventFilter,
23
+ TypedEvent,
24
+ TypedListener,
25
+ OnEvent,
26
+ } from "./common";
27
+
28
+ export type DistributionRecipientStruct = {
29
+ bps: BigNumberish;
30
+ chainId: BigNumberish;
31
+ addr: string;
32
+ transferType: BigNumberish;
33
+ };
34
+
35
+ export type DistributionRecipientStructOutput = [
36
+ number,
37
+ number,
38
+ string,
39
+ number
40
+ ] & { bps: number; chainId: number; addr: string; transferType: number };
41
+
42
+ export interface DistributionHelperTestInterface
43
+ extends ethers.utils.Interface {
44
+ functions: {
45
+ "DEFAULT_ADMIN_ROLE()": FunctionFragment;
46
+ "addOrUpdateRecipient((uint32,uint32,address,uint8))": FunctionFragment;
47
+ "anyGoodDollar()": FunctionFragment;
48
+ "avatar()": FunctionFragment;
49
+ "dao()": FunctionFragment;
50
+ "distributionRecipients(uint256)": FunctionFragment;
51
+ "fuseBridge()": FunctionFragment;
52
+ "getRoleAdmin(bytes32)": FunctionFragment;
53
+ "getRoleMember(bytes32,uint256)": FunctionFragment;
54
+ "getRoleMemberCount(bytes32)": FunctionFragment;
55
+ "grantRole(bytes32,address)": FunctionFragment;
56
+ "hasRole(bytes32,address)": FunctionFragment;
57
+ "initialize(address)": FunctionFragment;
58
+ "multiChainBridge()": FunctionFragment;
59
+ "nameService()": FunctionFragment;
60
+ "nativeToken()": FunctionFragment;
61
+ "onDistribution(uint256)": FunctionFragment;
62
+ "renounceRole(bytes32,address)": FunctionFragment;
63
+ "revokeRole(bytes32,address)": FunctionFragment;
64
+ "supportsInterface(bytes4)": FunctionFragment;
65
+ "updateAvatar()": FunctionFragment;
66
+ "upgradeTo(address)": FunctionFragment;
67
+ "upgradeToAndCall(address,bytes)": FunctionFragment;
68
+ };
69
+
70
+ encodeFunctionData(
71
+ functionFragment: "DEFAULT_ADMIN_ROLE",
72
+ values?: undefined
73
+ ): string;
74
+ encodeFunctionData(
75
+ functionFragment: "addOrUpdateRecipient",
76
+ values: [DistributionRecipientStruct]
77
+ ): string;
78
+ encodeFunctionData(
79
+ functionFragment: "anyGoodDollar",
80
+ values?: undefined
81
+ ): string;
82
+ encodeFunctionData(functionFragment: "avatar", values?: undefined): string;
83
+ encodeFunctionData(functionFragment: "dao", values?: undefined): string;
84
+ encodeFunctionData(
85
+ functionFragment: "distributionRecipients",
86
+ values: [BigNumberish]
87
+ ): string;
88
+ encodeFunctionData(
89
+ functionFragment: "fuseBridge",
90
+ values?: undefined
91
+ ): string;
92
+ encodeFunctionData(
93
+ functionFragment: "getRoleAdmin",
94
+ values: [BytesLike]
95
+ ): string;
96
+ encodeFunctionData(
97
+ functionFragment: "getRoleMember",
98
+ values: [BytesLike, BigNumberish]
99
+ ): string;
100
+ encodeFunctionData(
101
+ functionFragment: "getRoleMemberCount",
102
+ values: [BytesLike]
103
+ ): string;
104
+ encodeFunctionData(
105
+ functionFragment: "grantRole",
106
+ values: [BytesLike, string]
107
+ ): string;
108
+ encodeFunctionData(
109
+ functionFragment: "hasRole",
110
+ values: [BytesLike, string]
111
+ ): string;
112
+ encodeFunctionData(functionFragment: "initialize", values: [string]): string;
113
+ encodeFunctionData(
114
+ functionFragment: "multiChainBridge",
115
+ values?: undefined
116
+ ): string;
117
+ encodeFunctionData(
118
+ functionFragment: "nameService",
119
+ values?: undefined
120
+ ): string;
121
+ encodeFunctionData(
122
+ functionFragment: "nativeToken",
123
+ values?: undefined
124
+ ): string;
125
+ encodeFunctionData(
126
+ functionFragment: "onDistribution",
127
+ values: [BigNumberish]
128
+ ): string;
129
+ encodeFunctionData(
130
+ functionFragment: "renounceRole",
131
+ values: [BytesLike, string]
132
+ ): string;
133
+ encodeFunctionData(
134
+ functionFragment: "revokeRole",
135
+ values: [BytesLike, string]
136
+ ): string;
137
+ encodeFunctionData(
138
+ functionFragment: "supportsInterface",
139
+ values: [BytesLike]
140
+ ): string;
141
+ encodeFunctionData(
142
+ functionFragment: "updateAvatar",
143
+ values?: undefined
144
+ ): string;
145
+ encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
146
+ encodeFunctionData(
147
+ functionFragment: "upgradeToAndCall",
148
+ values: [string, BytesLike]
149
+ ): string;
150
+
151
+ decodeFunctionResult(
152
+ functionFragment: "DEFAULT_ADMIN_ROLE",
153
+ data: BytesLike
154
+ ): Result;
155
+ decodeFunctionResult(
156
+ functionFragment: "addOrUpdateRecipient",
157
+ data: BytesLike
158
+ ): Result;
159
+ decodeFunctionResult(
160
+ functionFragment: "anyGoodDollar",
161
+ data: BytesLike
162
+ ): Result;
163
+ decodeFunctionResult(functionFragment: "avatar", data: BytesLike): Result;
164
+ decodeFunctionResult(functionFragment: "dao", data: BytesLike): Result;
165
+ decodeFunctionResult(
166
+ functionFragment: "distributionRecipients",
167
+ data: BytesLike
168
+ ): Result;
169
+ decodeFunctionResult(functionFragment: "fuseBridge", data: BytesLike): Result;
170
+ decodeFunctionResult(
171
+ functionFragment: "getRoleAdmin",
172
+ data: BytesLike
173
+ ): Result;
174
+ decodeFunctionResult(
175
+ functionFragment: "getRoleMember",
176
+ data: BytesLike
177
+ ): Result;
178
+ decodeFunctionResult(
179
+ functionFragment: "getRoleMemberCount",
180
+ data: BytesLike
181
+ ): Result;
182
+ decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
183
+ decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
184
+ decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
185
+ decodeFunctionResult(
186
+ functionFragment: "multiChainBridge",
187
+ data: BytesLike
188
+ ): Result;
189
+ decodeFunctionResult(
190
+ functionFragment: "nameService",
191
+ data: BytesLike
192
+ ): Result;
193
+ decodeFunctionResult(
194
+ functionFragment: "nativeToken",
195
+ data: BytesLike
196
+ ): Result;
197
+ decodeFunctionResult(
198
+ functionFragment: "onDistribution",
199
+ data: BytesLike
200
+ ): Result;
201
+ decodeFunctionResult(
202
+ functionFragment: "renounceRole",
203
+ data: BytesLike
204
+ ): Result;
205
+ decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
206
+ decodeFunctionResult(
207
+ functionFragment: "supportsInterface",
208
+ data: BytesLike
209
+ ): Result;
210
+ decodeFunctionResult(
211
+ functionFragment: "updateAvatar",
212
+ data: BytesLike
213
+ ): Result;
214
+ decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
215
+ decodeFunctionResult(
216
+ functionFragment: "upgradeToAndCall",
217
+ data: BytesLike
218
+ ): Result;
219
+
220
+ events: {
221
+ "AdminChanged(address,address)": EventFragment;
222
+ "BeaconUpgraded(address)": EventFragment;
223
+ "Distribution(uint256,uint256,uint256,tuple[])": EventFragment;
224
+ "RecipientAdded(tuple,uint256)": EventFragment;
225
+ "RecipientUpdated(tuple,uint256)": EventFragment;
226
+ "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
227
+ "RoleGranted(bytes32,address,address)": EventFragment;
228
+ "RoleRevoked(bytes32,address,address)": EventFragment;
229
+ "Upgraded(address)": EventFragment;
230
+ };
231
+
232
+ getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
233
+ getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
234
+ getEvent(nameOrSignatureOrTopic: "Distribution"): EventFragment;
235
+ getEvent(nameOrSignatureOrTopic: "RecipientAdded"): EventFragment;
236
+ getEvent(nameOrSignatureOrTopic: "RecipientUpdated"): EventFragment;
237
+ getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
238
+ getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
239
+ getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
240
+ getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;
241
+ }
242
+
243
+ export type AdminChangedEvent = TypedEvent<
244
+ [string, string],
245
+ { previousAdmin: string; newAdmin: string }
246
+ >;
247
+
248
+ export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
249
+
250
+ export type BeaconUpgradedEvent = TypedEvent<[string], { beacon: string }>;
251
+
252
+ export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
253
+
254
+ export type DistributionEvent = TypedEvent<
255
+ [BigNumber, BigNumber, BigNumber, DistributionRecipientStructOutput[]],
256
+ {
257
+ distributed: BigNumber;
258
+ startingBalance: BigNumber;
259
+ incomingAmount: BigNumber;
260
+ distributionRecipients: DistributionRecipientStructOutput[];
261
+ }
262
+ >;
263
+
264
+ export type DistributionEventFilter = TypedEventFilter<DistributionEvent>;
265
+
266
+ export type RecipientAddedEvent = TypedEvent<
267
+ [DistributionRecipientStructOutput, BigNumber],
268
+ { recipient: DistributionRecipientStructOutput; index: BigNumber }
269
+ >;
270
+
271
+ export type RecipientAddedEventFilter = TypedEventFilter<RecipientAddedEvent>;
272
+
273
+ export type RecipientUpdatedEvent = TypedEvent<
274
+ [DistributionRecipientStructOutput, BigNumber],
275
+ { recipient: DistributionRecipientStructOutput; index: BigNumber }
276
+ >;
277
+
278
+ export type RecipientUpdatedEventFilter =
279
+ TypedEventFilter<RecipientUpdatedEvent>;
280
+
281
+ export type RoleAdminChangedEvent = TypedEvent<
282
+ [string, string, string],
283
+ { role: string; previousAdminRole: string; newAdminRole: string }
284
+ >;
285
+
286
+ export type RoleAdminChangedEventFilter =
287
+ TypedEventFilter<RoleAdminChangedEvent>;
288
+
289
+ export type RoleGrantedEvent = TypedEvent<
290
+ [string, string, string],
291
+ { role: string; account: string; sender: string }
292
+ >;
293
+
294
+ export type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
295
+
296
+ export type RoleRevokedEvent = TypedEvent<
297
+ [string, string, string],
298
+ { role: string; account: string; sender: string }
299
+ >;
300
+
301
+ export type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
302
+
303
+ export type UpgradedEvent = TypedEvent<[string], { implementation: string }>;
304
+
305
+ export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
306
+
307
+ export interface DistributionHelperTest extends BaseContract {
308
+ connect(signerOrProvider: Signer | Provider | string): this;
309
+ attach(addressOrName: string): this;
310
+ deployed(): Promise<this>;
311
+
312
+ interface: DistributionHelperTestInterface;
313
+
314
+ queryFilter<TEvent extends TypedEvent>(
315
+ event: TypedEventFilter<TEvent>,
316
+ fromBlockOrBlockhash?: string | number | undefined,
317
+ toBlock?: string | number | undefined
318
+ ): Promise<Array<TEvent>>;
319
+
320
+ listeners<TEvent extends TypedEvent>(
321
+ eventFilter?: TypedEventFilter<TEvent>
322
+ ): Array<TypedListener<TEvent>>;
323
+ listeners(eventName?: string): Array<Listener>;
324
+ removeAllListeners<TEvent extends TypedEvent>(
325
+ eventFilter: TypedEventFilter<TEvent>
326
+ ): this;
327
+ removeAllListeners(eventName?: string): this;
328
+ off: OnEvent<this>;
329
+ on: OnEvent<this>;
330
+ once: OnEvent<this>;
331
+ removeListener: OnEvent<this>;
332
+
333
+ functions: {
334
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
335
+
336
+ addOrUpdateRecipient(
337
+ _recipient: DistributionRecipientStruct,
338
+ overrides?: Overrides & { from?: string | Promise<string> }
339
+ ): Promise<ContractTransaction>;
340
+
341
+ anyGoodDollar(overrides?: CallOverrides): Promise<[string]>;
342
+
343
+ avatar(overrides?: CallOverrides): Promise<[string]>;
344
+
345
+ dao(overrides?: CallOverrides): Promise<[string]>;
346
+
347
+ distributionRecipients(
348
+ arg0: BigNumberish,
349
+ overrides?: CallOverrides
350
+ ): Promise<
351
+ [number, number, string, number] & {
352
+ bps: number;
353
+ chainId: number;
354
+ addr: string;
355
+ transferType: number;
356
+ }
357
+ >;
358
+
359
+ fuseBridge(overrides?: CallOverrides): Promise<[string]>;
360
+
361
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
362
+
363
+ getRoleMember(
364
+ role: BytesLike,
365
+ index: BigNumberish,
366
+ overrides?: CallOverrides
367
+ ): Promise<[string]>;
368
+
369
+ getRoleMemberCount(
370
+ role: BytesLike,
371
+ overrides?: CallOverrides
372
+ ): Promise<[BigNumber]>;
373
+
374
+ grantRole(
375
+ role: BytesLike,
376
+ account: string,
377
+ overrides?: Overrides & { from?: string | Promise<string> }
378
+ ): Promise<ContractTransaction>;
379
+
380
+ hasRole(
381
+ role: BytesLike,
382
+ account: string,
383
+ overrides?: CallOverrides
384
+ ): Promise<[boolean]>;
385
+
386
+ initialize(
387
+ _ns: string,
388
+ overrides?: Overrides & { from?: string | Promise<string> }
389
+ ): Promise<ContractTransaction>;
390
+
391
+ multiChainBridge(overrides?: CallOverrides): Promise<[string]>;
392
+
393
+ nameService(overrides?: CallOverrides): Promise<[string]>;
394
+
395
+ nativeToken(overrides?: CallOverrides): Promise<[string]>;
396
+
397
+ onDistribution(
398
+ _amount: BigNumberish,
399
+ overrides?: Overrides & { from?: string | Promise<string> }
400
+ ): Promise<ContractTransaction>;
401
+
402
+ renounceRole(
403
+ role: BytesLike,
404
+ account: string,
405
+ overrides?: Overrides & { from?: string | Promise<string> }
406
+ ): Promise<ContractTransaction>;
407
+
408
+ revokeRole(
409
+ role: BytesLike,
410
+ account: string,
411
+ overrides?: Overrides & { from?: string | Promise<string> }
412
+ ): Promise<ContractTransaction>;
413
+
414
+ supportsInterface(
415
+ interfaceId: BytesLike,
416
+ overrides?: CallOverrides
417
+ ): Promise<[boolean]>;
418
+
419
+ updateAvatar(
420
+ overrides?: Overrides & { from?: string | Promise<string> }
421
+ ): Promise<ContractTransaction>;
422
+
423
+ upgradeTo(
424
+ newImplementation: string,
425
+ overrides?: Overrides & { from?: string | Promise<string> }
426
+ ): Promise<ContractTransaction>;
427
+
428
+ upgradeToAndCall(
429
+ newImplementation: string,
430
+ data: BytesLike,
431
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
432
+ ): Promise<ContractTransaction>;
433
+ };
434
+
435
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
436
+
437
+ addOrUpdateRecipient(
438
+ _recipient: DistributionRecipientStruct,
439
+ overrides?: Overrides & { from?: string | Promise<string> }
440
+ ): Promise<ContractTransaction>;
441
+
442
+ anyGoodDollar(overrides?: CallOverrides): Promise<string>;
443
+
444
+ avatar(overrides?: CallOverrides): Promise<string>;
445
+
446
+ dao(overrides?: CallOverrides): Promise<string>;
447
+
448
+ distributionRecipients(
449
+ arg0: BigNumberish,
450
+ overrides?: CallOverrides
451
+ ): Promise<
452
+ [number, number, string, number] & {
453
+ bps: number;
454
+ chainId: number;
455
+ addr: string;
456
+ transferType: number;
457
+ }
458
+ >;
459
+
460
+ fuseBridge(overrides?: CallOverrides): Promise<string>;
461
+
462
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
463
+
464
+ getRoleMember(
465
+ role: BytesLike,
466
+ index: BigNumberish,
467
+ overrides?: CallOverrides
468
+ ): Promise<string>;
469
+
470
+ getRoleMemberCount(
471
+ role: BytesLike,
472
+ overrides?: CallOverrides
473
+ ): Promise<BigNumber>;
474
+
475
+ grantRole(
476
+ role: BytesLike,
477
+ account: string,
478
+ overrides?: Overrides & { from?: string | Promise<string> }
479
+ ): Promise<ContractTransaction>;
480
+
481
+ hasRole(
482
+ role: BytesLike,
483
+ account: string,
484
+ overrides?: CallOverrides
485
+ ): Promise<boolean>;
486
+
487
+ initialize(
488
+ _ns: string,
489
+ overrides?: Overrides & { from?: string | Promise<string> }
490
+ ): Promise<ContractTransaction>;
491
+
492
+ multiChainBridge(overrides?: CallOverrides): Promise<string>;
493
+
494
+ nameService(overrides?: CallOverrides): Promise<string>;
495
+
496
+ nativeToken(overrides?: CallOverrides): Promise<string>;
497
+
498
+ onDistribution(
499
+ _amount: BigNumberish,
500
+ overrides?: Overrides & { from?: string | Promise<string> }
501
+ ): Promise<ContractTransaction>;
502
+
503
+ renounceRole(
504
+ role: BytesLike,
505
+ account: string,
506
+ overrides?: Overrides & { from?: string | Promise<string> }
507
+ ): Promise<ContractTransaction>;
508
+
509
+ revokeRole(
510
+ role: BytesLike,
511
+ account: string,
512
+ overrides?: Overrides & { from?: string | Promise<string> }
513
+ ): Promise<ContractTransaction>;
514
+
515
+ supportsInterface(
516
+ interfaceId: BytesLike,
517
+ overrides?: CallOverrides
518
+ ): Promise<boolean>;
519
+
520
+ updateAvatar(
521
+ overrides?: Overrides & { from?: string | Promise<string> }
522
+ ): Promise<ContractTransaction>;
523
+
524
+ upgradeTo(
525
+ newImplementation: string,
526
+ overrides?: Overrides & { from?: string | Promise<string> }
527
+ ): Promise<ContractTransaction>;
528
+
529
+ upgradeToAndCall(
530
+ newImplementation: string,
531
+ data: BytesLike,
532
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
533
+ ): Promise<ContractTransaction>;
534
+
535
+ callStatic: {
536
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
537
+
538
+ addOrUpdateRecipient(
539
+ _recipient: DistributionRecipientStruct,
540
+ overrides?: CallOverrides
541
+ ): Promise<void>;
542
+
543
+ anyGoodDollar(overrides?: CallOverrides): Promise<string>;
544
+
545
+ avatar(overrides?: CallOverrides): Promise<string>;
546
+
547
+ dao(overrides?: CallOverrides): Promise<string>;
548
+
549
+ distributionRecipients(
550
+ arg0: BigNumberish,
551
+ overrides?: CallOverrides
552
+ ): Promise<
553
+ [number, number, string, number] & {
554
+ bps: number;
555
+ chainId: number;
556
+ addr: string;
557
+ transferType: number;
558
+ }
559
+ >;
560
+
561
+ fuseBridge(overrides?: CallOverrides): Promise<string>;
562
+
563
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
564
+
565
+ getRoleMember(
566
+ role: BytesLike,
567
+ index: BigNumberish,
568
+ overrides?: CallOverrides
569
+ ): Promise<string>;
570
+
571
+ getRoleMemberCount(
572
+ role: BytesLike,
573
+ overrides?: CallOverrides
574
+ ): Promise<BigNumber>;
575
+
576
+ grantRole(
577
+ role: BytesLike,
578
+ account: string,
579
+ overrides?: CallOverrides
580
+ ): Promise<void>;
581
+
582
+ hasRole(
583
+ role: BytesLike,
584
+ account: string,
585
+ overrides?: CallOverrides
586
+ ): Promise<boolean>;
587
+
588
+ initialize(_ns: string, overrides?: CallOverrides): Promise<void>;
589
+
590
+ multiChainBridge(overrides?: CallOverrides): Promise<string>;
591
+
592
+ nameService(overrides?: CallOverrides): Promise<string>;
593
+
594
+ nativeToken(overrides?: CallOverrides): Promise<string>;
595
+
596
+ onDistribution(
597
+ _amount: BigNumberish,
598
+ overrides?: CallOverrides
599
+ ): Promise<void>;
600
+
601
+ renounceRole(
602
+ role: BytesLike,
603
+ account: string,
604
+ overrides?: CallOverrides
605
+ ): Promise<void>;
606
+
607
+ revokeRole(
608
+ role: BytesLike,
609
+ account: string,
610
+ overrides?: CallOverrides
611
+ ): Promise<void>;
612
+
613
+ supportsInterface(
614
+ interfaceId: BytesLike,
615
+ overrides?: CallOverrides
616
+ ): Promise<boolean>;
617
+
618
+ updateAvatar(overrides?: CallOverrides): Promise<void>;
619
+
620
+ upgradeTo(
621
+ newImplementation: string,
622
+ overrides?: CallOverrides
623
+ ): Promise<void>;
624
+
625
+ upgradeToAndCall(
626
+ newImplementation: string,
627
+ data: BytesLike,
628
+ overrides?: CallOverrides
629
+ ): Promise<void>;
630
+ };
631
+
632
+ filters: {
633
+ "AdminChanged(address,address)"(
634
+ previousAdmin?: null,
635
+ newAdmin?: null
636
+ ): AdminChangedEventFilter;
637
+ AdminChanged(
638
+ previousAdmin?: null,
639
+ newAdmin?: null
640
+ ): AdminChangedEventFilter;
641
+
642
+ "BeaconUpgraded(address)"(
643
+ beacon?: string | null
644
+ ): BeaconUpgradedEventFilter;
645
+ BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter;
646
+
647
+ "Distribution(uint256,uint256,uint256,tuple[])"(
648
+ distributed?: null,
649
+ startingBalance?: null,
650
+ incomingAmount?: null,
651
+ distributionRecipients?: null
652
+ ): DistributionEventFilter;
653
+ Distribution(
654
+ distributed?: null,
655
+ startingBalance?: null,
656
+ incomingAmount?: null,
657
+ distributionRecipients?: null
658
+ ): DistributionEventFilter;
659
+
660
+ "RecipientAdded(tuple,uint256)"(
661
+ recipient?: null,
662
+ index?: null
663
+ ): RecipientAddedEventFilter;
664
+ RecipientAdded(recipient?: null, index?: null): RecipientAddedEventFilter;
665
+
666
+ "RecipientUpdated(tuple,uint256)"(
667
+ recipient?: null,
668
+ index?: null
669
+ ): RecipientUpdatedEventFilter;
670
+ RecipientUpdated(
671
+ recipient?: null,
672
+ index?: null
673
+ ): RecipientUpdatedEventFilter;
674
+
675
+ "RoleAdminChanged(bytes32,bytes32,bytes32)"(
676
+ role?: BytesLike | null,
677
+ previousAdminRole?: BytesLike | null,
678
+ newAdminRole?: BytesLike | null
679
+ ): RoleAdminChangedEventFilter;
680
+ RoleAdminChanged(
681
+ role?: BytesLike | null,
682
+ previousAdminRole?: BytesLike | null,
683
+ newAdminRole?: BytesLike | null
684
+ ): RoleAdminChangedEventFilter;
685
+
686
+ "RoleGranted(bytes32,address,address)"(
687
+ role?: BytesLike | null,
688
+ account?: string | null,
689
+ sender?: string | null
690
+ ): RoleGrantedEventFilter;
691
+ RoleGranted(
692
+ role?: BytesLike | null,
693
+ account?: string | null,
694
+ sender?: string | null
695
+ ): RoleGrantedEventFilter;
696
+
697
+ "RoleRevoked(bytes32,address,address)"(
698
+ role?: BytesLike | null,
699
+ account?: string | null,
700
+ sender?: string | null
701
+ ): RoleRevokedEventFilter;
702
+ RoleRevoked(
703
+ role?: BytesLike | null,
704
+ account?: string | null,
705
+ sender?: string | null
706
+ ): RoleRevokedEventFilter;
707
+
708
+ "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter;
709
+ Upgraded(implementation?: string | null): UpgradedEventFilter;
710
+ };
711
+
712
+ estimateGas: {
713
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
714
+
715
+ addOrUpdateRecipient(
716
+ _recipient: DistributionRecipientStruct,
717
+ overrides?: Overrides & { from?: string | Promise<string> }
718
+ ): Promise<BigNumber>;
719
+
720
+ anyGoodDollar(overrides?: CallOverrides): Promise<BigNumber>;
721
+
722
+ avatar(overrides?: CallOverrides): Promise<BigNumber>;
723
+
724
+ dao(overrides?: CallOverrides): Promise<BigNumber>;
725
+
726
+ distributionRecipients(
727
+ arg0: BigNumberish,
728
+ overrides?: CallOverrides
729
+ ): Promise<BigNumber>;
730
+
731
+ fuseBridge(overrides?: CallOverrides): Promise<BigNumber>;
732
+
733
+ getRoleAdmin(
734
+ role: BytesLike,
735
+ overrides?: CallOverrides
736
+ ): Promise<BigNumber>;
737
+
738
+ getRoleMember(
739
+ role: BytesLike,
740
+ index: BigNumberish,
741
+ overrides?: CallOverrides
742
+ ): Promise<BigNumber>;
743
+
744
+ getRoleMemberCount(
745
+ role: BytesLike,
746
+ overrides?: CallOverrides
747
+ ): Promise<BigNumber>;
748
+
749
+ grantRole(
750
+ role: BytesLike,
751
+ account: string,
752
+ overrides?: Overrides & { from?: string | Promise<string> }
753
+ ): Promise<BigNumber>;
754
+
755
+ hasRole(
756
+ role: BytesLike,
757
+ account: string,
758
+ overrides?: CallOverrides
759
+ ): Promise<BigNumber>;
760
+
761
+ initialize(
762
+ _ns: string,
763
+ overrides?: Overrides & { from?: string | Promise<string> }
764
+ ): Promise<BigNumber>;
765
+
766
+ multiChainBridge(overrides?: CallOverrides): Promise<BigNumber>;
767
+
768
+ nameService(overrides?: CallOverrides): Promise<BigNumber>;
769
+
770
+ nativeToken(overrides?: CallOverrides): Promise<BigNumber>;
771
+
772
+ onDistribution(
773
+ _amount: BigNumberish,
774
+ overrides?: Overrides & { from?: string | Promise<string> }
775
+ ): Promise<BigNumber>;
776
+
777
+ renounceRole(
778
+ role: BytesLike,
779
+ account: string,
780
+ overrides?: Overrides & { from?: string | Promise<string> }
781
+ ): Promise<BigNumber>;
782
+
783
+ revokeRole(
784
+ role: BytesLike,
785
+ account: string,
786
+ overrides?: Overrides & { from?: string | Promise<string> }
787
+ ): Promise<BigNumber>;
788
+
789
+ supportsInterface(
790
+ interfaceId: BytesLike,
791
+ overrides?: CallOverrides
792
+ ): Promise<BigNumber>;
793
+
794
+ updateAvatar(
795
+ overrides?: Overrides & { from?: string | Promise<string> }
796
+ ): Promise<BigNumber>;
797
+
798
+ upgradeTo(
799
+ newImplementation: string,
800
+ overrides?: Overrides & { from?: string | Promise<string> }
801
+ ): Promise<BigNumber>;
802
+
803
+ upgradeToAndCall(
804
+ newImplementation: string,
805
+ data: BytesLike,
806
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
807
+ ): Promise<BigNumber>;
808
+ };
809
+
810
+ populateTransaction: {
811
+ DEFAULT_ADMIN_ROLE(
812
+ overrides?: CallOverrides
813
+ ): Promise<PopulatedTransaction>;
814
+
815
+ addOrUpdateRecipient(
816
+ _recipient: DistributionRecipientStruct,
817
+ overrides?: Overrides & { from?: string | Promise<string> }
818
+ ): Promise<PopulatedTransaction>;
819
+
820
+ anyGoodDollar(overrides?: CallOverrides): Promise<PopulatedTransaction>;
821
+
822
+ avatar(overrides?: CallOverrides): Promise<PopulatedTransaction>;
823
+
824
+ dao(overrides?: CallOverrides): Promise<PopulatedTransaction>;
825
+
826
+ distributionRecipients(
827
+ arg0: BigNumberish,
828
+ overrides?: CallOverrides
829
+ ): Promise<PopulatedTransaction>;
830
+
831
+ fuseBridge(overrides?: CallOverrides): Promise<PopulatedTransaction>;
832
+
833
+ getRoleAdmin(
834
+ role: BytesLike,
835
+ overrides?: CallOverrides
836
+ ): Promise<PopulatedTransaction>;
837
+
838
+ getRoleMember(
839
+ role: BytesLike,
840
+ index: BigNumberish,
841
+ overrides?: CallOverrides
842
+ ): Promise<PopulatedTransaction>;
843
+
844
+ getRoleMemberCount(
845
+ role: BytesLike,
846
+ overrides?: CallOverrides
847
+ ): Promise<PopulatedTransaction>;
848
+
849
+ grantRole(
850
+ role: BytesLike,
851
+ account: string,
852
+ overrides?: Overrides & { from?: string | Promise<string> }
853
+ ): Promise<PopulatedTransaction>;
854
+
855
+ hasRole(
856
+ role: BytesLike,
857
+ account: string,
858
+ overrides?: CallOverrides
859
+ ): Promise<PopulatedTransaction>;
860
+
861
+ initialize(
862
+ _ns: string,
863
+ overrides?: Overrides & { from?: string | Promise<string> }
864
+ ): Promise<PopulatedTransaction>;
865
+
866
+ multiChainBridge(overrides?: CallOverrides): Promise<PopulatedTransaction>;
867
+
868
+ nameService(overrides?: CallOverrides): Promise<PopulatedTransaction>;
869
+
870
+ nativeToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
871
+
872
+ onDistribution(
873
+ _amount: BigNumberish,
874
+ overrides?: Overrides & { from?: string | Promise<string> }
875
+ ): Promise<PopulatedTransaction>;
876
+
877
+ renounceRole(
878
+ role: BytesLike,
879
+ account: string,
880
+ overrides?: Overrides & { from?: string | Promise<string> }
881
+ ): Promise<PopulatedTransaction>;
882
+
883
+ revokeRole(
884
+ role: BytesLike,
885
+ account: string,
886
+ overrides?: Overrides & { from?: string | Promise<string> }
887
+ ): Promise<PopulatedTransaction>;
888
+
889
+ supportsInterface(
890
+ interfaceId: BytesLike,
891
+ overrides?: CallOverrides
892
+ ): Promise<PopulatedTransaction>;
893
+
894
+ updateAvatar(
895
+ overrides?: Overrides & { from?: string | Promise<string> }
896
+ ): Promise<PopulatedTransaction>;
897
+
898
+ upgradeTo(
899
+ newImplementation: string,
900
+ overrides?: Overrides & { from?: string | Promise<string> }
901
+ ): Promise<PopulatedTransaction>;
902
+
903
+ upgradeToAndCall(
904
+ newImplementation: string,
905
+ data: BytesLike,
906
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
907
+ ): Promise<PopulatedTransaction>;
908
+ };
909
+ }