@gooddollar/goodprotocol 2.1.4 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (880) hide show
  1. package/artifacts/abis/CreateReserveExchange.min.json +1 -0
  2. package/artifacts/abis/IBancorExchangeProvider.min.json +1 -1
  3. package/artifacts/abis/IBroker.min.json +1 -1
  4. package/artifacts/abis/IdentityV3.min.json +1 -1
  5. package/artifacts/abis/IdentityV4.min.json +1 -0
  6. package/artifacts/abis/UpdateReserveRatio.min.json +1 -0
  7. package/artifacts/abis/Voters.min.json +1 -0
  8. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  11. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  12. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  13. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  14. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +1 -1
  15. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  40. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  41. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
  42. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.json +69 -0
  43. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
  44. package/artifacts/contracts/MentoInterfaces.sol/IBroker.json +131 -4
  45. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
  46. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
  47. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
  48. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
  49. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  50. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -2
  51. package/artifacts/contracts/fuseFaucet/Faucet.sol/Voters.dbg.json +4 -0
  52. package/artifacts/contracts/fuseFaucet/Faucet.sol/Voters.json +42 -0
  53. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  54. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  55. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
  56. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  57. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  58. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  59. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  60. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  61. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  62. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  63. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  64. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  65. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  66. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  67. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  68. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
  69. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.json +40 -2
  70. package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.dbg.json +4 -0
  71. package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.json +1175 -0
  72. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  73. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  74. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  75. package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.json +2 -2
  93. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.json +2 -2
  95. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  104. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  106. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  108. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  109. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  111. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  114. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  115. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  116. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  117. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  118. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  119. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  120. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  121. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  122. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  123. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
  124. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  125. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  126. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +1 -1
  127. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json +2 -2
  128. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  129. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  130. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  131. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  132. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  133. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  134. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  135. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  136. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  137. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  138. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  139. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  140. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  141. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  142. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  143. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  144. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  145. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  146. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  147. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  148. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  149. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  150. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  151. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  152. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  153. package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +1 -1
  154. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
  155. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
  156. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  157. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  158. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  159. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  160. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
  161. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  162. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  163. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  164. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  165. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  166. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  167. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  168. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  169. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  170. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +2 -2
  171. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  172. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  173. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  174. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  175. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  176. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  177. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
  178. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.json +2 -2
  179. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  180. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  181. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  182. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  183. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  184. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  185. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  186. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
  187. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
  188. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
  189. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
  190. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
  191. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
  192. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  193. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  194. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  195. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  196. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  197. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  198. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
  199. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  200. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  201. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  202. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  203. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  204. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
  205. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
  206. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.json +2 -2
  207. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  208. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  209. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  210. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  211. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  212. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  213. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  214. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  215. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
  216. package/artifacts/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange.dbg.json +4 -0
  217. package/artifacts/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange.json +77 -0
  218. package/artifacts/contracts/utils/UpdateReserveRatio.sol/MentoExchange.dbg.json +4 -0
  219. package/artifacts/contracts/utils/UpdateReserveRatio.sol/MentoExchange.json +24 -0
  220. package/artifacts/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio.dbg.json +4 -0
  221. package/artifacts/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio.json +60 -0
  222. package/contracts/MentoInterfaces.sol +247 -203
  223. package/contracts/fuseFaucet/Faucet.sol +15 -2
  224. package/contracts/identity/IdentityV3.sol +5 -3
  225. package/contracts/identity/IdentityV4.sol +600 -0
  226. package/contracts/invite/InvitesV2.sol +30 -10
  227. package/contracts/reserve/GenericDistributionHelper.sol +35 -7
  228. package/contracts/ubi/UBISchemeV2.sol +8 -1
  229. package/contracts/utils/UpdateReserveRatio.sol +121 -0
  230. package/hardhat.config.ts +2 -3
  231. package/package.json +6 -4
  232. package/releases/deploy-settings.json +3 -0
  233. package/releases/deployment.json +703 -1
  234. package/test/governance/ClaimersDistribution.test.ts +1 -1
  235. package/test/governance/CompoundVotingMachine.castvote.test.ts +30 -30
  236. package/test/helpers.ts +80 -196
  237. package/test/identity/IdentityV3.test.ts +53 -129
  238. package/test/identity/IdentityV4.test.ts +464 -0
  239. package/test/invite/InvitesV2.test.ts +50 -5
  240. package/test/reserve/GenericDistributionHelper.e2e.test.ts +445 -0
  241. package/test/utils/AdminWallet.test.ts +14 -15
  242. package/types/contracts/MentoInterfaces.sol/IBancorExchangeProvider.ts +54 -0
  243. package/types/contracts/MentoInterfaces.sol/IBroker.ts +99 -7
  244. package/types/contracts/fuseFaucet/{Faucet.ts → Faucet.sol/Faucet.ts} +1 -1
  245. package/types/{@openzeppelin/contracts/utils/introspection/ERC165.ts → contracts/fuseFaucet/Faucet.sol/Voters.ts} +30 -29
  246. package/types/contracts/fuseFaucet/{SuperfluidBaseFacuet.sol → Faucet.sol}/index.ts +2 -1
  247. package/types/contracts/fuseFaucet/index.ts +2 -1
  248. package/types/contracts/identity/IdentityV3.ts +46 -0
  249. package/types/contracts/identity/{IdentityV2.ts → IdentityV4.ts} +166 -55
  250. package/types/contracts/identity/index.ts +1 -0
  251. package/types/contracts/invite/{InvitesFuseV2.ts → InvitesV2 copy.sol/InvitesV2.ts } +358 -53
  252. package/types/contracts/{IQuoter.sol/index.ts → invite/InvitesV2 copy.sol/index.ts } +1 -1
  253. package/types/contracts/utils/{ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts → UpdateReserveRatio.sol/CreateReserveExchange.ts} +10 -32
  254. package/types/contracts/utils/{UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.ts → UpdateReserveRatio.sol/UpdateReserveRatio.ts} +22 -5
  255. package/types/contracts/utils/{ProtocolUpgradeV4Mento.sol → UpdateReserveRatio.sol}/index.ts +2 -1
  256. package/types/contracts/utils/index.ts +2 -0
  257. package/types/factories/contracts/MentoInterfaces.sol/IBancorExchangeProvider__factory.ts +69 -0
  258. package/types/factories/contracts/MentoInterfaces.sol/IBroker__factory.ts +131 -4
  259. package/types/factories/contracts/fuseFaucet/Faucet.sol/Faucet__factory.ts +914 -0
  260. package/types/factories/contracts/fuseFaucet/Faucet.sol/Voters__factory.ts +54 -0
  261. package/types/factories/contracts/fuseFaucet/Faucet.sol/index.ts +5 -0
  262. package/types/factories/contracts/fuseFaucet/index.ts +1 -1
  263. package/types/factories/contracts/identity/IdentityV3__factory.ts +39 -1
  264. package/types/factories/contracts/identity/IdentityV4__factory.ts +1226 -0
  265. package/types/factories/contracts/identity/index.ts +1 -0
  266. package/types/factories/contracts/invite/InvitesV2 copy.sol/InvitesV2__factory.ts +748 -0
  267. package/types/{contracts/fuseFaucet/Faucet copy.sol → factories/contracts/invite/InvitesV2 copy.sol}/index.ts +1 -1
  268. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper__factory.ts +1 -1
  269. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest__factory.ts +1 -1
  270. package/types/factories/contracts/reserve/GenericDistributionHelper__factory.ts +1 -1
  271. package/types/factories/contracts/ubi/UBISchemeV2__factory.ts +1 -1
  272. package/types/factories/contracts/utils/BuyFromReserveHelper__factory.ts +1 -1
  273. package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +1 -1
  274. package/types/factories/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange__factory.ts +137 -0
  275. package/types/factories/contracts/utils/{ReserveRestore.sol → UpdateReserveRatio.sol}/MentoExchange__factory.ts +1 -1
  276. package/types/factories/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio__factory.ts +113 -0
  277. package/types/factories/contracts/utils/UpdateReserveRatio.sol/index.ts +6 -0
  278. package/types/factories/contracts/utils/index.ts +1 -0
  279. package/types/hardhat.d.ts +45 -0
  280. package/types/index.ts +10 -2
  281. package/scripts/ProxyFactory.json +0 -4425
  282. package/scripts/analytics/activeGDStakers.ts +0 -188
  283. package/scripts/analytics/activeStakers.ts +0 -25
  284. package/scripts/analytics/activeUsersCount.ts +0 -156
  285. package/scripts/analytics/activeWalletsStats.ts +0 -301
  286. package/scripts/analytics/checkActiveWallets.ts +0 -60
  287. package/scripts/analytics/checkBridgeBalances.ts +0 -442
  288. package/scripts/analytics/claimIncidentStats.ts +0 -98
  289. package/scripts/analytics/faucetStats.ts +0 -130
  290. package/scripts/analytics/gdinflow.ts +0 -57
  291. package/scripts/analytics/goodHolders.ts +0 -46
  292. package/scripts/analytics/goodgiveback.ts +0 -64
  293. package/scripts/analytics/p2pTxs.ts +0 -564
  294. package/scripts/analytics/stuckgd.ts +0 -70
  295. package/scripts/analytics/tokenInOutStats.ts +0 -48
  296. package/scripts/analytics/whitelistsyncIssue.ts +0 -87
  297. package/scripts/bulkProof.ts +0 -202
  298. package/scripts/bulkWhitelist.ts +0 -31
  299. package/scripts/deployGnosisSafe.ts +0 -111
  300. package/scripts/fetchOrDeployProxyFactory.ts +0 -46
  301. package/scripts/fv.ts +0 -263
  302. package/scripts/gdx/gdxAirdropCalculation.ts +0 -479
  303. package/scripts/getFounders.ts +0 -32
  304. package/scripts/governance/README.md +0 -70
  305. package/scripts/governance/airdropCalculation.ts +0 -1119
  306. package/scripts/governance/airdropCalculationRecover.ts +0 -416
  307. package/scripts/governance/airdropCalculationSorted.ts +0 -438
  308. package/scripts/governance/goodCheckpointSorted.ts +0 -300
  309. package/scripts/keeper/fishInactive.ts +0 -47
  310. package/scripts/minimize.sh +0 -17
  311. package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +0 -131
  312. package/scripts/multichain-deploy/1_basicdao-deploy.ts +0 -294
  313. package/scripts/multichain-deploy/2_helpers-deploy.ts +0 -152
  314. package/scripts/multichain-deploy/2b_otp-deploy.ts +0 -73
  315. package/scripts/multichain-deploy/3_gdSavings-deploy.ts +0 -190
  316. package/scripts/multichain-deploy/4_ubi-deploy.ts +0 -129
  317. package/scripts/multichain-deploy/5_gov-deploy.ts +0 -179
  318. package/scripts/multichain-deploy/6_testnetFaucet.ts +0 -85
  319. package/scripts/multichain-deploy/7_superfluidfaucet-deploy.ts +0 -123
  320. package/scripts/multichain-deploy/8_disthelper-deploy.ts +0 -152
  321. package/scripts/multichain-deploy/createUniswapTestPools.ts +0 -163
  322. package/scripts/multichain-deploy/flattened/Avatar.sol +0 -913
  323. package/scripts/multichain-deploy/flattened/Controller.sol +0 -1891
  324. package/scripts/multichain-deploy/flattened/FeeFormula.sol +0 -1290
  325. package/scripts/multichain-deploy/fulldeploy.sh +0 -26
  326. package/scripts/multichain-deploy/helpers.ts +0 -647
  327. package/scripts/multichain-deploy/multichainWrapper-deploy.ts +0 -59
  328. package/scripts/multichain-deploy/verifyEtherscan.ts +0 -177
  329. package/scripts/proposals/gip-14_1.ts +0 -251
  330. package/scripts/proposals/gip-15.ts +0 -427
  331. package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +0 -746
  332. package/scripts/proposals/gips-14_1.md +0 -29
  333. package/scripts/proposals/hack-ubi-recovery.ts +0 -414
  334. package/scripts/proposals/identityAuthPeriod.ts +0 -229
  335. package/scripts/proposals/reserveRestore.ts +0 -474
  336. package/scripts/proposals/updateDistHelper.ts +0 -180
  337. package/scripts/proposals/v4Upgrade.ts +0 -845
  338. package/scripts/releaser.js +0 -24
  339. package/scripts/staking/stakersGdRewardsCalculation.ts +0 -64
  340. package/scripts/upgradeScheme.ts +0 -97
  341. package/scripts/upgradeToV2/upgradeToV2.ts +0 -853
  342. package/scripts/upgradeToV2/upgradeToV2Recover.ts +0 -939
  343. package/scripts/upgradeToV3/v3-fix.ts +0 -120
  344. package/scripts/upgradeToV3/v3-fuse-multichain.ts +0 -117
  345. package/scripts/upgradeToV3/v3-upgrade.ts +0 -219
  346. package/scripts/upgrades/celo-defi-ubi-deploy.ts +0 -184
  347. package/scripts/upgrades/identity-upgrade.ts +0 -126
  348. package/scripts/upgrades/multichain-formula-upgrade.ts +0 -143
  349. package/scripts/upgrades/multichain-temp-fix.ts +0 -129
  350. package/scripts/upgrades/restoreFunds.ts +0 -91
  351. package/scripts/upgrades/superfluid-nft-celo-gas-token.ts +0 -159
  352. package/scripts/upgrades/transferDaoToGuardians.ts +0 -80
  353. package/scripts/upgrades/upgradeAdminWallet.ts +0 -29
  354. package/scripts/upgrades/upgradeFaucet.ts +0 -46
  355. package/scripts/utils.ts +0 -50
  356. package/scripts/verify.ts +0 -67
  357. package/scripts/voltageswaps.ts +0 -46
  358. package/types/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/ILayerZeroFeeEstimator.ts +0 -134
  359. package/types/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/IMessagePassingBridge.ts +0 -798
  360. package/types/@mean-finance/uniswap-v3-oracle/solidity/interfaces/IStaticOracle.ts +0 -694
  361. package/types/@openzeppelin/contracts/access/AccessControl.ts +0 -388
  362. package/types/@openzeppelin/contracts/access/IAccessControl.ts +0 -331
  363. package/types/@openzeppelin/contracts/access/Ownable.ts +0 -175
  364. package/types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts +0 -87
  365. package/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +0 -108
  366. package/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.ts +0 -108
  367. package/types/@openzeppelin/contracts/proxy/Proxy.ts +0 -55
  368. package/types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +0 -87
  369. package/types/@openzeppelin/contracts/proxy/utils/Initializable.ts +0 -69
  370. package/types/@openzeppelin/contracts/security/Pausable.ts +0 -111
  371. package/types/@openzeppelin/contracts/token/ERC20/ERC20.ts +0 -444
  372. package/types/@openzeppelin/contracts/token/ERC20/IERC20.ts +0 -322
  373. package/types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +0 -364
  374. package/types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.ts +0 -177
  375. package/types/@openzeppelin/contracts/token/ERC721/IERC721.ts +0 -527
  376. package/types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +0 -581
  377. package/types/@openzeppelin/contracts/token/ERC777/IERC777.ts +0 -616
  378. package/types/@openzeppelin/contracts/token/ERC777/IERC777Recipient.ts +0 -130
  379. package/types/@openzeppelin/contracts/token/ERC777/IERC777Sender.ts +0 -130
  380. package/types/@openzeppelin/contracts/utils/introspection/IERC165.ts +0 -102
  381. package/types/@openzeppelin/contracts/utils/introspection/IERC1820Registry.ts +0 -420
  382. package/types/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.ts +0 -477
  383. package/types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +0 -400
  384. package/types/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.ts +0 -408
  385. package/types/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.ts +0 -331
  386. package/types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +0 -187
  387. package/types/@openzeppelin/contracts-upgradeable/interfaces/IERC1271Upgradeable.ts +0 -107
  388. package/types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts +0 -87
  389. package/types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts +0 -120
  390. package/types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts +0 -87
  391. package/types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +0 -69
  392. package/types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +0 -228
  393. package/types/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.ts +0 -123
  394. package/types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts +0 -69
  395. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.ts +0 -456
  396. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts +0 -322
  397. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.ts +0 -519
  398. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.ts +0 -494
  399. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.ts +0 -364
  400. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol/ERC20PermitUpgradeable.ts +0 -563
  401. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.ts +0 -177
  402. package/types/@openzeppelin/contracts-upgradeable/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable.ts +0 -1097
  403. package/types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +0 -69
  404. package/types/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.ts +0 -69
  405. package/types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +0 -120
  406. package/types/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.ts +0 -102
  407. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1.ts +0 -1427
  408. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1.ts +0 -1219
  409. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantInflowNFT.ts +0 -828
  410. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantOutflowNFT.ts +0 -891
  411. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IFlowNFTBase.ts +0 -765
  412. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperAgreement.ts +0 -152
  413. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperApp.ts +0 -417
  414. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperToken.ts +0 -2698
  415. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperTokenFactory.ts +0 -449
  416. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluid.ts +0 -1643
  417. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidGovernance.ts +0 -523
  418. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken.ts +0 -996
  419. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ERC20WithTokenInfo.ts +0 -364
  420. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETH.ts +0 -2791
  421. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETHCustom.ts +0 -163
  422. package/types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/TokenInfo.ts +0 -109
  423. package/types/@superfluid-finance/ethereum-contracts/contracts/libs/EventsEmitter.ts +0 -82
  424. package/types/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantInflowNFT.ts +0 -1039
  425. package/types/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantOutflowNFT.ts +0 -1102
  426. package/types/@superfluid-finance/ethereum-contracts/contracts/superfluid/FlowNFTBase.ts +0 -954
  427. package/types/@superfluid-finance/ethereum-contracts/contracts/upgradability/UUPSProxiable.ts +0 -197
  428. package/types/@uniswap/v2-periphery/contracts/interfaces/IWETH.ts +0 -159
  429. package/types/@uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.ts +0 -354
  430. package/types/contracts/DAOStackInterfaces.sol/Avatar.ts +0 -121
  431. package/types/contracts/DAOStackInterfaces.sol/Controller.ts +0 -572
  432. package/types/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.ts +0 -128
  433. package/types/contracts/DAOStackInterfaces.sol/IntVoteInterface.ts +0 -494
  434. package/types/contracts/DAOStackInterfaces.sol/ReputationInterface.ts +0 -270
  435. package/types/contracts/DAOStackInterfaces.sol/SchemeRegistrar.ts +0 -168
  436. package/types/contracts/IQuoter.sol/IQuoterV2.ts +0 -297
  437. package/types/contracts/IUniswapV3.sol/INonfungiblePositionManager.ts +0 -151
  438. package/types/contracts/IUniswapV3.sol/IUniswapV3Factory.ts +0 -155
  439. package/types/contracts/IUniswapV3.sol/IUniswapV3Pool.ts +0 -192
  440. package/types/contracts/Interfaces.sol/AToken.ts +0 -81
  441. package/types/contracts/Interfaces.sol/AggregatorV3Interface.ts +0 -198
  442. package/types/contracts/Interfaces.sol/CERC20.ts +0 -602
  443. package/types/contracts/Interfaces.sol/ERC20.ts +0 -424
  444. package/types/contracts/Interfaces.sol/IAaveIncentivesController.ts +0 -156
  445. package/types/contracts/Interfaces.sol/IAaveIncentivesControllerV3.ts +0 -156
  446. package/types/contracts/Interfaces.sol/IAdminWallet.ts +0 -176
  447. package/types/contracts/Interfaces.sol/IDonationStaking.ts +0 -97
  448. package/types/contracts/Interfaces.sol/IERC2917.ts +0 -722
  449. package/types/contracts/Interfaces.sol/IFirstClaimPool.ts +0 -133
  450. package/types/contracts/Interfaces.sol/IGoodDollar.ts +0 -938
  451. package/types/contracts/Interfaces.sol/IGoodStaking.ts +0 -272
  452. package/types/contracts/Interfaces.sol/IHasRouter.ts +0 -81
  453. package/types/contracts/Interfaces.sol/IIdentity.ts +0 -534
  454. package/types/contracts/Interfaces.sol/IIdentityV2.ts +0 -620
  455. package/types/contracts/Interfaces.sol/ILendingPool.ts +0 -245
  456. package/types/contracts/Interfaces.sol/ILendingPoolV3.ts +0 -254
  457. package/types/contracts/Interfaces.sol/IMultichainRouter.ts +0 -168
  458. package/types/contracts/Interfaces.sol/INameService.ts +0 -84
  459. package/types/contracts/Interfaces.sol/IQuoterV2.ts +0 -184
  460. package/types/contracts/Interfaces.sol/ISwapRouter.ts +0 -306
  461. package/types/contracts/Interfaces.sol/IUBIScheme.ts +0 -121
  462. package/types/contracts/Interfaces.sol/ProxyAdmin.ts +0 -261
  463. package/types/contracts/Interfaces.sol/Reserve.ts +0 -112
  464. package/types/contracts/Interfaces.sol/Staking.ts +0 -165
  465. package/types/contracts/Interfaces.sol/Uniswap.ts +0 -434
  466. package/types/contracts/Interfaces.sol/UniswapFactory.ts +0 -104
  467. package/types/contracts/Interfaces.sol/UniswapPair.ts +0 -193
  468. package/types/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet.ts +0 -1439
  469. package/types/contracts/fuseFaucet/FuseFaucet.ts +0 -537
  470. package/types/contracts/fuseFaucet/FuseFaucetV2.ts +0 -929
  471. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor.ts +0 -648
  472. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable.ts +0 -843
  473. package/types/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.ts +0 -1032
  474. package/types/contracts/governance/ClaimersDistribution.ts +0 -676
  475. package/types/contracts/governance/CompoundVotingMachine.ts +0 -1790
  476. package/types/contracts/governance/GReputation.ts +0 -2258
  477. package/types/contracts/governance/GovernanceStaking.ts +0 -1401
  478. package/types/contracts/governance/MultiBaseGovernanceShareField.ts +0 -422
  479. package/types/contracts/governance/Reputation.ts +0 -1029
  480. package/types/contracts/governance/StakersDistribution.ts +0 -1000
  481. package/types/contracts/invite/InvitesV1.ts +0 -839
  482. package/types/contracts/invite/OneTimeReward.ts +0 -521
  483. package/types/contracts/mocks/AaveMock.ts +0 -1096
  484. package/types/contracts/mocks/AaveUSDMockOracle.ts +0 -87
  485. package/types/contracts/mocks/BatUSDMockOracle.ts +0 -87
  486. package/types/contracts/mocks/CBATMock.ts +0 -1286
  487. package/types/contracts/mocks/CDAILowWorthMock.ts +0 -1251
  488. package/types/contracts/mocks/CDAIMock.ts +0 -1303
  489. package/types/contracts/mocks/CDAINonMintableMock.ts +0 -1251
  490. package/types/contracts/mocks/CDecimalsMock.ts +0 -1286
  491. package/types/contracts/mocks/CSDTMock.ts +0 -1286
  492. package/types/contracts/mocks/CUSDCMock.ts +0 -1286
  493. package/types/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.ts +0 -1226
  494. package/types/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts +0 -1279
  495. package/types/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper.ts +0 -1252
  496. package/types/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.ts +0 -87
  497. package/types/contracts/mocks/DAIMock.ts +0 -1171
  498. package/types/contracts/mocks/DaiEthPriceMockOracle.ts +0 -87
  499. package/types/contracts/mocks/DecimalsMock.ts +0 -1096
  500. package/types/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.ts +0 -1393
  501. package/types/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.ts +0 -1456
  502. package/types/contracts/mocks/EthUSDMockOracle.ts +0 -138
  503. package/types/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.ts +0 -131
  504. package/types/contracts/mocks/GasPriceMockOracle.ts +0 -120
  505. package/types/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts +0 -1357
  506. package/types/contracts/mocks/GoodCompoundStakingTest.ts +0 -2044
  507. package/types/contracts/mocks/GoodFundManagerTest.ts +0 -1268
  508. package/types/contracts/mocks/IdentityMock.ts +0 -554
  509. package/types/contracts/mocks/IncentiveControllerMock.ts +0 -212
  510. package/types/contracts/mocks/LendingPoolMock.ts +0 -1331
  511. package/types/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.ts +0 -176
  512. package/types/contracts/mocks/OverMintTester.sol/OverMintTester.ts +0 -178
  513. package/types/contracts/mocks/OverMintTesterRegularStake.ts +0 -178
  514. package/types/contracts/mocks/PayableMock.ts +0 -89
  515. package/types/contracts/mocks/SixteenDecimalsTokenMock.ts +0 -1096
  516. package/types/contracts/mocks/SwapHelperTest.ts +0 -118
  517. package/types/contracts/mocks/TwentyDecimalsTokenMock.ts +0 -1096
  518. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock.ts +0 -379
  519. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.ts +0 -339
  520. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.ts +0 -365
  521. package/types/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.ts +0 -365
  522. package/types/contracts/mocks/UsdcMock.sol/USDCMock.ts +0 -1096
  523. package/types/contracts/reserve/CeloDistributionHelper.ts +0 -1226
  524. package/types/contracts/reserve/DistributionHelper.ts +0 -1393
  525. package/types/contracts/reserve/ExchangeHelper.ts +0 -584
  526. package/types/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper.ts +0 -1247
  527. package/types/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  528. package/types/contracts/reserve/GoodMarketMaker.ts +0 -1054
  529. package/types/contracts/reserve/GoodReserveADai.ts +0 -2212
  530. package/types/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.ts +0 -166
  531. package/types/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.ts +0 -2190
  532. package/types/contracts/staking/BaseShareField.ts +0 -456
  533. package/types/contracts/staking/BaseShareFieldV2.ts +0 -368
  534. package/types/contracts/staking/DonationsStaking.ts +0 -851
  535. package/types/contracts/staking/FuseStakingV3.sol/FuseStakingV3.ts +0 -1280
  536. package/types/contracts/staking/FuseStakingV3.sol/IConsensus.ts +0 -232
  537. package/types/contracts/staking/FuseStakingV3.sol/PegSwap.ts +0 -112
  538. package/types/contracts/staking/GoodFundManager.ts +0 -1228
  539. package/types/contracts/staking/SimpleStaking.ts +0 -1598
  540. package/types/contracts/staking/SimpleStakingV2.ts +0 -1495
  541. package/types/contracts/staking/UniswapV2SwapHelper.ts +0 -123
  542. package/types/contracts/staking/aave/AaveStakingFactory.ts +0 -323
  543. package/types/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2.ts +0 -1808
  544. package/types/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  545. package/types/contracts/staking/aave/GoodAaveStaking.ts +0 -1843
  546. package/types/contracts/staking/aave/GoodAaveStakingV2.ts +0 -1808
  547. package/types/contracts/staking/compound/CompoundStakingFactory.ts +0 -284
  548. package/types/contracts/staking/compound/GoodCompoundStaking.ts +0 -1932
  549. package/types/contracts/staking/compound/GoodCompoundStakingV2.ts +0 -1717
  550. package/types/contracts/token/ERC20PresetMinterPauserUpgradeable.ts +0 -1204
  551. package/types/contracts/token/ERC677.sol/ERC677.ts +0 -141
  552. package/types/contracts/token/ERC677.sol/ERC677Receiver.ts +0 -115
  553. package/types/contracts/token/GoodDollar.ts +0 -1871
  554. package/types/contracts/token/GoodDollar18.ts +0 -1871
  555. package/types/contracts/token/GoodDollar2.ts +0 -1871
  556. package/types/contracts/token/IFeesFormula.ts +0 -110
  557. package/types/contracts/token/MultichainFeeFormula.ts +0 -131
  558. package/types/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.ts +0 -195
  559. package/types/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.ts +0 -115
  560. package/types/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.ts +0 -650
  561. package/types/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.ts +0 -3462
  562. package/types/contracts/token/superfluid/ISuperToken.ts +0 -2203
  563. package/types/contracts/token/superfluid/SuperGoodDollar.ts +0 -3866
  564. package/types/contracts/token/superfluid/SuperToken.ts +0 -2441
  565. package/types/contracts/token/superfluid/SuperfluidToken.ts +0 -996
  566. package/types/contracts/token/superfluid/UUPSProxiable.ts +0 -197
  567. package/types/contracts/token/superfluid/UUPSProxy.sol/Proxy.ts +0 -55
  568. package/types/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.ts +0 -104
  569. package/types/contracts/ubi/UBIScheme.ts +0 -1606
  570. package/types/contracts/utils/AdminWallet.ts +0 -1359
  571. package/types/contracts/utils/AdminWalletFuse.ts +0 -1507
  572. package/types/contracts/utils/BancorFormula.ts +0 -990
  573. package/types/contracts/utils/BulkWhitelist.ts +0 -153
  574. package/types/contracts/utils/BuyAndBridgeHelper.ts +0 -293
  575. package/types/contracts/utils/BuyGDClone.sol/BuyGDClone.ts +0 -430
  576. package/types/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.ts +0 -716
  577. package/types/contracts/utils/BuyGDClone.sol/BuyGDCloneV2.ts +0 -464
  578. package/types/contracts/utils/BuyGDClone.sol/DonateGDClone.ts +0 -582
  579. package/types/contracts/utils/BuyGDClone.sol/IQuoterV2.ts +0 -184
  580. package/types/contracts/utils/BuyGDClone.sol/ISwapRouter.ts +0 -306
  581. package/types/contracts/utils/DAOContract.ts +0 -166
  582. package/types/contracts/utils/DAOUpgradeableContract.ts +0 -325
  583. package/types/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677.ts +0 -108
  584. package/types/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.ts +0 -108
  585. package/types/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.ts +0 -89
  586. package/types/contracts/utils/FuseOldBridgeKill.sol/Initializable.ts +0 -87
  587. package/types/contracts/utils/FuseOldBridgeKill.sol/Ownable.ts +0 -148
  588. package/types/contracts/utils/GDFaucet.ts +0 -224
  589. package/types/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.ts +0 -1899
  590. package/types/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.ts +0 -143
  591. package/types/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.ts +0 -135
  592. package/types/contracts/utils/IdentityFix.ts +0 -139
  593. package/types/contracts/utils/MultiCall.sol/Multicall.ts +0 -310
  594. package/types/contracts/utils/MultichainBridgeHelper.ts +0 -175
  595. package/types/contracts/utils/NameService.ts +0 -420
  596. package/types/contracts/utils/OneTimePayments.ts +0 -426
  597. package/types/contracts/utils/OneTimePaymentsV2.ts +0 -484
  598. package/types/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.ts +0 -114
  599. package/types/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.ts +0 -278
  600. package/types/contracts/utils/ProtocolUpgradeFuse.ts +0 -167
  601. package/types/contracts/utils/ProtocolUpgradeFuseRecover.ts +0 -167
  602. package/types/contracts/utils/ProtocolUpgradeRecover.ts +0 -270
  603. package/types/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.ts +0 -163
  604. package/types/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.ts +0 -313
  605. package/types/contracts/utils/ReputationTestHelper.ts +0 -177
  606. package/types/contracts/utils/ReserveRestore.sol/MentoExchange.ts +0 -81
  607. package/types/contracts/utils/ReserveRestore.sol/ReserveRestore.ts +0 -112
  608. package/types/contracts/utils/ReserveRestore.sol/index.ts +0 -5
  609. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange.ts +0 -81
  610. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +0 -5
  611. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange.ts +0 -81
  612. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC.ts +0 -122
  613. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +0 -5
  614. package/types/factories/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/ILayerZeroFeeEstimator__factory.ts +0 -79
  615. package/types/factories/@gooddollar/bridge-contracts/contracts/messagePassingBridge/IMessagePassingBridge.sol/IMessagePassingBridge__factory.ts +0 -446
  616. package/types/factories/@mean-finance/uniswap-v3-oracle/solidity/interfaces/IStaticOracle__factory.ts +0 -410
  617. package/types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +0 -230
  618. package/types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +0 -198
  619. package/types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +0 -78
  620. package/types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +0 -39
  621. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +0 -146
  622. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade__factory.ts +0 -71
  623. package/types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +0 -31
  624. package/types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +0 -39
  625. package/types/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.ts +0 -39
  626. package/types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +0 -65
  627. package/types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +0 -349
  628. package/types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +0 -206
  629. package/types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +0 -248
  630. package/types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.ts +0 -101
  631. package/types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +0 -311
  632. package/types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +0 -356
  633. package/types/factories/@openzeppelin/contracts/token/ERC777/IERC777Recipient__factory.ts +0 -64
  634. package/types/factories/@openzeppelin/contracts/token/ERC777/IERC777Sender__factory.ts +0 -64
  635. package/types/factories/@openzeppelin/contracts/token/ERC777/IERC777__factory.ts +0 -417
  636. package/types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts +0 -42
  637. package/types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +0 -45
  638. package/types/factories/@openzeppelin/contracts/utils/introspection/IERC1820Registry__factory.ts +0 -239
  639. package/types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable__factory.ts +0 -292
  640. package/types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +0 -247
  641. package/types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable__factory.ts +0 -247
  642. package/types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable__factory.ts +0 -202
  643. package/types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +0 -91
  644. package/types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC1271Upgradeable__factory.ts +0 -50
  645. package/types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts +0 -43
  646. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts +0 -88
  647. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts +0 -39
  648. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +0 -39
  649. package/types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +0 -128
  650. package/types/factories/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable__factory.ts +0 -78
  651. package/types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts +0 -43
  652. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.ts +0 -345
  653. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts +0 -209
  654. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable__factory.ts +0 -344
  655. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable__factory.ts +0 -352
  656. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable__factory.ts +0 -252
  657. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol/ERC20PermitUpgradeable__factory.ts +0 -388
  658. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable__factory.ts +0 -105
  659. package/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable__factory.ts +0 -748
  660. package/types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +0 -39
  661. package/types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable__factory.ts +0 -39
  662. package/types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +0 -58
  663. package/types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.ts +0 -45
  664. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1__factory.ts +0 -1064
  665. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.ts +0 -1015
  666. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantInflowNFT__factory.ts +0 -551
  667. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantOutflowNFT__factory.ts +0 -614
  668. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IFlowNFTBase__factory.ts +0 -515
  669. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperAgreement__factory.ts +0 -78
  670. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperApp__factory.ts +0 -275
  671. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperTokenFactory__factory.ts +0 -276
  672. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperToken__factory.ts +0 -1839
  673. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidGovernance__factory.ts +0 -282
  674. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken__factory.ts +0 -697
  675. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluid__factory.ts +0 -1156
  676. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ERC20WithTokenInfo__factory.ts +0 -248
  677. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETHCustom__factory.ts +0 -59
  678. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.ts +0 -1869
  679. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/TokenInfo__factory.ts +0 -65
  680. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/libs/EventsEmitter__factory.ts +0 -87
  681. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantInflowNFT__factory.ts +0 -758
  682. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/ConstantOutflowNFT__factory.ts +0 -817
  683. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/superfluid/FlowNFTBase__factory.ts +0 -645
  684. package/types/factories/@superfluid-finance/ethereum-contracts/contracts/upgradability/UUPSProxiable__factory.ts +0 -104
  685. package/types/factories/@uniswap/v2-periphery/contracts/interfaces/IWETH__factory.ts +0 -67
  686. package/types/factories/@uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.ts +0 -222
  687. package/types/factories/contracts/DAOStackInterfaces.sol/Avatar__factory.ts +0 -62
  688. package/types/factories/contracts/DAOStackInterfaces.sol/Controller__factory.ts +0 -362
  689. package/types/factories/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface__factory.ts +0 -72
  690. package/types/factories/contracts/DAOStackInterfaces.sol/IntVoteInterface__factory.ts +0 -349
  691. package/types/factories/contracts/DAOStackInterfaces.sol/ReputationInterface__factory.ts +0 -168
  692. package/types/factories/contracts/DAOStackInterfaces.sol/SchemeRegistrar__factory.ts +0 -114
  693. package/types/factories/contracts/IQuoter.sol/IQuoterV2__factory.ts +0 -226
  694. package/types/factories/contracts/IQuoter.sol/index.ts +0 -4
  695. package/types/factories/contracts/IUniswapV3.sol/INonfungiblePositionManager__factory.ts +0 -121
  696. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Factory__factory.ts +0 -84
  697. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Pool__factory.ts +0 -121
  698. package/types/factories/contracts/Interfaces.sol/AToken__factory.ts +0 -36
  699. package/types/factories/contracts/Interfaces.sol/AggregatorV3Interface__factory.ts +0 -121
  700. package/types/factories/contracts/Interfaces.sol/CERC20__factory.ts +0 -384
  701. package/types/factories/contracts/Interfaces.sol/ERC20__factory.ts +0 -288
  702. package/types/factories/contracts/Interfaces.sol/IAaveIncentivesControllerV3__factory.ts +0 -88
  703. package/types/factories/contracts/Interfaces.sol/IAaveIncentivesController__factory.ts +0 -83
  704. package/types/factories/contracts/Interfaces.sol/IAdminWallet__factory.ts +0 -78
  705. package/types/factories/contracts/Interfaces.sol/IDonationStaking__factory.ts +0 -33
  706. package/types/factories/contracts/Interfaces.sol/IERC2917__factory.ts +0 -496
  707. package/types/factories/contracts/Interfaces.sol/IFirstClaimPool__factory.ts +0 -65
  708. package/types/factories/contracts/Interfaces.sol/IGoodDollar__factory.ts +0 -598
  709. package/types/factories/contracts/Interfaces.sol/IGoodStaking__factory.ts +0 -178
  710. package/types/factories/contracts/Interfaces.sol/IHasRouter__factory.ts +0 -39
  711. package/types/factories/contracts/Interfaces.sol/IIdentityV2__factory.ts +0 -334
  712. package/types/factories/contracts/Interfaces.sol/IIdentity__factory.ts +0 -287
  713. package/types/factories/contracts/Interfaces.sol/ILendingPoolV3__factory.ts +0 -186
  714. package/types/factories/contracts/Interfaces.sol/ILendingPool__factory.ts +0 -171
  715. package/types/factories/contracts/Interfaces.sol/IMultichainRouter__factory.ts +0 -82
  716. package/types/factories/contracts/Interfaces.sol/INameService__factory.ts +0 -45
  717. package/types/factories/contracts/Interfaces.sol/IQuoterV2__factory.ts +0 -126
  718. package/types/factories/contracts/Interfaces.sol/ISwapRouter__factory.ts +0 -220
  719. package/types/factories/contracts/Interfaces.sol/IUBIScheme__factory.ts +0 -71
  720. package/types/factories/contracts/Interfaces.sol/ProxyAdmin__factory.ts +0 -131
  721. package/types/factories/contracts/Interfaces.sol/Reserve__factory.ts +0 -55
  722. package/types/factories/contracts/Interfaces.sol/Staking__factory.ts +0 -77
  723. package/types/factories/contracts/Interfaces.sol/UniswapFactory__factory.ts +0 -50
  724. package/types/factories/contracts/Interfaces.sol/UniswapPair__factory.ts +0 -120
  725. package/types/factories/contracts/Interfaces.sol/Uniswap__factory.ts +0 -275
  726. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet__factory.ts +0 -945
  727. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/index.ts +0 -4
  728. package/types/factories/contracts/fuseFaucet/Faucet__factory.ts +0 -914
  729. package/types/factories/contracts/fuseFaucet/FuseFaucetV2__factory.ts +0 -627
  730. package/types/factories/contracts/fuseFaucet/FuseFaucet__factory.ts +0 -389
  731. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable__factory.ts +0 -572
  732. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor__factory.ts +0 -482
  733. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
  734. package/types/factories/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet__factory.ts +0 -663
  735. package/types/factories/contracts/governance/ClaimersDistribution__factory.ts +0 -430
  736. package/types/factories/contracts/governance/CompoundVotingMachine__factory.ts +0 -1226
  737. package/types/factories/contracts/governance/GReputation__factory.ts +0 -1493
  738. package/types/factories/contracts/governance/GovernanceStaking__factory.ts +0 -948
  739. package/types/factories/contracts/governance/MultiBaseGovernanceShareField__factory.ts +0 -240
  740. package/types/factories/contracts/governance/Reputation__factory.ts +0 -696
  741. package/types/factories/contracts/governance/StakersDistribution__factory.ts +0 -617
  742. package/types/factories/contracts/identity/IdentityV2__factory.ts +0 -1150
  743. package/types/factories/contracts/invite/InvitesFuseV2__factory.ts +0 -574
  744. package/types/factories/contracts/invite/InvitesV1__factory.ts +0 -556
  745. package/types/factories/contracts/invite/OneTimeReward__factory.ts +0 -361
  746. package/types/factories/contracts/mocks/AaveMock__factory.ts +0 -743
  747. package/types/factories/contracts/mocks/AaveUSDMockOracle__factory.ts +0 -75
  748. package/types/factories/contracts/mocks/BatUSDMockOracle__factory.ts +0 -75
  749. package/types/factories/contracts/mocks/CBATMock__factory.ts +0 -847
  750. package/types/factories/contracts/mocks/CDAILowWorthMock__factory.ts +0 -834
  751. package/types/factories/contracts/mocks/CDAIMock__factory.ts +0 -860
  752. package/types/factories/contracts/mocks/CDAINonMintableMock__factory.ts +0 -834
  753. package/types/factories/contracts/mocks/CDecimalsMock__factory.ts +0 -847
  754. package/types/factories/contracts/mocks/CSDTMock__factory.ts +0 -847
  755. package/types/factories/contracts/mocks/CUSDCMock__factory.ts +0 -847
  756. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +0 -949
  757. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest__factory.ts +0 -919
  758. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +0 -929
  759. package/types/factories/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle__factory.ts +0 -75
  760. package/types/factories/contracts/mocks/DAIMock__factory.ts +0 -784
  761. package/types/factories/contracts/mocks/DaiEthPriceMockOracle__factory.ts +0 -79
  762. package/types/factories/contracts/mocks/DecimalsMock__factory.ts +0 -758
  763. package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +0 -1040
  764. package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest__factory.ts +0 -1007
  765. package/types/factories/contracts/mocks/EthUSDMockOracle__factory.ts +0 -108
  766. package/types/factories/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock__factory.ts +0 -132
  767. package/types/factories/contracts/mocks/GasPriceMockOracle__factory.ts +0 -88
  768. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +0 -1017
  769. package/types/factories/contracts/mocks/GoodCompoundStakingTest__factory.ts +0 -1470
  770. package/types/factories/contracts/mocks/GoodFundManagerTest__factory.ts +0 -820
  771. package/types/factories/contracts/mocks/IdentityMock__factory.ts +0 -349
  772. package/types/factories/contracts/mocks/IncentiveControllerMock__factory.ts +0 -166
  773. package/types/factories/contracts/mocks/LendingPoolMock__factory.ts +0 -927
  774. package/types/factories/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest__factory.ts +0 -68
  775. package/types/factories/contracts/mocks/OverMintTester.sol/OverMintTester__factory.ts +0 -152
  776. package/types/factories/contracts/mocks/OverMintTesterRegularStake__factory.ts +0 -156
  777. package/types/factories/contracts/mocks/PayableMock__factory.ts +0 -69
  778. package/types/factories/contracts/mocks/SixteenDecimalsTokenMock__factory.ts +0 -747
  779. package/types/factories/contracts/mocks/SwapHelperTest__factory.ts +0 -96
  780. package/types/factories/contracts/mocks/TwentyDecimalsTokenMock__factory.ts +0 -747
  781. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock2__factory.ts +0 -236
  782. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock3__factory.ts +0 -249
  783. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock4__factory.ts +0 -249
  784. package/types/factories/contracts/mocks/UpgradableMocks.sol/UpgradableMock__factory.ts +0 -262
  785. package/types/factories/contracts/mocks/UsdcMock.sol/USDCMock__factory.ts +0 -743
  786. package/types/factories/contracts/reserve/CeloDistributionHelper__factory.ts +0 -919
  787. package/types/factories/contracts/reserve/DistributionHelper__factory.ts +0 -1003
  788. package/types/factories/contracts/reserve/ExchangeHelper__factory.ts +0 -427
  789. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper__factory.ts +0 -935
  790. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  791. package/types/factories/contracts/reserve/GoodMarketMaker__factory.ts +0 -687
  792. package/types/factories/contracts/reserve/GoodReserveADai__factory.ts +0 -1502
  793. package/types/factories/contracts/reserve/GoodReserveCDai.sol/ContributionCalc__factory.ts +0 -83
  794. package/types/factories/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai__factory.ts +0 -1489
  795. package/types/factories/contracts/staking/BaseShareFieldV2__factory.ts +0 -251
  796. package/types/factories/contracts/staking/BaseShareField__factory.ts +0 -307
  797. package/types/factories/contracts/staking/DonationsStaking__factory.ts +0 -580
  798. package/types/factories/contracts/staking/FuseStakingV3.sol/FuseStakingV3__factory.ts +0 -814
  799. package/types/factories/contracts/staking/FuseStakingV3.sol/IConsensus__factory.ts +0 -119
  800. package/types/factories/contracts/staking/FuseStakingV3.sol/PegSwap__factory.ts +0 -49
  801. package/types/factories/contracts/staking/GoodFundManager__factory.ts +0 -778
  802. package/types/factories/contracts/staking/SimpleStakingV2__factory.ts +0 -999
  803. package/types/factories/contracts/staking/SimpleStaking__factory.ts +0 -1061
  804. package/types/factories/contracts/staking/UniswapV2SwapHelper__factory.ts +0 -101
  805. package/types/factories/contracts/staking/aave/AaveStakingFactory__factory.ts +0 -262
  806. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2__factory.ts +0 -1240
  807. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  808. package/types/factories/contracts/staking/aave/GoodAaveStakingV2__factory.ts +0 -1240
  809. package/types/factories/contracts/staking/aave/GoodAaveStaking__factory.ts +0 -1276
  810. package/types/factories/contracts/staking/compound/CompoundStakingFactory__factory.ts +0 -249
  811. package/types/factories/contracts/staking/compound/GoodCompoundStakingV2__factory.ts +0 -1182
  812. package/types/factories/contracts/staking/compound/GoodCompoundStaking__factory.ts +0 -1316
  813. package/types/factories/contracts/token/ERC20PresetMinterPauserUpgradeable__factory.ts +0 -829
  814. package/types/factories/contracts/token/ERC677.sol/ERC677Receiver__factory.ts +0 -55
  815. package/types/factories/contracts/token/ERC677.sol/ERC677__factory.ts +0 -78
  816. package/types/factories/contracts/token/GoodDollar18__factory.ts +0 -1257
  817. package/types/factories/contracts/token/GoodDollar2__factory.ts +0 -1257
  818. package/types/factories/contracts/token/GoodDollar__factory.ts +0 -1257
  819. package/types/factories/contracts/token/IFeesFormula__factory.ts +0 -60
  820. package/types/factories/contracts/token/MultichainFeeFormula__factory.ts +0 -113
  821. package/types/factories/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit__factory.ts +0 -114
  822. package/types/factories/contracts/token/superfluid/ERC20Permit.sol/SelfApprove__factory.ts +0 -49
  823. package/types/factories/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom__factory.ts +0 -370
  824. package/types/factories/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar__factory.ts +0 -2301
  825. package/types/factories/contracts/token/superfluid/ISuperToken__factory.ts +0 -1577
  826. package/types/factories/contracts/token/superfluid/SuperGoodDollar__factory.ts +0 -2687
  827. package/types/factories/contracts/token/superfluid/SuperToken__factory.ts +0 -1770
  828. package/types/factories/contracts/token/superfluid/SuperfluidToken__factory.ts +0 -697
  829. package/types/factories/contracts/token/superfluid/UUPSProxiable__factory.ts +0 -104
  830. package/types/factories/contracts/token/superfluid/UUPSProxy.sol/Proxy__factory.ts +0 -31
  831. package/types/factories/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy__factory.ts +0 -83
  832. package/types/factories/contracts/ubi/UBIScheme__factory.ts +0 -1055
  833. package/types/factories/contracts/utils/AdminWalletFuse__factory.ts +0 -967
  834. package/types/factories/contracts/utils/AdminWallet__factory.ts +0 -882
  835. package/types/factories/contracts/utils/BancorFormula__factory.ts +0 -677
  836. package/types/factories/contracts/utils/BulkWhitelist__factory.ts +0 -123
  837. package/types/factories/contracts/utils/BuyAndBridgeHelper__factory.ts +0 -237
  838. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory__factory.ts +0 -602
  839. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneV2__factory.ts +0 -415
  840. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDClone__factory.ts +0 -389
  841. package/types/factories/contracts/utils/BuyGDClone.sol/DonateGDClone__factory.ts +0 -503
  842. package/types/factories/contracts/utils/BuyGDClone.sol/IQuoterV2__factory.ts +0 -126
  843. package/types/factories/contracts/utils/BuyGDClone.sol/ISwapRouter__factory.ts +0 -220
  844. package/types/factories/contracts/utils/DAOContract__factory.ts +0 -121
  845. package/types/factories/contracts/utils/DAOUpgradeableContract__factory.ts +0 -227
  846. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677__factory.ts +0 -86
  847. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill__factory.ts +0 -82
  848. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage__factory.ts +0 -43
  849. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/Initializable__factory.ts +0 -75
  850. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/Ownable__factory.ts +0 -105
  851. package/types/factories/contracts/utils/GDFaucet__factory.ts +0 -191
  852. package/types/factories/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper__factory.ts +0 -1330
  853. package/types/factories/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter__factory.ts +0 -74
  854. package/types/factories/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl__factory.ts +0 -84
  855. package/types/factories/contracts/utils/IdentityFix__factory.ts +0 -113
  856. package/types/factories/contracts/utils/MultiCall.sol/Multicall__factory.ts +0 -218
  857. package/types/factories/contracts/utils/MultichainBridgeHelper__factory.ts +0 -134
  858. package/types/factories/contracts/utils/NameService__factory.ts +0 -293
  859. package/types/factories/contracts/utils/OneTimePaymentsV2__factory.ts +0 -369
  860. package/types/factories/contracts/utils/OneTimePayments__factory.ts +0 -323
  861. package/types/factories/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker__factory.ts +0 -62
  862. package/types/factories/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade__factory.ts +0 -207
  863. package/types/factories/contracts/utils/ProtocolUpgradeFuseRecover__factory.ts +0 -146
  864. package/types/factories/contracts/utils/ProtocolUpgradeFuse__factory.ts +0 -142
  865. package/types/factories/contracts/utils/ProtocolUpgradeRecover__factory.ts +0 -184
  866. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange__factory.ts +0 -39
  867. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +0 -152
  868. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
  869. package/types/factories/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy__factory.ts +0 -133
  870. package/types/factories/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967__factory.ts +0 -223
  871. package/types/factories/contracts/utils/ReputationTestHelper__factory.ts +0 -141
  872. package/types/factories/contracts/utils/ReserveRestore.sol/ReserveRestore__factory.ts +0 -95
  873. package/types/factories/contracts/utils/ReserveRestore.sol/index.ts +0 -5
  874. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange__factory.ts +0 -39
  875. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC__factory.ts +0 -110
  876. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +0 -5
  877. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange__factory.ts +0 -39
  878. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC__factory.ts +0 -115
  879. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +0 -5
  880. /package/types/contracts/utils/{ProtocolUpgradeV4Mento.sol → UpdateReserveRatio.sol}/MentoExchange.ts +0 -0
