@gooddollar/goodprotocol 2.0.7-beta.2 → 2.0.7-beta.3

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 (221) hide show
  1. package/artifacts/abis/BuyGDClone.min.json +1 -0
  2. package/artifacts/abis/BuyGDCloneFactory.min.json +1 -0
  3. package/artifacts/abis/ISwapRouter.min.json +1 -0
  4. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  10. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  33. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  34. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  35. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  36. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  37. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  38. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  39. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  40. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  41. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  42. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  43. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  44. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  45. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  46. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  47. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  48. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  49. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  50. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.json +2 -2
  51. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  52. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  53. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +2 -2
  54. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  55. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +2 -2
  64. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +2 -2
  66. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  71. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  73. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  74. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  83. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  100. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  101. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +2 -2
  102. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  103. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  104. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  105. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  106. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  107. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  108. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  109. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  110. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  111. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  112. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  113. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  114. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  115. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  116. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  117. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  118. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  119. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  120. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  121. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  122. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  123. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  124. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  125. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  126. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  127. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  128. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  129. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  130. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  131. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  132. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  133. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  134. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  135. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  136. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  137. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +1 -1
  138. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  139. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  140. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  141. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  142. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  143. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  144. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  145. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  146. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  147. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  148. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  149. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  150. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  151. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  152. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  153. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  154. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  155. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  156. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  157. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  158. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +2 -2
  159. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +4 -0
  160. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.json +206 -0
  161. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +4 -0
  162. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.json +80 -0
  163. package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.dbg.json +4 -0
  164. package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.json +205 -0
  165. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  166. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  167. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  168. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  169. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  170. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  171. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  172. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  173. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  174. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  175. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  176. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  177. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  178. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  179. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  180. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  181. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  182. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  183. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  184. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  185. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  186. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  187. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  188. package/contracts/invite/InvitesFuseV2.sol +5 -3
  189. package/contracts/invite/InvitesV2.sol +5 -3
  190. package/contracts/reserve/DistributionHelper.sol +12 -9
  191. package/contracts/utils/BuyGDClone.sol +171 -0
  192. package/package.json +1 -1
  193. package/scripts/upgrades/multichain-temp-fix.ts +126 -0
  194. package/types/BuyGDClone.ts +277 -0
  195. package/types/BuyGDCloneFactory.ts +143 -0
  196. package/types/ISwapRouter.ts +298 -0
  197. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  198. package/types/factories/BuyAndBridgeHelper__factory.ts +1 -1
  199. package/types/factories/BuyGDCloneFactory__factory.ts +142 -0
  200. package/types/factories/BuyGDClone__factory.ts +265 -0
  201. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  202. package/types/factories/DistributionHelperTestHelper__factory.ts +1 -1
  203. package/types/factories/DistributionHelperTest__factory.ts +1 -1
  204. package/types/factories/DistributionHelper__factory.ts +1 -1
  205. package/types/factories/DonationsStaking__factory.ts +1 -1
  206. package/types/factories/ExchangeHelper__factory.ts +1 -1
  207. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  208. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  209. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  210. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  211. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  212. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  213. package/types/factories/GoodFundManager__factory.ts +1 -1
  214. package/types/factories/GoodReserveCDai__factory.ts +1 -1
  215. package/types/factories/ISwapRouter__factory.ts +217 -0
  216. package/types/factories/InvitesFuseV2__factory.ts +1 -1
  217. package/types/factories/InvitesV2__factory.ts +1 -1
  218. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  219. package/types/factories/StakersDistribution__factory.ts +1 -1
  220. package/types/hardhat.d.ts +27 -0
  221. package/types/index.ts +6 -0
@@ -0,0 +1,126 @@
1
+ /***
2
+ * Disable UBI bridge via multichain
3
+ * Upgrade Plan:
4
+ * - deploy new DistHelper
5
+ * - disable multichain distribution
6
+ * - create new distribution instead to guardians
7
+ */
8
+
9
+ import { network, ethers } from "hardhat";
10
+ import { Contract } from "ethers";
11
+ import { defaultsDeep } from "lodash";
12
+
13
+ import { printDeploy, executeViaGuardian, executeViaSafe, verifyProductionSigner } from "../multichain-deploy/helpers";
14
+
15
+ import ProtocolSettings from "../../releases/deploy-settings.json";
16
+
17
+ import dao from "../../releases/deployment.json";
18
+ import { verifyContract } from "../multichain-deploy/helpers";
19
+ let { name: networkName } = network;
20
+
21
+ export const upgrade = async () => {
22
+ const isProduction = networkName.includes("production");
23
+ let [root, ...signers] = await ethers.getSigners();
24
+
25
+ if (isProduction) verifyProductionSigner(root);
26
+
27
+ let guardian = root;
28
+ // simulate on fork
29
+ if (network.name === "hardhat") {
30
+ networkName = "production-mainnet";
31
+ root = await ethers.getImpersonatedSigner("0x5128E3C1f8846724cc1007Af9b4189713922E4BB");
32
+ }
33
+
34
+ let release: { [key: string]: any } = dao[networkName];
35
+ let protocolSettings = defaultsDeep({}, ProtocolSettings[networkName], ProtocolSettings["default"]);
36
+ //make sure safe has enough eth to simulate txs
37
+ if (network.name === "hardhat") {
38
+ guardian = await ethers.getImpersonatedSigner(protocolSettings.guardiansSafe);
39
+ await root.sendTransaction({ value: ethers.constants.WeiPerEther, to: protocolSettings.guardiansSafe });
40
+ }
41
+
42
+ console.log("got signers:", {
43
+ networkName,
44
+ root: root.address,
45
+ guardian: guardian.address,
46
+ balance: await ethers.provider.getBalance(root.address).then(_ => _.toString()),
47
+ guardianBalance: await ethers.provider.getBalance(guardian.address).then(_ => _.toString())
48
+ });
49
+
50
+ let networkEnv = networkName.split("-")[0];
51
+ const fuseNetwork = networkEnv;
52
+ if (networkEnv === "fuse") networkEnv = "development";
53
+ const celoNetwork = networkEnv + "-celo";
54
+
55
+ let f = await ethers.getContractFactory("GoodFundManager");
56
+ console.log("bytecode", f.bytecode.length);
57
+ let newDistHelper = (await ethers.deployContract("DistributionHelper").then(printDeploy)) as Contract;
58
+
59
+ if (isProduction) await verifyContract(newDistHelper, "GoodReserveCDai", networkName);
60
+
61
+ const proposalContracts = [
62
+ release.DistributionHelper, //controller -> upgrade disthelper
63
+ release.DistributionHelper, //set new distribution params
64
+ release.DistributionHelper //set new distribution params
65
+ ];
66
+
67
+ const proposalEthValues = proposalContracts.map(_ => 0);
68
+
69
+ const proposalFunctionSignatures = [
70
+ "upgradeTo(address)", //upgrade disthelper
71
+ "addOrUpdateRecipient((uint32,uint32,address,uint8))", // remove multichain
72
+ "addOrUpdateRecipient((uint32,uint32,address,uint8))" // guardians distribution
73
+ ];
74
+
75
+ const proposalFunctionInputs = [
76
+ ethers.utils.defaultAbiCoder.encode(["address"], [newDistHelper.address]),
77
+ ethers.utils.defaultAbiCoder.encode(
78
+ ["uint32", "uint32", "address", "uint8"],
79
+ [0, 42220, dao[celoNetwork].UBIScheme, 1]
80
+ ),
81
+ ethers.utils.defaultAbiCoder.encode(
82
+ ["uint32", "uint32", "address", "uint8"],
83
+ [8182, 42220, release.GuardiansSafe, 3] //ubi to guardians
84
+ )
85
+ ];
86
+
87
+ if (isProduction) {
88
+ await executeViaSafe(
89
+ proposalContracts,
90
+ proposalEthValues,
91
+ proposalFunctionSignatures,
92
+ proposalFunctionInputs,
93
+ protocolSettings.guardiansSafe,
94
+ "mainnet"
95
+ );
96
+ } else {
97
+ //simulation or dev envs
98
+ await executeViaGuardian(
99
+ proposalContracts,
100
+ proposalEthValues,
101
+ proposalFunctionSignatures,
102
+ proposalFunctionInputs,
103
+ guardian,
104
+ networkName
105
+ );
106
+ }
107
+
108
+ if (!isProduction) {
109
+ //check simulation results
110
+ let fm = await ethers.getContractAt("GoodFundManager", release.GoodFundManager);
111
+ let dh = await ethers.getContractAt("DistributionHelper", release.DistributionHelper);
112
+
113
+ console.log(await dh.distributionRecipients(0));
114
+ console.log(await dh.distributionRecipients(1));
115
+ console.log(await dh.distributionRecipients(2));
116
+ let tx = await (await fm.collectInterest(["0x7b7246c78e2f900d17646ff0cb2ec47d6ba10754"], true)).wait();
117
+ let gd = await ethers.getContractAt("IGoodDollar", "0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B");
118
+ const safeBalance = await gd.balanceOf("0xE0c5daa7CC6F88d29505f702a53bb5E67600e7Ec");
119
+ console.log({ safeBalance }, tx.events);
120
+ }
121
+ };
122
+
123
+ export const main = async () => {
124
+ await upgrade().catch(console.log);
125
+ };
126
+ if (process.argv[1].includes("multichain-temp-fix")) main();
@@ -0,0 +1,277 @@
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
+ CallOverrides,
16
+ } from "ethers";
17
+ import { BytesLike } from "@ethersproject/bytes";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
20
+ import type {
21
+ TypedEventFilter,
22
+ TypedEvent,
23
+ TypedListener,
24
+ OnEvent,
25
+ } from "./common";
26
+
27
+ export interface BuyGDCloneInterface extends ethers.utils.Interface {
28
+ functions: {
29
+ "celo()": FunctionFragment;
30
+ "cusd()": FunctionFragment;
31
+ "executer()": FunctionFragment;
32
+ "gd()": FunctionFragment;
33
+ "initialize(address,address)": FunctionFragment;
34
+ "owner()": FunctionFragment;
35
+ "recover(address)": FunctionFragment;
36
+ "router()": FunctionFragment;
37
+ "swap(uint256)": FunctionFragment;
38
+ "swapCusd(uint256)": FunctionFragment;
39
+ };
40
+
41
+ encodeFunctionData(functionFragment: "celo", values?: undefined): string;
42
+ encodeFunctionData(functionFragment: "cusd", values?: undefined): string;
43
+ encodeFunctionData(functionFragment: "executer", values?: undefined): string;
44
+ encodeFunctionData(functionFragment: "gd", values?: undefined): string;
45
+ encodeFunctionData(
46
+ functionFragment: "initialize",
47
+ values: [string, string]
48
+ ): string;
49
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
50
+ encodeFunctionData(functionFragment: "recover", values: [string]): string;
51
+ encodeFunctionData(functionFragment: "router", values?: undefined): string;
52
+ encodeFunctionData(functionFragment: "swap", values: [BigNumberish]): string;
53
+ encodeFunctionData(
54
+ functionFragment: "swapCusd",
55
+ values: [BigNumberish]
56
+ ): string;
57
+
58
+ decodeFunctionResult(functionFragment: "celo", data: BytesLike): Result;
59
+ decodeFunctionResult(functionFragment: "cusd", data: BytesLike): Result;
60
+ decodeFunctionResult(functionFragment: "executer", data: BytesLike): Result;
61
+ decodeFunctionResult(functionFragment: "gd", data: BytesLike): Result;
62
+ decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
63
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
64
+ decodeFunctionResult(functionFragment: "recover", data: BytesLike): Result;
65
+ decodeFunctionResult(functionFragment: "router", data: BytesLike): Result;
66
+ decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result;
67
+ decodeFunctionResult(functionFragment: "swapCusd", data: BytesLike): Result;
68
+
69
+ events: {
70
+ "Initialized(uint8)": EventFragment;
71
+ };
72
+
73
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
74
+ }
75
+
76
+ export type InitializedEvent = TypedEvent<[number], { version: number }>;
77
+
78
+ export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
79
+
80
+ export interface BuyGDClone extends BaseContract {
81
+ connect(signerOrProvider: Signer | Provider | string): this;
82
+ attach(addressOrName: string): this;
83
+ deployed(): Promise<this>;
84
+
85
+ interface: BuyGDCloneInterface;
86
+
87
+ queryFilter<TEvent extends TypedEvent>(
88
+ event: TypedEventFilter<TEvent>,
89
+ fromBlockOrBlockhash?: string | number | undefined,
90
+ toBlock?: string | number | undefined
91
+ ): Promise<Array<TEvent>>;
92
+
93
+ listeners<TEvent extends TypedEvent>(
94
+ eventFilter?: TypedEventFilter<TEvent>
95
+ ): Array<TypedListener<TEvent>>;
96
+ listeners(eventName?: string): Array<Listener>;
97
+ removeAllListeners<TEvent extends TypedEvent>(
98
+ eventFilter: TypedEventFilter<TEvent>
99
+ ): this;
100
+ removeAllListeners(eventName?: string): this;
101
+ off: OnEvent<this>;
102
+ on: OnEvent<this>;
103
+ once: OnEvent<this>;
104
+ removeListener: OnEvent<this>;
105
+
106
+ functions: {
107
+ celo(overrides?: CallOverrides): Promise<[string]>;
108
+
109
+ cusd(overrides?: CallOverrides): Promise<[string]>;
110
+
111
+ executer(overrides?: CallOverrides): Promise<[string]>;
112
+
113
+ gd(overrides?: CallOverrides): Promise<[string]>;
114
+
115
+ initialize(
116
+ _owner: string,
117
+ _executer: string,
118
+ overrides?: Overrides & { from?: string | Promise<string> }
119
+ ): Promise<ContractTransaction>;
120
+
121
+ owner(overrides?: CallOverrides): Promise<[string]>;
122
+
123
+ recover(
124
+ token: string,
125
+ overrides?: Overrides & { from?: string | Promise<string> }
126
+ ): Promise<ContractTransaction>;
127
+
128
+ router(overrides?: CallOverrides): Promise<[string]>;
129
+
130
+ swap(
131
+ _minAmount: BigNumberish,
132
+ overrides?: Overrides & { from?: string | Promise<string> }
133
+ ): Promise<ContractTransaction>;
134
+
135
+ swapCusd(
136
+ _minAmount: BigNumberish,
137
+ overrides?: Overrides & { from?: string | Promise<string> }
138
+ ): Promise<ContractTransaction>;
139
+ };
140
+
141
+ celo(overrides?: CallOverrides): Promise<string>;
142
+
143
+ cusd(overrides?: CallOverrides): Promise<string>;
144
+
145
+ executer(overrides?: CallOverrides): Promise<string>;
146
+
147
+ gd(overrides?: CallOverrides): Promise<string>;
148
+
149
+ initialize(
150
+ _owner: string,
151
+ _executer: string,
152
+ overrides?: Overrides & { from?: string | Promise<string> }
153
+ ): Promise<ContractTransaction>;
154
+
155
+ owner(overrides?: CallOverrides): Promise<string>;
156
+
157
+ recover(
158
+ token: string,
159
+ overrides?: Overrides & { from?: string | Promise<string> }
160
+ ): Promise<ContractTransaction>;
161
+
162
+ router(overrides?: CallOverrides): Promise<string>;
163
+
164
+ swap(
165
+ _minAmount: BigNumberish,
166
+ overrides?: Overrides & { from?: string | Promise<string> }
167
+ ): Promise<ContractTransaction>;
168
+
169
+ swapCusd(
170
+ _minAmount: BigNumberish,
171
+ overrides?: Overrides & { from?: string | Promise<string> }
172
+ ): Promise<ContractTransaction>;
173
+
174
+ callStatic: {
175
+ celo(overrides?: CallOverrides): Promise<string>;
176
+
177
+ cusd(overrides?: CallOverrides): Promise<string>;
178
+
179
+ executer(overrides?: CallOverrides): Promise<string>;
180
+
181
+ gd(overrides?: CallOverrides): Promise<string>;
182
+
183
+ initialize(
184
+ _owner: string,
185
+ _executer: string,
186
+ overrides?: CallOverrides
187
+ ): Promise<void>;
188
+
189
+ owner(overrides?: CallOverrides): Promise<string>;
190
+
191
+ recover(token: string, overrides?: CallOverrides): Promise<void>;
192
+
193
+ router(overrides?: CallOverrides): Promise<string>;
194
+
195
+ swap(_minAmount: BigNumberish, overrides?: CallOverrides): Promise<void>;
196
+
197
+ swapCusd(
198
+ _minAmount: BigNumberish,
199
+ overrides?: CallOverrides
200
+ ): Promise<void>;
201
+ };
202
+
203
+ filters: {
204
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
205
+ Initialized(version?: null): InitializedEventFilter;
206
+ };
207
+
208
+ estimateGas: {
209
+ celo(overrides?: CallOverrides): Promise<BigNumber>;
210
+
211
+ cusd(overrides?: CallOverrides): Promise<BigNumber>;
212
+
213
+ executer(overrides?: CallOverrides): Promise<BigNumber>;
214
+
215
+ gd(overrides?: CallOverrides): Promise<BigNumber>;
216
+
217
+ initialize(
218
+ _owner: string,
219
+ _executer: string,
220
+ overrides?: Overrides & { from?: string | Promise<string> }
221
+ ): Promise<BigNumber>;
222
+
223
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
224
+
225
+ recover(
226
+ token: string,
227
+ overrides?: Overrides & { from?: string | Promise<string> }
228
+ ): Promise<BigNumber>;
229
+
230
+ router(overrides?: CallOverrides): Promise<BigNumber>;
231
+
232
+ swap(
233
+ _minAmount: BigNumberish,
234
+ overrides?: Overrides & { from?: string | Promise<string> }
235
+ ): Promise<BigNumber>;
236
+
237
+ swapCusd(
238
+ _minAmount: BigNumberish,
239
+ overrides?: Overrides & { from?: string | Promise<string> }
240
+ ): Promise<BigNumber>;
241
+ };
242
+
243
+ populateTransaction: {
244
+ celo(overrides?: CallOverrides): Promise<PopulatedTransaction>;
245
+
246
+ cusd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
247
+
248
+ executer(overrides?: CallOverrides): Promise<PopulatedTransaction>;
249
+
250
+ gd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
251
+
252
+ initialize(
253
+ _owner: string,
254
+ _executer: string,
255
+ overrides?: Overrides & { from?: string | Promise<string> }
256
+ ): Promise<PopulatedTransaction>;
257
+
258
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
259
+
260
+ recover(
261
+ token: string,
262
+ overrides?: Overrides & { from?: string | Promise<string> }
263
+ ): Promise<PopulatedTransaction>;
264
+
265
+ router(overrides?: CallOverrides): Promise<PopulatedTransaction>;
266
+
267
+ swap(
268
+ _minAmount: BigNumberish,
269
+ overrides?: Overrides & { from?: string | Promise<string> }
270
+ ): Promise<PopulatedTransaction>;
271
+
272
+ swapCusd(
273
+ _minAmount: BigNumberish,
274
+ overrides?: Overrides & { from?: string | Promise<string> }
275
+ ): Promise<PopulatedTransaction>;
276
+ };
277
+ }
@@ -0,0 +1,143 @@
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
+ CallOverrides,
16
+ } from "ethers";
17
+ import { BytesLike } from "@ethersproject/bytes";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
20
+ import type {
21
+ TypedEventFilter,
22
+ TypedEvent,
23
+ TypedListener,
24
+ OnEvent,
25
+ } from "./common";
26
+
27
+ export interface BuyGDCloneFactoryInterface extends ethers.utils.Interface {
28
+ functions: {
29
+ "create(address,address)": FunctionFragment;
30
+ "predict(address,address)": FunctionFragment;
31
+ };
32
+
33
+ encodeFunctionData(
34
+ functionFragment: "create",
35
+ values: [string, string]
36
+ ): string;
37
+ encodeFunctionData(
38
+ functionFragment: "predict",
39
+ values: [string, string]
40
+ ): string;
41
+
42
+ decodeFunctionResult(functionFragment: "create", data: BytesLike): Result;
43
+ decodeFunctionResult(functionFragment: "predict", data: BytesLike): Result;
44
+
45
+ events: {};
46
+ }
47
+
48
+ export interface BuyGDCloneFactory extends BaseContract {
49
+ connect(signerOrProvider: Signer | Provider | string): this;
50
+ attach(addressOrName: string): this;
51
+ deployed(): Promise<this>;
52
+
53
+ interface: BuyGDCloneFactoryInterface;
54
+
55
+ queryFilter<TEvent extends TypedEvent>(
56
+ event: TypedEventFilter<TEvent>,
57
+ fromBlockOrBlockhash?: string | number | undefined,
58
+ toBlock?: string | number | undefined
59
+ ): Promise<Array<TEvent>>;
60
+
61
+ listeners<TEvent extends TypedEvent>(
62
+ eventFilter?: TypedEventFilter<TEvent>
63
+ ): Array<TypedListener<TEvent>>;
64
+ listeners(eventName?: string): Array<Listener>;
65
+ removeAllListeners<TEvent extends TypedEvent>(
66
+ eventFilter: TypedEventFilter<TEvent>
67
+ ): this;
68
+ removeAllListeners(eventName?: string): this;
69
+ off: OnEvent<this>;
70
+ on: OnEvent<this>;
71
+ once: OnEvent<this>;
72
+ removeListener: OnEvent<this>;
73
+
74
+ functions: {
75
+ create(
76
+ owner: string,
77
+ executer: string,
78
+ overrides?: Overrides & { from?: string | Promise<string> }
79
+ ): Promise<ContractTransaction>;
80
+
81
+ predict(
82
+ owner: string,
83
+ executer: string,
84
+ overrides?: CallOverrides
85
+ ): Promise<[string]>;
86
+ };
87
+
88
+ create(
89
+ owner: string,
90
+ executer: string,
91
+ overrides?: Overrides & { from?: string | Promise<string> }
92
+ ): Promise<ContractTransaction>;
93
+
94
+ predict(
95
+ owner: string,
96
+ executer: string,
97
+ overrides?: CallOverrides
98
+ ): Promise<string>;
99
+
100
+ callStatic: {
101
+ create(
102
+ owner: string,
103
+ executer: string,
104
+ overrides?: CallOverrides
105
+ ): Promise<string>;
106
+
107
+ predict(
108
+ owner: string,
109
+ executer: string,
110
+ overrides?: CallOverrides
111
+ ): Promise<string>;
112
+ };
113
+
114
+ filters: {};
115
+
116
+ estimateGas: {
117
+ create(
118
+ owner: string,
119
+ executer: string,
120
+ overrides?: Overrides & { from?: string | Promise<string> }
121
+ ): Promise<BigNumber>;
122
+
123
+ predict(
124
+ owner: string,
125
+ executer: string,
126
+ overrides?: CallOverrides
127
+ ): Promise<BigNumber>;
128
+ };
129
+
130
+ populateTransaction: {
131
+ create(
132
+ owner: string,
133
+ executer: string,
134
+ overrides?: Overrides & { from?: string | Promise<string> }
135
+ ): Promise<PopulatedTransaction>;
136
+
137
+ predict(
138
+ owner: string,
139
+ executer: string,
140
+ overrides?: CallOverrides
141
+ ): Promise<PopulatedTransaction>;
142
+ };
143
+ }