@@ -1,87 +0,0 @@
1
- import { range, chunk, uniq } from "lodash";
2
- import { ethers } from "hardhat";
3
- import { Contract, Provider, setMulticallAddress } from "ethers-multicall";
4
- import fs from "fs";
5
- import { Retrier } from "@jsier/retrier";
6
-
7
- setMulticallAddress(122, "0x3CE6158b7278Bf6792e014FA7B4f3c6c46fe9410");
8
- setMulticallAddress(42220, "0x75F59534dd892c1f8a7B172D639FA854D529ada3");
9
- const celoProvider = new ethers.providers.JsonRpcBatchProvider("https://forno.celo.org");
10
- const ethcallProvider = new Provider(celoProvider, 42220);
11
- const ethcallFuseProvider = new Provider(new ethers.providers.JsonRpcProvider("https://rpc.fuse.io"), 122);
12
-
13
- const ONE_DAY = 24 * 60 * 60;
14
- /**
15
- * find accounts that where whitelisted on celo with diff authentication date than on fuse
16
- */
17
- const main = async () => {
18
- const identity = await ethers.getContractAt("IdentityV2", "0xC361A6E67822a0EDc17D899227dd9FC50BD62F42");
19
- const abi = identity.interface.format(ethers.utils.FormatTypes.full);
20
- const multiIdentity = new Contract(identity.address, abi as string[]);
21
- const multiIdentityFuse = new Contract("0x2F9C28de9e6d44b71B91b8BA337A5D82e308E7BE", abi as string[]);
22
-
23
- const celoStartBlock = 18003118;
24
- const step = 10000;
25
- const celoLastBlock = await ethers.provider.getBlockNumber();
26
- const notFuse = [],
27
- notCelo = [],
28
- toFixCelo = [],
29
- toFixFuse = [],
30
- notBoth = [];
31
- for (let i = 0; celoStartBlock + step * i < celoLastBlock; i++) {
32
- try {
33
- const options = { limit: 3, delay: 2000 };
34
- const retrier = new Retrier(options);
35
-
36
- const lastBlock = celoStartBlock + step * (i + 1) + 1;
37
- await retrier.resolve(async attempt => {
38
- const events = await identity
39
- .connect(celoProvider)
40
- .queryFilter(
41
- identity.filters["WhitelistedAdded"](),
42
- celoStartBlock + step * i,
43
- Math.min(celoLastBlock, lastBlock)
44
- );
45
- console.log("found events:", events.length);
46
- const whitelisted = events.map(_ => _.args?.account);
47
- let found = 0;
48
- const ps = chunk(whitelisted, 400).map(async addrChunk => {
49
- const results = await ethcallProvider.all(addrChunk.map(addr => multiIdentity.lastAuthenticated(addr)));
50
- const resultsFuse = await ethcallFuseProvider.all(
51
- addrChunk.map(addr => multiIdentityFuse.lastAuthenticated(addr))
52
- );
53
- results.forEach((v, i) => {
54
- const diff = v.toNumber() - resultsFuse[i].toNumber();
55
- if (v.eq(0) || diff > 3600) {
56
- found++;
57
- // console.log("diff:", { i, addr: whitelisted[i], celo: v, fuse: resultsFuse[i] });
58
- if (v.eq(0) && resultsFuse[i].eq(0)) {
59
- // notBoth.push(addrChunk[i]);
60
- } else if (v.eq(0)) {
61
- notCelo.push(addrChunk[i]);
62
- } else if (resultsFuse[i].eq(0)) {
63
- notFuse.push([addrChunk[i], v.toNumber()]);
64
- } else if (diff > 0) {
65
- // console.log("mismatch:", addrChunk[i], { diff });
66
- toFixCelo.push([addrChunk[i], resultsFuse[i].toNumber()]);
67
- } else {
68
- toFixFuse.push([addrChunk[i], v.toNumber()]);
69
- }
70
- }
71
- });
72
- });
73
- await Promise.all(ps);
74
- console.log("done day:", { i, attempt, found });
75
- });
76
- } catch (e) {
77
- console.log("failed day:", i, e.message.slice(0, 100));
78
- }
79
- }
80
- fs.writeFileSync("whitelistissue.json", JSON.stringify({ toFixCelo, toFixFuse, notCelo, notFuse }));
81
- console.log({ toFixFuse: toFixFuse.length, toFixCelo: toFixCelo.length, notCelo, notFuse });
82
- };
83
-
84
- const fix = async () => {
85
- const { toFix, notFuse } = JSON.parse(fs.readFileSync("whitelistissue.json").toString());
86
- };
87
- main();
@@ -1,202 +0,0 @@
1
- import fs from "fs";
2
- import { chunk } from "lodash";
3
- import { ethers, upgrades, network } from "hardhat";
4
- import GReputationABI from "../artifacts/contracts/governance/GReputation.sol/GReputation.json";
5
- import BulkProofABI from "../artifacts/contracts/utils/BulkProof.sol/BulkProof.json";
6
-
7
- import MerkleTree, {
8
- checkProof,
9
- checkProofOrdered
10
- } from "merkle-tree-solidity";
11
- import { BigNumber } from "ethers";
12
-
13
- console.log({
14
- network: network.name,
15
- upgrade: process.env.UPGRADE
16
- });
17
- const { name: networkName } = network;
18
-
19
- export const bulkProof = async () => {
20
- console.log("signer", await ethers.getSigners());
21
- const fuseProvider = new ethers.providers.JsonRpcProvider(
22
- "https://rpc.fuse.io"
23
- );
24
-
25
- const fuseGDProvider = new ethers.providers.JsonRpcProvider(
26
- "https://gooddollar-rpc.fuse.io"
27
- );
28
-
29
- const goodFuse = new ethers.Contract(
30
- "0x3A9299BE789ac3730e4E4c49d6d2Ad1b8BC34DFf",
31
- GReputationABI.abi,
32
- fuseGDProvider
33
- );
34
-
35
- const START_BLOCK_FUSE = 14149729;
36
-
37
- const LAST_BLOCK = await goodFuse.provider.getBlockNumber();
38
-
39
- const claimedLogs = await goodFuse.queryFilter(
40
- goodFuse.filters.StateHashProof(),
41
- START_BLOCK_FUSE,
42
- LAST_BLOCK
43
- );
44
- console.log("found logs:", claimedLogs.length);
45
- console.log(claimedLogs.filter(_ => !_.args?.user));
46
-
47
- const addrs = claimedLogs.map(_ => _.args?.user);
48
-
49
- const { treeData, merkleRoot } = JSON.parse(
50
- fs.readFileSync("airdrop/airdrop.json").toString()
51
- );
52
-
53
- let entries = Object.entries(treeData);
54
-
55
- let elements = entries.map((e: any) =>
56
- Buffer.from(e[1].hash.slice(2), "hex")
57
- );
58
-
59
- console.log("creating merkletree...", elements.length);
60
- const merkleTree = new MerkleTree(elements, true);
61
-
62
- const calcMerkleRoot = merkleTree.getRoot().toString("hex");
63
- console.log("merkleroots:", {
64
- fromFile: merkleRoot,
65
- calculated: calcMerkleRoot
66
- });
67
-
68
- const proofs = addrs => {
69
- return addrs.map(addr => {
70
- if (!addr) {
71
- console.log("missing", addr);
72
- return;
73
- }
74
- const addrData = treeData[addr] || treeData[addr.toLowerCase()];
75
- const proofFor = Buffer.from(addrData.hash.slice(2), "hex");
76
-
77
- const proof = merkleTree.getProof(proofFor);
78
- const proofIndex =
79
- entries.findIndex((_: any) => _[1].hash === addrData.hash) + 1;
80
-
81
- // console.log(
82
- // "checkProof:",
83
- // checkProofOrdered(proof, merkleTree.getRoot(), proofFor, proofIndex)
84
- // );
85
-
86
- const hexProof = proof.map(_ => "0x" + _.toString("hex"));
87
- // console.log({
88
- // proofIndex,
89
- // rep: BigNumber.from(addrData.rep).toString(),
90
- // // hexProof,
91
- // addr
92
- // });
93
-
94
- return {
95
- index: proofIndex,
96
- balance: BigNumber.from(addrData.rep).toString(),
97
- proof: hexProof,
98
- account: addr
99
- };
100
- });
101
- };
102
-
103
- const bulkProofContract = await ethers.getContractAt(
104
- "BulkProof",
105
- "0x8449bb7BDa431F76c21bcCDEce2794D8aD24D8a8"
106
- );
107
- for (let addrChunk of chunk(addrs, 50)) {
108
- console.log("calling bulk proof");
109
- const proofsChunk = proofs(addrChunk);
110
- await (
111
- await bulkProofContract.bulkProof(proofsChunk, { gasLimit: 10000000 })
112
- ).wait();
113
- }
114
- };
115
-
116
- export const bulkProofGDX = async () => {
117
- const signers = await ethers.getSigners();
118
- console.log("signer", await ethers.getSigners());
119
- // const signer = signers[0].connect(new ethers.providers.InfuraProvider());
120
- const reserve = await ethers.getContractAt(
121
- "GoodReserveCDai",
122
- "0xa150a825d425B36329D8294eeF8bD0fE68f8F6E0"
123
- );
124
-
125
- const { treeData, merkleRoot } = JSON.parse(
126
- fs.readFileSync("airdrop/gdxAirdropRecovery.json").toString()
127
- );
128
-
129
- let entries = Object.entries(treeData);
130
-
131
- let elements = entries.map((e: any) =>
132
- Buffer.from(e[1].hash.slice(2), "hex")
133
- );
134
-
135
- let addrs = Object.keys(treeData);
136
-
137
- console.log("creating merkletree...", elements.length, addrs);
138
- const merkleTree = new MerkleTree(elements, false);
139
-
140
- const calcMerkleRoot = merkleTree.getRoot().toString("hex");
141
- console.log("merkleroots:", {
142
- fromFile: merkleRoot,
143
- calculated: calcMerkleRoot
144
- });
145
-
146
- const proofs = addrs => {
147
- return addrs.map(addr => {
148
- if (!addr) {
149
- console.log("missing", addr);
150
- return;
151
- }
152
- const addrData = treeData[addr] || treeData[addr.toLowerCase()];
153
- const proofFor = Buffer.from(addrData.hash.slice(2), "hex");
154
-
155
- const proof = merkleTree.getProof(proofFor);
156
-
157
- // console.log(
158
- // "checkProof:",
159
- // checkProofOrdered(proof, merkleTree.getRoot(), proofFor, proofIndex)
160
- // );
161
-
162
- const hexProof = proof.map(_ => "0x" + _.toString("hex"));
163
- // console.log({
164
- // proofIndex,
165
- // rep: BigNumber.from(addrData.rep).toString(),
166
- // // hexProof,
167
- // addr
168
- // });
169
-
170
- return {
171
- balance: BigNumber.from(addrData.gdx).toString(),
172
- proof: hexProof,
173
- account: addr
174
- };
175
- });
176
- };
177
-
178
- const bulkProofContract = await ethers.getContractAt(
179
- "BulkProof",
180
- "0xDB8563287ecF1484228951804eC6bf241f884099"
181
- );
182
- for (let addrChunk of chunk(addrs, 60)) {
183
- const proofsChunk = proofs(addrChunk);
184
- console.log("calling bulk proof");
185
- const tx = await bulkProofContract.callStatic.bulkProof(proofsChunk, {
186
- gasLimit: 5000000,
187
- maxPriorityFeePerGas: 1000000000,
188
- maxFeePerGas: 40000000000
189
- });
190
- console.log(tx);
191
- await (
192
- await bulkProofContract.bulkProof(proofsChunk, {
193
- gasLimit: 5000000,
194
- maxPriorityFeePerGas: 1000000000,
195
- maxFeePerGas: 40000000000
196
- })
197
- ).wait();
198
- }
199
- };
200
-
201
- // bulkProof().catch(console.log);
202
- bulkProofGDX().catch(console.log);
@@ -1,31 +0,0 @@
1
- import farmed from "../farming.json";
2
- import { ethers, network } from "hardhat";
3
- import { chunk } from "lodash";
4
- import contracts from "../releases/deployment.json";
5
- import { bulkIsWhitelisted } from "./utils";
6
- const main = async () => {
7
- const signer = (await ethers.getSigners())[0];
8
-
9
- console.log("signer", signer.address);
10
- const whitelist = await ethers.getContractAt("BulkWhitelist", contracts[network.name].BulkWhitelist);
11
- const chunks = chunk(farmed, 300);
12
- for (let batch of chunks) {
13
- console.log("whitelisting batch of", batch.length, batch[0], batch[batch.length - 1]);
14
- const res = await (await whitelist.connect(signer).removeWhitelisted(batch, { gasLimit: 25000000 })).wait();
15
- console.log("tx:", res.transactionHash);
16
- }
17
- };
18
-
19
- const checkReVerified = async () => {
20
- const chunks = chunk(farmed, 300);
21
- let total = 0;
22
- for (let batch of chunks) {
23
- console.log("check whitelisting batch of", batch.length, batch[0], batch[batch.length - 1]);
24
- const res = await bulkIsWhitelisted(batch);
25
- console.log(`${res.length}/${batch.length}`);
26
- total += res.length;
27
- }
28
- console.log(`total: ${total}/${farmed.length}`);
29
- };
30
- checkReVerified();
31
- // main().catch(console.log);
@@ -1,111 +0,0 @@
1
- import { network, ethers } from "hardhat";
2
- import prompt from "prompt";
3
-
4
- import releaser from "./releaser";
5
-
6
- const PROXYFACTORY_CODE =
7
- "0x608060405234801561001057600080fd5b5061131f806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200006a5760003560e01c80631688f0b9146200006f5780632500510e14620000a557806353e5d93514620000db57806361b69abd14620000fd578063addacc0f1462000133578063d18af54d1462000155575b600080fd5b6200008d600480360381019062000087919062000801565b6200018b565b6040516200009c9190620008e7565b60405180910390f35b620000c36004803603810190620000bd91906200096d565b62000205565b604051620000d29190620008e7565b60405180910390f35b620000e5620002ba565b604051620000f4919062000a76565b60405180910390f35b6200011b600480360381019062000115919062000a9a565b620002e7565b6040516200012a9190620008e7565b60405180910390f35b6200013d6200038c565b6040516200014c919062000a76565b60405180910390f35b6200017360048036038101906200016d919062000b45565b620003b9565b604051620001829190620008e7565b60405180910390f35b60006200019a848484620004af565b9050600083511115620001c35760008060008551602087016000865af103620001c257600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051620001f692919062000be7565b60405180910390a19392505050565b6000620002588585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084620004af565b9050806040516020016200026d919062000c64565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b1919062000cde565b60405180910390fd5b606060405180602001620002ce90620005d0565b6020820181038252601f19601f82011660405250905090565b600082604051620002f890620005d0565b62000304919062000d02565b604051809103906000f08015801562000321573d6000803e3d6000fd5b5090506000825111156200034b5760008060008451602086016000865af1036200034a57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e23581846040516200037e92919062000be7565b60405180910390a192915050565b606060405180602001620003a090620005de565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001620003d192919062000d9b565b6040516020818303038152906040528051906020012060001c9050620003f98686836200018b565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614620004a6578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b815260040162000471949392919062000ddc565b600060405180830381600087803b1580156200048c57600080fd5b505af1158015620004a1573d6000803e3d6000fd5b505050505b50949350505050565b600080838051906020012083604051602001620004ce92919062000e5f565b604051602081830303815290604052805190602001209050600060405180602001620004fa90620005d0565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020016200053892919062000ed1565b6040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620005c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005be9062000f4d565b60405180910390fd5b50509392505050565b6102d18062000f7083390190565b60a9806200124183390190565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200062c82620005ff565b9050919050565b6200063e816200061f565b81146200064a57600080fd5b50565b6000813590506200065e8162000633565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006b9826200066e565b810181811067ffffffffffffffff82111715620006db57620006da6200067f565b5b80604052505050565b6000620006f0620005eb565b9050620006fe8282620006ae565b919050565b600067ffffffffffffffff8211156200072157620007206200067f565b5b6200072c826200066e565b9050602081019050919050565b82818337600083830152505050565b60006200075f620007598462000703565b620006e4565b9050828152602081018484840111156200077e576200077d62000669565b5b6200078b84828562000739565b509392505050565b600082601f830112620007ab57620007aa62000664565b5b8135620007bd84826020860162000748565b91505092915050565b6000819050919050565b620007db81620007c6565b8114620007e757600080fd5b50565b600081359050620007fb81620007d0565b92915050565b6000806000606084860312156200081d576200081c620005f5565b5b60006200082d868287016200064d565b935050602084013567ffffffffffffffff811115620008515762000850620005fa565b5b6200085f8682870162000793565b92505060406200087286828701620007ea565b9150509250925092565b6000819050919050565b6000620008a7620008a16200089b84620005ff565b6200087c565b620005ff565b9050919050565b6000620008bb8262000886565b9050919050565b6000620008cf82620008ae565b9050919050565b620008e181620008c2565b82525050565b6000602082019050620008fe6000830184620008d6565b92915050565b600080fd5b600080fd5b60008083601f84011262000927576200092662000664565b5b8235905067ffffffffffffffff81111562000947576200094662000904565b5b60208301915083600182028301111562000966576200096562000909565b5b9250929050565b600080600080606085870312156200098a5762000989620005f5565b5b60006200099a878288016200064d565b945050602085013567ffffffffffffffff811115620009be57620009bd620005fa565b5b620009cc878288016200090e565b93509350506040620009e187828801620007ea565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000a2957808201518184015260208101905062000a0c565b60008484015250505050565b600062000a4282620009ed565b62000a4e8185620009f8565b935062000a6081856020860162000a09565b62000a6b816200066e565b840191505092915050565b6000602082019050818103600083015262000a92818462000a35565b905092915050565b6000806040838503121562000ab45762000ab3620005f5565b5b600062000ac4858286016200064d565b925050602083013567ffffffffffffffff81111562000ae85762000ae7620005fa565b5b62000af68582860162000793565b9150509250929050565b600062000b0d826200061f565b9050919050565b62000b1f8162000b00565b811462000b2b57600080fd5b50565b60008135905062000b3f8162000b14565b92915050565b6000806000806080858703121562000b625762000b61620005f5565b5b600062000b72878288016200064d565b945050602085013567ffffffffffffffff81111562000b965762000b95620005fa565b5b62000ba48782880162000793565b935050604062000bb787828801620007ea565b925050606062000bca8782880162000b2e565b91505092959194509250565b62000be1816200061f565b82525050565b600060408201905062000bfe6000830185620008d6565b62000c0d602083018462000bd6565b9392505050565b60008160601b9050919050565b600062000c2e8262000c14565b9050919050565b600062000c428262000c21565b9050919050565b62000c5e62000c5882620008c2565b62000c35565b82525050565b600062000c72828462000c49565b60148201915081905092915050565b600081519050919050565b600082825260208201905092915050565b600062000caa8262000c81565b62000cb6818562000c8c565b935062000cc881856020860162000a09565b62000cd3816200066e565b840191505092915050565b6000602082019050818103600083015262000cfa818462000c9d565b905092915050565b600060208201905062000d19600083018462000bd6565b92915050565b6000819050919050565b62000d3e62000d3882620007c6565b62000d1f565b82525050565b600062000d518262000886565b9050919050565b600062000d658262000d44565b9050919050565b600062000d798262000c21565b9050919050565b62000d9562000d8f8262000d58565b62000d6c565b82525050565b600062000da9828562000d29565b60208201915062000dbb828462000d80565b6014820191508190509392505050565b62000dd681620007c6565b82525050565b600060808201905062000df36000830187620008d6565b62000e02602083018662000bd6565b818103604083015262000e16818562000a35565b905062000e27606083018462000dcb565b95945050505050565b6000819050919050565b6000819050919050565b62000e5962000e538262000e30565b62000e3a565b82525050565b600062000e6d828562000e44565b60208201915062000e7f828462000d29565b6020820191508190509392505050565b600081905092915050565b600062000ea782620009ed565b62000eb3818562000e8f565b935062000ec581856020860162000a09565b80840191505092915050565b600062000edf828562000e9a565b915062000eed828462000d29565b6020820191508190509392505050565b7f437265617465322063616c6c206661696c656400000000000000000000000000600082015250565b600062000f3560138362000c8c565b915062000f428262000efd565b602082019050919050565b6000602082019050818103600083015262000f688162000f26565b905091905056fe608060405234801561001057600080fd5b506040516102d13803806102d18339818101604052810190610032919061014a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610098906101fa565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061021a565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610117826100ec565b9050919050565b6101278161010c565b811461013257600080fd5b50565b6000815190506101448161011e565b92915050565b6000602082840312156101605761015f6100e7565b5b600061016e84828501610135565b91505092915050565b600082825260208201905092915050565b7f496e76616c69642073696e676c65746f6e20616464726573732070726f76696460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b60006101e4602283610177565b91506101ef82610188565b604082019050919050565b60006020820190508181036000830152610213816101d7565b9050919050565b60a9806102286000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003503604f578060005260206000f35b3660008037600080366000845af43d6000803e60008103606e573d6000fd5b3d6000f3fea264697066735822122049f30e93de35a93d49348cc74fd27bb93dd1eb95d254f2930a0271d73876690c64736f6c63430008110033608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003503604f578060005260206000f35b3660008037600080366000845af43d6000803e60008103606e573d6000fd5b3d6000f3fea264697066735822122049f30e93de35a93d49348cc74fd27bb93dd1eb95d254f2930a0271d73876690c64736f6c63430008110033a26469706673582212203eedafa11fbb6d90d6fdd6d24faf7d2dfe6346dba76077f30a18b423c089804d64736f6c63430008110033";
8
- const FALLBACKHANDLER_CODE =
9
- "0x608060405234801561001057600080fd5b50611574806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c80636ac247841161008c578063bc197c8111610066578063bc197c81146107bb578063bd61951d14610951578063f23a6e6114610a63578063ffa1ad7414610b63576100ce565b80636ac24784146105ea578063a3f4df7e146106d9578063b2494df31461075c576100ce565b806223de29146100d357806301ffc9a71461020b5780630a1028c41461026e578063150b7a021461033d5780631626ba7e1461043357806320c13b0b146104e9575b600080fd5b610209600480360360c08110156100e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561017057600080fd5b82018360208201111561018257600080fd5b803590602001918460018302840111640100000000831117156101a457600080fd5b9091929391929390803590602001906401000000008111156101c557600080fd5b8201836020820111156101d757600080fd5b803590602001918460018302840111640100000000831117156101f957600080fd5b9091929391929390505050610be6565b005b6102566004803603602081101561022157600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610bf0565b60405180821515815260200191505060405180910390f35b6103276004803603602081101561028457600080fd5b81019080803590602001906401000000008111156102a157600080fd5b8201836020820111156102b357600080fd5b803590602001918460018302840111640100000000831117156102d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610d2a565b6040518082815260200191505060405180910390f35b6103fe6004803603608081101561035357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103ba57600080fd5b8201836020820111156103cc57600080fd5b803590602001918460018302840111640100000000831117156103ee57600080fd5b9091929391929390505050610d3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104b46004803603604081101561044957600080fd5b81019080803590602001909291908035906020019064010000000081111561047057600080fd5b82018360208201111561048257600080fd5b803590602001918460018302840111640100000000831117156104a457600080fd5b9091929391929390505050610d52565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6105b5600480360360408110156104ff57600080fd5b810190808035906020019064010000000081111561051c57600080fd5b82018360208201111561052e57600080fd5b8035906020019184600183028401116401000000008311171561055057600080fd5b90919293919293908035906020019064010000000081111561057157600080fd5b82018360208201111561058357600080fd5b803590602001918460018302840111640100000000831117156105a557600080fd5b9091929391929390505050610f0a565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6106c36004803603604081101561060057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561063d57600080fd5b82018360208201111561064f57600080fd5b8035906020019184600183028401116401000000008311171561067157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061115b565b6040518082815260200191505060405180910390f35b6106e16112cd565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610721578082015181840152602081019050610706565b50505050905090810190601f16801561074e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610764611306565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107a757808201518184015260208101905061078c565b505050509050019250505060405180910390f35b61091c600480360360a08110156107d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561082e57600080fd5b82018360208201111561084057600080fd5b8035906020019184602083028401116401000000008311171561086257600080fd5b90919293919293908035906020019064010000000081111561088357600080fd5b82018360208201111561089557600080fd5b803590602001918460208302840111640100000000831117156108b757600080fd5b9091929391929390803590602001906401000000008111156108d857600080fd5b8201836020820111156108ea57600080fd5b8035906020019184600183028401116401000000008311171561090c57600080fd5b909192939192939050505061146d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6109e86004803603604081101561096757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156109a457600080fd5b8201836020820111156109b657600080fd5b803590602001918460018302840111640100000000831117156109d857600080fd5b9091929391929390505050611485565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a28578082015181840152602081019050610a0d565b50505050905090810190601f168015610a555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b2e600480360360a0811015610a7957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610aea57600080fd5b820183602082011115610afc57600080fd5b80359060200191846001830284011164010000000083111715610b1e57600080fd5b90919293919293905050506114ef565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610b6b611505565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bab578082015181840152602081019050610b90565b50505050905090810190601f168015610bd85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b5050505050505050565b60007f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cbb57507f150b7a02000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d2357507f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000610d36338361115b565b9050919050565b600063150b7a0260e01b905095945050505050565b60008033905060008173ffffffffffffffffffffffffffffffffffffffff166320c13b0b876040516020018082815260200191505060405160208183030381529060405287876040518463ffffffff1660e01b8152600401808060200180602001838103835286818151815260200191508051906020019080838360005b83811015610deb578082015181840152602081019050610dd0565b50505050905090810190601f168015610e185780820380516001836020036101000a031916815260200191505b508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b158015610e6357600080fd5b505afa158015610e77573d6000803e3d6000fd5b505050506040513d6020811015610e8d57600080fd5b810190808051906020019092919050505090506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610ef657600060e01b610eff565b631626ba7e60e01b5b925050509392505050565b6000803390506000610f608288888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061115b565b905060008585905014156110755760008273ffffffffffffffffffffffffffffffffffffffff16635ae6bd37836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fc157600080fd5b505afa158015610fd5573d6000803e3d6000fd5b505050506040513d6020811015610feb57600080fd5b81019080805190602001909291905050501415611070576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f48617368206e6f7420617070726f76656400000000000000000000000000000081525060200191505060405180910390fd5b611147565b8173ffffffffffffffffffffffffffffffffffffffff1663934f3a1182898989896040518663ffffffff1660e01b81526004018086815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060006040518083038186803b15801561112e57600080fd5b505afa158015611142573d6000803e3d6000fd5b505050505b6320c13b0b60e01b92505050949350505050565b6000807f60b3cbf8b4a223d68d641b3b6ddf9a298e7f33710cf3d3a9d1146b5a6150fbca60001b83805190602001206040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050601960f81b600160f81b8573ffffffffffffffffffffffffffffffffffffffff1663f698da256040518163ffffffff1660e01b815260040160206040518083038186803b15801561120957600080fd5b505afa15801561121d573d6000803e3d6000fd5b505050506040513d602081101561123357600080fd5b81019080805190602001909291905050508360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040528051906020012091505092915050565b6040518060400160405280601881526020017f44656661756c742043616c6c6261636b2048616e646c6572000000000000000081525081565b6060600033905060008173ffffffffffffffffffffffffffffffffffffffff1663cc2f84526001600a6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060006040518083038186803b15801561138057600080fd5b505afa158015611394573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156113be57600080fd5b81019080805160405193929190846401000000008211156113de57600080fd5b838201915060208201858111156113f457600080fd5b825186602082028301116401000000008211171561141157600080fd5b8083526020830192505050908051906020019060200280838360005b8381101561144857808201518184015260208101905061142d565b5050505090500160405260200180519060200190929190505050509050809250505090565b600063bc197c8160e01b905098975050505050505050565b60606040517fb4faba09000000000000000000000000000000000000000000000000000000008152600436036004808301376020600036836000335af15060203d036040519250808301604052806020843e6000516114e657825160208401fd5b50509392505050565b600063f23a6e6160e01b90509695505050505050565b6040518060400160405280600581526020017f312e302e300000000000000000000000000000000000000000000000000000008152508156fea2646970667358221220e0f71f757b92645080b9075b29df8bd87ddc241891bf8ac5b71ec5daba8b7df064736f6c63430007060033";
10
- const SAFE_CODE =
11
- "0x608060405234801561001057600080fd5b506001600481905550615cf880620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506126fc565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b810190808035906020019092919080359060200190929190505050612732565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b81019080803590602001909291905050506127b9565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127d1565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612b63565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612c9d565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612edc565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612f01565b005b348015610d3457600080fd5b50610d3d612f90565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613139565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061313f565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613161565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff16906020019092919050505061331f565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613447565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613639565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506137d8565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613805565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b96565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613c1a565b005b34801561148957600080fd5b5061149261428c565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614296565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061443e565b005b3480156116a457600080fd5b506116ad61449f565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061451d565b005b34801561174a57600080fd5b50611753614950565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614989565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612b63565b5b5050565b611bd2604182614a2c90919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614a66565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614a2c90919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614a9590919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614a9590919063ffffffff16565b614a9590919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b60007fb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e3386868686604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183600181111561266b57fe5b8152602001828103825284818151815260200191508051906020019080838360005b838110156126a857808201518184015260208101905061268d565b50505050905090810190601f1680156126d55780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a16126f285858585614ab4565b9050949350505050565b6000606061270c868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561275057600080fd5b506040519080825280601f01601f1916602001820160405280156127835781602001600182028036833780820191505090505b50905060005b838110156127ae57808501548060208302602085010152508080600101915050612789565b508091505092915050565b60076020528060005260406000206000915090505481565b6127d9614989565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156128435750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b6128b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612b6b614989565b600354811115612be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612c5a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000606060055433600454604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405160208183030381529060405290507f66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed8d8d8d8d8d8d8d8d8d8d8d8c604051808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612d5057fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184810384528e8e82818152602001925080828437600081840152601f19601f820116905080830192505050848103835286818151815260200191508051906020019080838360005b83811015612e0a578082015181840152602081019050612def565b50505050905090810190601f168015612e375780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015612e70578082015181840152602081019050612e55565b50505050905090810190601f168015612e9d5780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390a1612eca8d8d8d8d8d8d8d8d8d8d8d614c9a565b9150509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111612f7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b612f8a84848484611bbe565b50505050565b6060600060035467ffffffffffffffff81118015612fad57600080fd5b50604051908082528060200260200182016040528015612fdc5781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613130578083838151811061308757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508180600101925050613046565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6131ac8a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050896151d7565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146131ea576131e9846156d7565b5b6132388787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615706565b60008211156132525761325082600060018685615941565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a9050613376878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a615b47565b61337f57600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561340c5780820151818401526020810190506133f1565b50505050905090810190601f1680156134395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561346257600080fd5b506040519080825280602002602001820160405280156134915781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156135645750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561356f57508482105b1561362a578084838151811061358157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506134fa565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561373b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b60006137ed8c8c8c8c8c8c8c8c8c8c8c614296565b8051906020012090509b9a5050505050505050505050565b61380d614989565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156138775750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b6138e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146139e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613b9e614989565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613c22614989565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c8c5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015613cc457503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613d36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015613ea15750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b613f13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614013576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561432757fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b6143b361449f565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b614446614989565b61444f816156d7565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6144cd6125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b614525614989565b8060016003540310156145a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561460a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61467c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461477c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1806004541461494b5761494a81612b63565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614a2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614a3f5760009050614a60565b6000828402905082848281614a5057fe5b0414614a5b57600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614aaa57600080fd5b8091505092915050565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015614b7f5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b614bf1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b614bfe858585855a615b47565b90508015614c4e573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a2614c92565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b6000806000614cb48e8e8e8e8e8e8e8e8e8e600554614296565b905060056000815480929190600101919050555080805190602001209150614cdd828286612f01565b506000614ce8615b93565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614614ece578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115614d8b57fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015614e5d578082015181840152602081019050614e42565b50505050905090810190601f168015614e8a5780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015614eb557600080fd5b505af1158015614ec9573d6000803e3d6000fd5b505050505b6101f4614ef56109c48b01603f60408d0281614ee657fe5b04615bc490919063ffffffff16565b015a1015614f6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a9050614fd48f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d14614fc9578e614fcf565b6109c45a035b615b47565b9350614fe95a82615bde90919063ffffffff16565b90508380614ff8575060008a14155b80615004575060008814155b615076576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808911156150905761508d828b8b8b8b615941565b90505b84156150da577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a161511a565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146151c6578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b1580156151ad57600080fd5b505af11580156151c1573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b60006004541461524f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b81518111156152c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600181101561533d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b835181101561564357600084828151811061535d57fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153d15750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561540957503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561544157508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b6154b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146155b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550809250508080600101915050615346565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461593d576158ca8260008360015a615b47565b61593c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461597e5782615980565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415615a98576159ea3a86106159c7573a6159c9565b855b6159dc888a614a9590919063ffffffff16565b614a2c90919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615a93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615b3d565b615abd85615aaf888a614a9590919063ffffffff16565b614a2c90919063ffffffff16565b9150615aca848284615bfe565b615b3c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600180811115615b5557fe5b836001811115615b6157fe5b1415615b7a576000808551602087018986f49050615b8a565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015615bd45781615bd6565b825b905092915050565b600082821115615bed57600080fd5b600082840390508091505092915050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d60008114615ca55760208114615cad5760009350615cb8565b819350615cb8565b600051158215171593505b505050939250505056fea26469706673582212209bc196ae7eeafc1fe2d02315d042834c88f91e1cce96de55cba8d6e87605e80e64736f6c63430007060033";
12
-
13
- const { name } = network;
14
-
15
- export const deploySafe = async (defaultAdmin = null) => {
16
- prompt.start();
17
-
18
- let release: { [key: string]: any } = {};
19
-
20
- let [root] = await ethers.getSigners();
21
- if (
22
- root.address.toLowerCase() !=
23
- "0x837231138FAf8c8da4dAbfb047Fa7C10482A87a2".toLowerCase()
24
- )
25
- throw new Error(
26
- "not gnosis deployer 0x837231138FAf8c8da4dAbfb047Fa7C10482A87a2"
27
- );
28
-
29
- const { txType } = await prompt.get(["txType"]);
30
- const type2 =
31
- txType === "1"
32
- ? {
33
- maxFeePerGas: 12e9,
34
- maxPriorityFeePerGas: 1e9
35
- }
36
- : {};
37
-
38
- console.log("got signers:", {
39
- network,
40
- root: root.address,
41
- balance: await ethers.provider
42
- .getBalance(root.address)
43
- .then(_ => _.toString()),
44
- type2
45
- });
46
-
47
- //1st dummy tx
48
- await (
49
- await root.sendTransaction({ to: root.address, value: 0, ...type2 })
50
- ).wait();
51
-
52
- const proxytx = await (
53
- await root.sendTransaction({
54
- value: 0,
55
- gasLimit: 1500000,
56
- data: PROXYFACTORY_CODE,
57
- ...type2
58
- })
59
- ).wait();
60
-
61
- console.log({ proxytx });
62
-
63
- // 2nd dummy tx
64
- await (
65
- await root.sendTransaction({ to: root.address, value: 0, ...type2 })
66
- ).wait();
67
-
68
- const fallbacktx = await (
69
- await root.sendTransaction({
70
- value: 0,
71
- gasLimit: 1600000,
72
- data: FALLBACKHANDLER_CODE,
73
- ...type2
74
- })
75
- ).wait();
76
-
77
- console.log({ fallbacktx });
78
-
79
- const safetx = await (
80
- await root.sendTransaction({
81
- value: 0,
82
- gasLimit: 6800000,
83
- data: SAFE_CODE,
84
- ...type2
85
- })
86
- ).wait();
87
-
88
- console.log({ safetx });
89
-
90
- const safecreatetx = await (
91
- await root.sendTransaction({
92
- to: "0xD4e35689651CE5c57862FFC7c019eF3b5dd52c6d",
93
- value: 0,
94
- gasLimit: 330000,
95
- data: "0x1688f0b90000000000000000000000003d2cb31f65eb89fe6cbc9bbfc493f4b5ad4a8a880000000000000000000000000000000000000000000000000000000000000060728428a4e10d3a2c8ea8e4ac37fb9b3cdd5ced14cfb797284d9e3dcd877f8d510000000000000000000000000000000000000000000000000000000000000164b63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000f2bd1ed66e931625b96a1e77ab7aea88d68f390e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000066582d24fead72555adac681cc621cacbb208324000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
96
- ...type2
97
- })
98
- ).wait();
99
-
100
- console.log(safecreatetx);
101
- release = {
102
- GuardiansSafe: "0x84c10b45fe51bfb4f86c19a47fdbc187d4572fb8"
103
- };
104
-
105
- await releaser(release, network.name, "deployment", false);
106
- };
107
-
108
- export const main = async (networkName = name) => {
109
- await deploySafe().catch(console.log);
110
- };
111
- main();
@@ -1,46 +0,0 @@
1
- /***
2
- * Use openzeppelin ProxyFactory to deploy the proxy contracts with create2
3
- * so we can make sure proxies have same address across chains
4
- */
5
-
6
- import { fetchOrDeploy, getVersion } from "@openzeppelin/upgrades-core";
7
- import ProxyFactoryABI from "./ProxyFactory.json";
8
- import { ethers } from "hardhat";
9
-
10
- export const fetchOrDeployProxyFactory = async () => {
11
- const proxyFactory = await ethers.getContractFactory(
12
- ProxyFactoryABI.abi,
13
- ProxyFactoryABI.bytecode
14
- );
15
- const factoryAddress = await fetchOrDeploy(
16
- getVersion(ProxyFactoryABI.bytecode, ProxyFactoryABI.bytecode),
17
- ethers.provider,
18
- async () => {
19
- const res = await proxyFactory.deploy();
20
- const deployment = {
21
- address: res.address,
22
- txHash: res.deployTransaction.hash,
23
- layout: null
24
- };
25
- return deployment;
26
- }
27
- );
28
- const proxyFactoryInst = proxyFactory.attach(factoryAddress);
29
- return deployWrapper(proxyFactoryInst);
30
- };
31
-
32
- const deployWrapper = factory => {
33
- return {
34
- factory,
35
- deploy: async (impl, adminAddress, data) => {
36
- const deployTransaction = await factory[
37
- "deploy(uint256,address,address,bytes)"
38
- ](0, impl, adminAddress, data);
39
- const res = await deployTransaction.wait();
40
- const address = res.events.find(e => e.event == "ProxyCreated").args
41
- .proxy;
42
- console.log("Proxy created by factory at:", address);
43
- return { address, deployTransaction };
44
- }
45
- };
46
- };