@gooddollar/goodprotocol 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. package/README.md +12 -0
  2. package/artifacts/abis/Faucet.min.json +1 -1
  3. package/artifacts/abis/FuseFaucetV2.min.json +1 -1
  4. package/artifacts/abis/UBISchemeV2.min.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  36. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
  37. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
  38. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
  39. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
  40. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
  41. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
  42. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  43. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -34
  44. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  45. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  46. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json +2 -34
  47. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
  48. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  49. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  50. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  51. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  52. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  53. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  54. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  55. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  56. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  57. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  58. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  59. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  60. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
  61. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  62. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  63. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  64. package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  73. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  104. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  106. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  108. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
  109. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  110. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  111. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  112. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  113. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  114. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  115. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  116. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  117. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  118. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  119. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  120. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  121. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  122. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  123. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  124. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  125. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  126. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  127. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  128. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  129. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  130. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  131. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  132. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  133. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  134. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  135. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  136. package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +1 -1
  137. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
  138. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
  139. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  140. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  141. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  142. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  143. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
  144. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  145. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  146. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  147. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  148. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  149. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  150. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  151. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  152. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  153. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +2 -7
  154. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  155. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  156. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  157. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  158. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  159. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  160. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
  161. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  162. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  163. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  164. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  165. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  166. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  167. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  168. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
  169. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
  170. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
  171. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
  172. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
  173. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
  174. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  175. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  176. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  177. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  178. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  179. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  180. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
  181. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  182. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  183. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  184. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  185. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  186. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
  187. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
  188. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  189. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  190. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  191. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  192. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  193. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  194. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  195. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  196. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
  197. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  198. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
  199. package/contracts/IUniswapV3.sol +2 -0
  200. package/contracts/mocks/GenericDistributionHelperTest.sol +31 -0
  201. package/contracts/reserve/GenericDistributionHelper.sol +28 -20
  202. package/hardhat.config.ts +4 -1
  203. package/package.json +3 -2
  204. package/releases/deployment.json +1 -0
  205. package/scripts/multichain-deploy/helpers.ts +7 -5
  206. package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +31 -27
  207. package/test/governance/ClaimersDistribution.test.ts +1 -1
  208. package/test/reserve/GenericDistributionHelper.test.ts +315 -0
  209. package/test/ubi/UBISchemeCycle.test.ts +30 -63
  210. package/types/@openzeppelin/contracts/proxy/ERC1967/index.ts +0 -1
  211. package/types/@uniswap/index.ts +0 -2
  212. package/types/AaveMock.ts +1031 -0
  213. package/types/AaveStakingFactory.ts +290 -0
  214. package/types/AaveUSDMockOracle.ts +89 -0
  215. package/types/AccessControl.ts +361 -0
  216. package/types/AccessControlEnumerableUpgradeable.ts +444 -0
  217. package/types/AccessControlUpgradeable.ts +371 -0
  218. package/types/AdminWallet.ts +1234 -0
  219. package/types/AdminWalletFuse.ts +1340 -0
  220. package/types/AggregatorV3Interface.ts +192 -0
  221. package/types/Avatar.ts +121 -0
  222. package/types/BancorFormula.ts +974 -0
  223. package/types/BaseShareField.ts +442 -0
  224. package/types/BaseShareFieldV2.ts +361 -0
  225. package/types/{contracts/Interfaces.sol/AToken.ts → BatUSDMockOracle.ts} +30 -22
  226. package/types/BuyAndBridgeHelper.ts +279 -0
  227. package/types/BuyGDClone.ts +383 -0
  228. package/types/BuyGDCloneFactory.ts +180 -0
  229. package/types/CBATMock.ts +1203 -0
  230. package/types/CDAILowWorthMock.ts +1169 -0
  231. package/types/CDAIMock.ts +1219 -0
  232. package/types/CDAINonMintableMock.ts +1169 -0
  233. package/types/CDecimalsMock.ts +1203 -0
  234. package/types/CERC20.ts +552 -0
  235. package/types/CSDTMock.ts +1203 -0
  236. package/types/CUSDCMock.ts +1203 -0
  237. package/types/ClaimersDistribution.ts +634 -0
  238. package/types/CompUSDMockOracle.ts +89 -0
  239. package/types/CompoundStakingFactory.ts +261 -0
  240. package/types/CompoundVotingMachine.ts +1718 -0
  241. package/types/ContextUpgradeable.ts +77 -0
  242. package/types/ContributionCalc.ts +164 -0
  243. package/types/Controller.ts +547 -0
  244. package/types/DAIMock.ts +1092 -0
  245. package/types/DAOContract.ts +162 -0
  246. package/types/DAOUpgradeableContract.ts +299 -0
  247. package/types/DaiEthPriceMockOracle.ts +89 -0
  248. package/types/DecimalsMock.ts +1031 -0
  249. package/types/DistributionBridgeMock.ts +384 -0
  250. package/types/{contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper.ts → DistributionHelper.ts} +351 -345
  251. package/types/{contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper.ts → DistributionHelperTest.ts} +361 -349
  252. package/types/{contracts/reserve/GenericDistributionHelper.ts → DistributionHelperTestHelper.ts} +417 -401
  253. package/types/DonationsStaking.ts +805 -0
  254. package/types/EIP712Upgradeable.ts +77 -0
  255. package/types/ERC165.ts +104 -0
  256. package/types/ERC165Upgradeable.ts +115 -0
  257. package/types/ERC1967Proxy.ts +147 -0
  258. package/types/{@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts → ERC1967Upgrade.ts} +21 -23
  259. package/types/ERC1967UpgradeUpgradeable.ts +116 -0
  260. package/types/ERC20.ts +417 -0
  261. package/types/ERC20BurnableUpgradeable.ts +488 -0
  262. package/types/ERC20PausableUpgradeable.ts +458 -0
  263. package/types/ERC20Permit.ts +186 -0
  264. package/types/ERC20PermitUpgradeable.ts +531 -0
  265. package/types/ERC20PresetMinterPauserUpgradeable.ts +1136 -0
  266. package/types/ERC20Upgradeable.ts +426 -0
  267. package/types/ERC20WithTokenInfo.ts +339 -0
  268. package/types/ERC677.ts +131 -0
  269. package/types/ERC677Receiver.ts +115 -0
  270. package/types/EthUSDMockOracle.ts +138 -0
  271. package/types/EventsEmitter.ts +88 -0
  272. package/types/ExchangeHelper.ts +550 -0
  273. package/types/Faucet.ts +1167 -0
  274. package/types/FeesFormulaMock.ts +130 -0
  275. package/types/FuseFaucet.ts +507 -0
  276. package/types/FuseFaucetV2.ts +846 -0
  277. package/types/FuseStakingV3.ts +1212 -0
  278. package/types/GDFaucet.ts +221 -0
  279. package/types/GReputation.ts +2119 -0
  280. package/types/GasPriceMockOracle.ts +118 -0
  281. package/types/GlobalConstraintInterface.ts +134 -0
  282. package/types/GoodAaveStaking.ts +1761 -0
  283. package/types/{contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2.ts → GoodAaveStakingV2.ts} +100 -177
  284. package/types/GoodCompoundStaking.ts +1847 -0
  285. package/types/GoodCompoundStakingTest.ts +1957 -0
  286. package/types/GoodCompoundStakingV2.ts +1645 -0
  287. package/types/{contracts/token/GoodDollar18.ts → GoodDollar.ts} +140 -278
  288. package/types/GoodDollarMintBurnWrapper.ts +1792 -0
  289. package/types/GoodDollarStaking.ts +1947 -0
  290. package/types/GoodDollarStakingMock.ts +1986 -0
  291. package/types/GoodFundManager.ts +1126 -0
  292. package/types/GoodFundManagerTest.ts +1165 -0
  293. package/types/GoodMarketMaker.ts +1002 -0
  294. package/types/{contracts/reserve/GoodReserveADai.ts → GoodReserveCDai.ts} +197 -343
  295. package/types/GovernanceStaking.ts +1295 -0
  296. package/types/{contracts/Interfaces.sol/IAaveIncentivesControllerV3.ts → IAaveIncentivesController.ts} +47 -48
  297. package/types/IAccessControl.ts +306 -0
  298. package/types/IAccessControlEnumerableUpgradeable.ts +380 -0
  299. package/types/IAccessControlUpgradeable.ts +307 -0
  300. package/types/IAdminWallet.ts +171 -0
  301. package/types/{contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange.ts → IBeacon.ts} +30 -22
  302. package/types/IBeaconUpgradeable.ts +89 -0
  303. package/types/IConsensus.ts +225 -0
  304. package/types/IDonationStaking.ts +98 -0
  305. package/types/IERC1271Upgradeable.ts +109 -0
  306. package/types/IERC165.ts +104 -0
  307. package/types/IERC165Upgradeable.ts +104 -0
  308. package/types/IERC1820Registry.ts +398 -0
  309. package/types/IERC1822Proxiable.ts +89 -0
  310. package/types/IERC1822ProxiableUpgradeable.ts +90 -0
  311. package/types/IERC20.ts +300 -0
  312. package/types/IERC20Metadata.ts +339 -0
  313. package/types/IERC20MetadataUpgradeable.ts +340 -0
  314. package/types/IERC20Permit.ts +175 -0
  315. package/types/IERC20PermitUpgradeable.ts +176 -0
  316. package/types/IERC20Upgradeable.ts +300 -0
  317. package/types/IERC2917.ts +661 -0
  318. package/types/IERC777.ts +586 -0
  319. package/types/IERC777Recipient.ts +130 -0
  320. package/types/IERC777Sender.ts +130 -0
  321. package/types/IFeesFormula.ts +111 -0
  322. package/types/IFirstClaimPool.ts +136 -0
  323. package/types/IGoodDollar.ts +876 -0
  324. package/types/IGoodDollarCustom.ts +618 -0
  325. package/types/IGoodDollarStakingTest.ts +160 -0
  326. package/types/IGoodStaking.ts +264 -0
  327. package/types/IGovernanceStaking.ts +98 -0
  328. package/types/{contracts/utils/ReserveRestore.sol/MentoExchange.ts → IHasRouter.ts} +24 -22
  329. package/types/IIdentity.ts +508 -0
  330. package/types/IIdentityV2.ts +591 -0
  331. package/types/ILayerZeroFeeEstimator.ts +136 -0
  332. package/types/{contracts/Interfaces.sol/ILendingPoolV3.ts → ILendingPool.ts} +76 -89
  333. package/types/IMessagePassingBridge.ts +774 -0
  334. package/types/IMultichainRouter.ts +166 -0
  335. package/types/INameService.ts +86 -0
  336. package/types/IRouter.ts +143 -0
  337. package/types/IStakingUpgrade.ts +110 -0
  338. package/types/IStaticOracle.ts +677 -0
  339. package/types/ISuperAgreement.ts +151 -0
  340. package/types/ISuperApp.ts +410 -0
  341. package/types/ISuperGoodDollar.ts +3029 -0
  342. package/types/ISuperToken.ts +2326 -0
  343. package/types/ISuperTokenFactory.ts +415 -0
  344. package/types/ISuperfluid.ts +1565 -0
  345. package/types/ISuperfluidGovernance.ts +455 -0
  346. package/types/ISuperfluidToken.ts +951 -0
  347. package/types/ISwapRouter.ts +298 -0
  348. package/types/IUBIScheme.ts +121 -0
  349. package/types/IUniswapV3Factory.ts +333 -0
  350. package/types/IWrapper.ts +143 -0
  351. package/types/IdentityFix.ts +141 -0
  352. package/types/IdentityMock.ts +527 -0
  353. package/types/IdentityV2.ts +1782 -0
  354. package/types/IncentiveControllerMock.ts +207 -0
  355. package/types/Initializable.ts +77 -0
  356. package/types/IntVoteInterface.ts +468 -0
  357. package/types/InvitesFuseV2.ts +840 -0
  358. package/types/InvitesV1.ts +806 -0
  359. package/types/InvitesV2.ts +1016 -0
  360. package/types/LendingPoolMock.ts +1259 -0
  361. package/types/MultiBaseGovernanceShareField.ts +411 -0
  362. package/types/Multicall.ts +298 -0
  363. package/types/MultichainBridgeHelper.ts +170 -0
  364. package/types/MultichainFeeFormula.ts +130 -0
  365. package/types/MultichainRouterMock.ts +141 -0
  366. package/types/NameService.ts +386 -0
  367. package/types/OldMarketMaker.ts +113 -0
  368. package/types/OneTimePayments.ts +396 -0
  369. package/types/OneTimePaymentsV2.ts +456 -0
  370. package/types/OverMintTester.ts +176 -0
  371. package/types/OverMintTesterRegularStake.ts +177 -0
  372. package/types/OwnableUpgradeable.ts +175 -0
  373. package/types/Pausable.ts +103 -0
  374. package/types/PausableControl.ts +125 -0
  375. package/types/PausableUpgradeable.ts +112 -0
  376. package/types/PayableMock.ts +92 -0
  377. package/types/PegSwap.ts +112 -0
  378. package/types/ProtocolUpgrade.ts +272 -0
  379. package/types/ProtocolUpgradeFuse.ts +166 -0
  380. package/types/ProtocolUpgradeFuseRecover.ts +167 -0
  381. package/types/ProtocolUpgradeRecover.ts +264 -0
  382. package/types/Proxy.ts +66 -0
  383. package/types/ProxyAdmin.ts +254 -0
  384. package/types/ProxyFactory1967.ts +284 -0
  385. package/types/ReentrancyGuardUpgradeable.ts +78 -0
  386. package/types/Reputation.ts +964 -0
  387. package/types/ReputationInterface.ts +261 -0
  388. package/types/ReputationTestHelper.ts +175 -0
  389. package/types/Reserve.ts +112 -0
  390. package/types/RewardsMinter.ts +107 -0
  391. package/types/SchemeRegistrar.ts +164 -0
  392. package/types/SelfApprove.ts +115 -0
  393. package/types/SimpleStaking.ts +1523 -0
  394. package/types/SimpleStakingV2.ts +1427 -0
  395. package/types/SixteenDecimalsTokenMock.ts +1032 -0
  396. package/types/StakersDistribution.ts +949 -0
  397. package/types/Staking.ts +158 -0
  398. package/types/StakingMockFixedAPY.ts +995 -0
  399. package/types/StakingRewardsFixedAPY.ts +428 -0
  400. package/types/SuperGoodDollar.ts +3662 -0
  401. package/types/SuperToken.ts +2434 -0
  402. package/types/SuperfluidToken.ts +951 -0
  403. package/types/SwapHelperTest.ts +120 -0
  404. package/types/TokenInfo.ts +109 -0
  405. package/types/TwentyDecimalsTokenMock.ts +1032 -0
  406. package/types/UBIScheme.ts +1461 -0
  407. package/types/UBISchemeV2.ts +1192 -0
  408. package/types/USDCMock.ts +1031 -0
  409. package/types/UUPSProxiable.ts +183 -0
  410. package/types/UUPSProxy.ts +105 -0
  411. package/types/UUPSUpgradeable.ts +207 -0
  412. package/types/Uniswap.ts +423 -0
  413. package/types/UniswapFactory.ts +106 -0
  414. package/types/UniswapPair.ts +187 -0
  415. package/types/UniswapV2SwapHelper.ts +124 -0
  416. package/types/UpgradableMock.ts +349 -0
  417. package/types/UpgradableMock2.ts +311 -0
  418. package/types/UpgradableMock3.ts +336 -0
  419. package/types/UpgradableMock4.ts +336 -0
  420. package/types/contracts/fuseFaucet/Faucet.ts +0 -43
  421. package/types/contracts/fuseFaucet/FuseFaucetV2.ts +0 -43
  422. package/types/contracts/index.ts +0 -4
  423. package/types/contracts/reserve/index.ts +0 -1
  424. package/types/contracts/ubi/UBISchemeV2.ts +3 -14
  425. package/types/contracts/utils/BuyGDClone.sol/index.ts +2 -0
  426. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +0 -1
  427. package/types/factories/@uniswap/index.ts +0 -1
  428. package/types/factories/AaveMock__factory.ts +740 -0
  429. package/types/factories/AaveStakingFactory__factory.ts +262 -0
  430. package/types/factories/AaveUSDMockOracle__factory.ts +75 -0
  431. package/types/factories/AccessControlEnumerableUpgradeable__factory.ts +292 -0
  432. package/types/factories/AccessControlUpgradeable__factory.ts +247 -0
  433. package/types/factories/AccessControl__factory.ts +227 -0
  434. package/types/factories/AdminWalletFuse__factory.ts +933 -0
  435. package/types/factories/AdminWallet__factory.ts +865 -0
  436. package/types/factories/AggregatorV3Interface__factory.ts +121 -0
  437. package/types/factories/Avatar__factory.ts +59 -0
  438. package/types/factories/BancorFormula__factory.ts +674 -0
  439. package/types/factories/BaseShareFieldV2__factory.ts +251 -0
  440. package/types/factories/BaseShareField__factory.ts +307 -0
  441. package/types/factories/BatUSDMockOracle__factory.ts +75 -0
  442. package/types/factories/BuyAndBridgeHelper__factory.ts +237 -0
  443. package/types/factories/BuyGDCloneFactory__factory.ts +196 -0
  444. package/types/factories/BuyGDClone__factory.ts +343 -0
  445. package/types/factories/CBATMock__factory.ts +844 -0
  446. package/types/factories/CDAILowWorthMock__factory.ts +834 -0
  447. package/types/factories/CDAIMock__factory.ts +857 -0
  448. package/types/factories/CDAINonMintableMock__factory.ts +834 -0
  449. package/types/factories/CDecimalsMock__factory.ts +844 -0
  450. package/types/factories/CERC20__factory.ts +381 -0
  451. package/types/factories/CSDTMock__factory.ts +844 -0
  452. package/types/factories/CUSDCMock__factory.ts +844 -0
  453. package/types/factories/ClaimersDistribution__factory.ts +430 -0
  454. package/types/factories/CompUSDMockOracle__factory.ts +75 -0
  455. package/types/factories/CompoundStakingFactory__factory.ts +249 -0
  456. package/types/factories/CompoundVotingMachine__factory.ts +1208 -0
  457. package/types/factories/ContextUpgradeable__factory.ts +39 -0
  458. package/types/factories/ContributionCalc__factory.ts +83 -0
  459. package/types/factories/Controller__factory.ts +359 -0
  460. package/types/factories/DAIMock__factory.ts +783 -0
  461. package/types/factories/DAOContract__factory.ts +118 -0
  462. package/types/factories/DAOUpgradeableContract__factory.ts +227 -0
  463. package/types/factories/DaiEthPriceMockOracle__factory.ts +79 -0
  464. package/types/factories/DecimalsMock__factory.ts +755 -0
  465. package/types/factories/DistributionBridgeMock__factory.ts +312 -0
  466. package/types/factories/DistributionHelperTestHelper__factory.ts +1008 -0
  467. package/types/factories/DistributionHelperTest__factory.ts +975 -0
  468. package/types/factories/DistributionHelper__factory.ts +971 -0
  469. package/types/factories/DonationsStaking__factory.ts +580 -0
  470. package/types/factories/EIP712Upgradeable__factory.ts +39 -0
  471. package/types/factories/ERC165Upgradeable__factory.ts +58 -0
  472. package/types/factories/ERC165__factory.ts +39 -0
  473. package/types/factories/ERC1967Proxy__factory.ts +130 -0
  474. package/types/factories/ERC1967UpgradeUpgradeable__factory.ts +88 -0
  475. package/types/factories/ERC1967Upgrade__factory.ts +71 -0
  476. package/types/factories/ERC20BurnableUpgradeable__factory.ts +344 -0
  477. package/types/factories/ERC20PausableUpgradeable__factory.ts +352 -0
  478. package/types/factories/ERC20PermitUpgradeable__factory.ts +388 -0
  479. package/types/factories/ERC20Permit__factory.ts +111 -0
  480. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +827 -0
  481. package/types/factories/ERC20Upgradeable__factory.ts +345 -0
  482. package/types/factories/ERC20WithTokenInfo__factory.ts +248 -0
  483. package/types/factories/ERC20__factory.ts +285 -0
  484. package/types/factories/ERC677Receiver__factory.ts +55 -0
  485. package/types/factories/ERC677__factory.ts +75 -0
  486. package/types/factories/EthUSDMockOracle__factory.ts +108 -0
  487. package/types/factories/EventsEmitter__factory.ts +84 -0
  488. package/types/factories/ExchangeHelper__factory.ts +427 -0
  489. package/types/factories/Faucet__factory.ts +826 -0
  490. package/types/factories/FeesFormulaMock__factory.ts +132 -0
  491. package/types/factories/FuseFaucetV2__factory.ts +592 -0
  492. package/types/factories/FuseFaucet__factory.ts +386 -0
  493. package/types/factories/FuseStakingV3__factory.ts +806 -0
  494. package/types/factories/GDFaucet__factory.ts +188 -0
  495. package/types/factories/GReputation__factory.ts +1490 -0
  496. package/types/factories/GasPriceMockOracle__factory.ts +88 -0
  497. package/types/factories/GlobalConstraintInterface__factory.ts +72 -0
  498. package/types/factories/GoodAaveStakingV2__factory.ts +1240 -0
  499. package/types/factories/GoodAaveStaking__factory.ts +1276 -0
  500. package/types/factories/GoodCompoundStakingTest__factory.ts +1470 -0
  501. package/types/factories/GoodCompoundStakingV2__factory.ts +1182 -0
  502. package/types/factories/GoodCompoundStaking__factory.ts +1316 -0
  503. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1330 -0
  504. package/types/factories/GoodDollarStakingMock__factory.ts +1497 -0
  505. package/types/factories/GoodDollarStaking__factory.ts +1469 -0
  506. package/types/factories/{contracts/token/GoodDollar18__factory.ts → GoodDollar__factory.ts} +23 -26
  507. package/types/factories/GoodFundManagerTest__factory.ts +801 -0
  508. package/types/factories/GoodFundManager__factory.ts +759 -0
  509. package/types/factories/GoodMarketMaker__factory.ts +687 -0
  510. package/types/factories/GoodReserveCDai__factory.ts +1489 -0
  511. package/types/factories/GovernanceStaking__factory.ts +948 -0
  512. package/types/factories/{contracts/Interfaces.sol/IAaveIncentivesControllerV3__factory.ts → IAaveIncentivesController__factory.ts} +22 -27
  513. package/types/factories/IAccessControlEnumerableUpgradeable__factory.ts +247 -0
  514. package/types/factories/IAccessControlUpgradeable__factory.ts +202 -0
  515. package/types/factories/IAccessControl__factory.ts +198 -0
  516. package/types/factories/IAdminWallet__factory.ts +75 -0
  517. package/types/factories/{contracts/utils/ReserveRestore.sol/MentoExchange__factory.ts → IBeaconUpgradeable__factory.ts} +11 -11
  518. package/types/factories/IBeacon__factory.ts +36 -0
  519. package/types/factories/IConsensus__factory.ts +116 -0
  520. package/types/factories/IDonationStaking__factory.ts +33 -0
  521. package/types/factories/IERC1271Upgradeable__factory.ts +50 -0
  522. package/types/factories/IERC165Upgradeable__factory.ts +45 -0
  523. package/types/factories/IERC165__factory.ts +42 -0
  524. package/types/factories/IERC1820Registry__factory.ts +239 -0
  525. package/types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  526. package/types/factories/IERC1822Proxiable__factory.ts +39 -0
  527. package/types/factories/IERC20MetadataUpgradeable__factory.ts +252 -0
  528. package/types/factories/IERC20Metadata__factory.ts +248 -0
  529. package/types/factories/IERC20PermitUpgradeable__factory.ts +105 -0
  530. package/types/factories/IERC20Permit__factory.ts +98 -0
  531. package/types/factories/IERC20Upgradeable__factory.ts +209 -0
  532. package/types/factories/IERC20__factory.ts +203 -0
  533. package/types/factories/IERC2917__factory.ts +493 -0
  534. package/types/factories/IERC777Recipient__factory.ts +64 -0
  535. package/types/factories/IERC777Sender__factory.ts +61 -0
  536. package/types/factories/IERC777__factory.ts +414 -0
  537. package/types/factories/IFeesFormula__factory.ts +57 -0
  538. package/types/factories/IFirstClaimPool__factory.ts +65 -0
  539. package/types/factories/IGoodDollarCustom__factory.ts +370 -0
  540. package/types/factories/IGoodDollarStakingTest__factory.ts +68 -0
  541. package/types/factories/IGoodDollar__factory.ts +595 -0
  542. package/types/factories/IGoodStaking__factory.ts +175 -0
  543. package/types/factories/IGovernanceStaking__factory.ts +39 -0
  544. package/types/factories/IHasRouter__factory.ts +36 -0
  545. package/types/factories/IIdentityV2__factory.ts +331 -0
  546. package/types/factories/IIdentity__factory.ts +284 -0
  547. package/types/factories/ILayerZeroFeeEstimator__factory.ts +79 -0
  548. package/types/factories/{contracts/Interfaces.sol/ILendingPoolV3__factory.ts → ILendingPool__factory.ts} +14 -32
  549. package/types/factories/IMessagePassingBridge__factory.ts +446 -0
  550. package/types/factories/IMultichainRouter__factory.ts +82 -0
  551. package/types/factories/INameService__factory.ts +42 -0
  552. package/types/factories/{@uniswap/v2-periphery/contracts/interfaces/IWETH__factory.ts → IRouter__factory.ts} +28 -24
  553. package/types/factories/IStakingUpgrade__factory.ts +50 -0
  554. package/types/factories/IStaticOracle__factory.ts +407 -0
  555. package/types/factories/ISuperAgreement__factory.ts +78 -0
  556. package/types/factories/ISuperApp__factory.ts +272 -0
  557. package/types/factories/ISuperGoodDollar__factory.ts +2147 -0
  558. package/types/factories/ISuperTokenFactory__factory.ts +271 -0
  559. package/types/factories/ISuperToken__factory.ts +1682 -0
  560. package/types/factories/ISuperfluidGovernance__factory.ts +264 -0
  561. package/types/factories/ISuperfluidToken__factory.ts +697 -0
  562. package/types/factories/ISuperfluid__factory.ts +1143 -0
  563. package/types/factories/ISwapRouter__factory.ts +217 -0
  564. package/types/factories/IUBIScheme__factory.ts +68 -0
  565. package/types/factories/IUniswapV3Factory__factory.ts +222 -0
  566. package/types/factories/IWrapper__factory.ts +71 -0
  567. package/types/factories/IdentityFix__factory.ts +110 -0
  568. package/types/factories/IdentityMock__factory.ts +346 -0
  569. package/types/factories/IdentityV2__factory.ts +1147 -0
  570. package/types/factories/IncentiveControllerMock__factory.ts +166 -0
  571. package/types/factories/Initializable__factory.ts +36 -0
  572. package/types/factories/IntVoteInterface__factory.ts +349 -0
  573. package/types/factories/InvitesFuseV2__factory.ts +571 -0
  574. package/types/factories/InvitesV1__factory.ts +553 -0
  575. package/types/factories/InvitesV2__factory.ts +688 -0
  576. package/types/factories/LendingPoolMock__factory.ts +927 -0
  577. package/types/factories/MultiBaseGovernanceShareField__factory.ts +240 -0
  578. package/types/factories/Multicall__factory.ts +215 -0
  579. package/types/factories/MultichainBridgeHelper__factory.ts +134 -0
  580. package/types/factories/MultichainFeeFormula__factory.ts +113 -0
  581. package/types/factories/MultichainRouterMock__factory.ts +141 -0
  582. package/types/factories/NameService__factory.ts +290 -0
  583. package/types/factories/OldMarketMaker__factory.ts +62 -0
  584. package/types/factories/OneTimePaymentsV2__factory.ts +369 -0
  585. package/types/factories/OneTimePayments__factory.ts +323 -0
  586. package/types/factories/OverMintTesterRegularStake__factory.ts +156 -0
  587. package/types/factories/OverMintTester__factory.ts +152 -0
  588. package/types/factories/OwnableUpgradeable__factory.ts +91 -0
  589. package/types/factories/PausableControl__factory.ts +84 -0
  590. package/types/factories/PausableUpgradeable__factory.ts +78 -0
  591. package/types/factories/Pausable__factory.ts +62 -0
  592. package/types/factories/PayableMock__factory.ts +66 -0
  593. package/types/factories/PegSwap__factory.ts +46 -0
  594. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +146 -0
  595. package/types/factories/ProtocolUpgradeFuse__factory.ts +142 -0
  596. package/types/factories/ProtocolUpgradeRecover__factory.ts +184 -0
  597. package/types/factories/ProtocolUpgrade__factory.ts +207 -0
  598. package/types/factories/ProxyAdmin__factory.ts +128 -0
  599. package/types/factories/ProxyFactory1967__factory.ts +223 -0
  600. package/types/factories/Proxy__factory.ts +28 -0
  601. package/types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  602. package/types/factories/ReputationInterface__factory.ts +168 -0
  603. package/types/factories/ReputationTestHelper__factory.ts +141 -0
  604. package/types/factories/Reputation__factory.ts +693 -0
  605. package/types/factories/Reserve__factory.ts +52 -0
  606. package/types/factories/RewardsMinter__factory.ts +47 -0
  607. package/types/factories/SchemeRegistrar__factory.ts +114 -0
  608. package/types/factories/SelfApprove__factory.ts +46 -0
  609. package/types/factories/SimpleStakingV2__factory.ts +999 -0
  610. package/types/factories/SimpleStaking__factory.ts +1058 -0
  611. package/types/factories/SixteenDecimalsTokenMock__factory.ts +747 -0
  612. package/types/factories/StakersDistribution__factory.ts +617 -0
  613. package/types/factories/StakingMockFixedAPY__factory.ts +745 -0
  614. package/types/factories/StakingRewardsFixedAPY__factory.ts +287 -0
  615. package/types/factories/Staking__factory.ts +74 -0
  616. package/types/factories/SuperGoodDollar__factory.ts +2680 -0
  617. package/types/factories/SuperToken__factory.ts +1809 -0
  618. package/types/factories/SuperfluidToken__factory.ts +697 -0
  619. package/types/factories/SwapHelperTest__factory.ts +96 -0
  620. package/types/factories/TokenInfo__factory.ts +62 -0
  621. package/types/factories/TwentyDecimalsTokenMock__factory.ts +747 -0
  622. package/types/factories/UBISchemeV2__factory.ts +837 -0
  623. package/types/factories/UBIScheme__factory.ts +1034 -0
  624. package/types/factories/USDCMock__factory.ts +740 -0
  625. package/types/factories/UUPSProxiable__factory.ts +101 -0
  626. package/types/factories/UUPSProxy__factory.ts +80 -0
  627. package/types/factories/UUPSUpgradeable__factory.ts +128 -0
  628. package/types/factories/UniswapFactory__factory.ts +50 -0
  629. package/types/factories/UniswapPair__factory.ts +117 -0
  630. package/types/factories/UniswapV2SwapHelper__factory.ts +101 -0
  631. package/types/factories/Uniswap__factory.ts +272 -0
  632. package/types/factories/UpgradableMock2__factory.ts +236 -0
  633. package/types/factories/UpgradableMock3__factory.ts +249 -0
  634. package/types/factories/UpgradableMock4__factory.ts +249 -0
  635. package/types/factories/UpgradableMock__factory.ts +262 -0
  636. package/types/factories/contracts/fuseFaucet/Faucet__factory.ts +1 -33
  637. package/types/factories/contracts/fuseFaucet/FuseFaucetV2__factory.ts +1 -33
  638. package/types/factories/contracts/index.ts +0 -2
  639. package/types/factories/contracts/reserve/index.ts +0 -1
  640. package/types/factories/contracts/ubi/UBISchemeV2__factory.ts +1 -6
  641. package/types/factories/contracts/utils/BuyGDClone.sol/index.ts +2 -0
  642. package/types/factories/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy__factory.ts +1 -1
  643. package/types/factories/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967__factory.ts +1 -1
  644. package/types/hardhat.d.ts +18 -54
  645. package/types/index.ts +2 -10
  646. package/artifacts/abis/GenericDistributionHelper.min.json +0 -1
  647. package/artifacts/abis/INonfungiblePositionManager.min.json +0 -1
  648. package/artifacts/abis/IUniswapV3Pool.min.json +0 -1
  649. package/artifacts/contracts/IQuoter.sol/IQuoterV2.dbg.json +0 -4
  650. package/artifacts/contracts/IQuoter.sol/IQuoterV2.json +0 -211
  651. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +0 -4
  652. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.json +0 -102
  653. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +0 -4
  654. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.json +0 -93
  655. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +0 -4
  656. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json +0 -931
  657. package/dist/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +0 -1099
  658. package/dist/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +0 -2627
  659. package/dist/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +0 -32
  660. package/dist/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +0 -82
  661. package/dist/test-sdk/deploySuperGoodDollar.d.ts +0 -6
  662. package/dist/test-sdk/deploySuperGoodDollar.js +0 -46
  663. package/dist/test-sdk/index.d.ts +0 -1
  664. package/dist/test-sdk/index.js +0 -13
  665. package/types/@uniswap/v2-periphery/contracts/index.ts +0 -5
  666. package/types/@uniswap/v2-periphery/contracts/interfaces/IWETH.ts +0 -159
  667. package/types/@uniswap/v2-periphery/contracts/interfaces/index.ts +0 -4
  668. package/types/@uniswap/v2-periphery/index.ts +0 -5
  669. package/types/contracts/IQuoter.sol/IQuoterV2.ts +0 -297
  670. package/types/contracts/IQuoter.sol/index.ts +0 -4
  671. package/types/contracts/IUniswapV3.sol/INonfungiblePositionManager.ts +0 -151
  672. package/types/contracts/IUniswapV3.sol/IUniswapV3Factory.ts +0 -155
  673. package/types/contracts/IUniswapV3.sol/IUniswapV3Pool.ts +0 -179
  674. package/types/contracts/IUniswapV3.sol/index.ts +0 -5
  675. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor.ts +0 -648
  676. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable.ts +0 -843
  677. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
  678. package/types/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  679. package/types/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  680. package/types/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677.ts +0 -108
  681. package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts +0 -161
  682. package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
  683. package/types/contracts/utils/ReserveRestore.sol/ReserveRestore.ts +0 -112
  684. package/types/contracts/utils/ReserveRestore.sol/index.ts +0 -5
  685. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +0 -146
  686. package/types/factories/@uniswap/v2-periphery/contracts/index.ts +0 -4
  687. package/types/factories/@uniswap/v2-periphery/contracts/interfaces/index.ts +0 -4
  688. package/types/factories/@uniswap/v2-periphery/index.ts +0 -4
  689. package/types/factories/contracts/IQuoter.sol/IQuoterV2__factory.ts +0 -226
  690. package/types/factories/contracts/IQuoter.sol/index.ts +0 -4
  691. package/types/factories/contracts/IUniswapV3.sol/INonfungiblePositionManager__factory.ts +0 -121
  692. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Factory__factory.ts +0 -84
  693. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Pool__factory.ts +0 -108
  694. package/types/factories/contracts/IUniswapV3.sol/index.ts +0 -5
  695. package/types/factories/contracts/Interfaces.sol/AToken__factory.ts +0 -36
  696. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable__factory.ts +0 -572
  697. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor__factory.ts +0 -482
  698. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
  699. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +0 -929
  700. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper__factory.ts +0 -935
  701. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
  702. package/types/factories/contracts/reserve/GenericDistributionHelper__factory.ts +0 -987
  703. package/types/factories/contracts/reserve/GoodReserveADai__factory.ts +0 -1502
  704. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2__factory.ts +0 -1240
  705. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
  706. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677__factory.ts +0 -86
  707. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange__factory.ts +0 -39
  708. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +0 -152
  709. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
  710. package/types/factories/contracts/utils/ReserveRestore.sol/ReserveRestore__factory.ts +0 -95
  711. package/types/factories/contracts/utils/ReserveRestore.sol/index.ts +0 -5
@@ -0,0 +1,1240 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
6
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
7
+ import type {
8
+ GoodAaveStakingV2,
9
+ GoodAaveStakingV2Interface,
10
+ } from "../GoodAaveStakingV2";
11
+
12
+ const _abi = [
13
+ {
14
+ anonymous: false,
15
+ inputs: [
16
+ {
17
+ indexed: true,
18
+ internalType: "address",
19
+ name: "owner",
20
+ type: "address",
21
+ },
22
+ {
23
+ indexed: true,
24
+ internalType: "address",
25
+ name: "spender",
26
+ type: "address",
27
+ },
28
+ {
29
+ indexed: false,
30
+ internalType: "uint256",
31
+ name: "value",
32
+ type: "uint256",
33
+ },
34
+ ],
35
+ name: "Approval",
36
+ type: "event",
37
+ },
38
+ {
39
+ anonymous: false,
40
+ inputs: [
41
+ {
42
+ indexed: false,
43
+ internalType: "uint8",
44
+ name: "version",
45
+ type: "uint8",
46
+ },
47
+ ],
48
+ name: "Initialized",
49
+ type: "event",
50
+ },
51
+ {
52
+ anonymous: false,
53
+ inputs: [
54
+ {
55
+ indexed: false,
56
+ internalType: "address",
57
+ name: "recipient",
58
+ type: "address",
59
+ },
60
+ {
61
+ indexed: false,
62
+ internalType: "uint256",
63
+ name: "iTokenGains",
64
+ type: "uint256",
65
+ },
66
+ {
67
+ indexed: false,
68
+ internalType: "uint256",
69
+ name: "tokenGains",
70
+ type: "uint256",
71
+ },
72
+ {
73
+ indexed: false,
74
+ internalType: "uint256",
75
+ name: "actualTokenRedeemed",
76
+ type: "uint256",
77
+ },
78
+ {
79
+ indexed: false,
80
+ internalType: "uint256",
81
+ name: "actualRewardTokenEarned",
82
+ type: "uint256",
83
+ },
84
+ {
85
+ indexed: false,
86
+ internalType: "uint256",
87
+ name: "interestCollectedInDAI",
88
+ type: "uint256",
89
+ },
90
+ ],
91
+ name: "InterestCollected",
92
+ type: "event",
93
+ },
94
+ {
95
+ anonymous: false,
96
+ inputs: [
97
+ {
98
+ indexed: true,
99
+ internalType: "address",
100
+ name: "staker",
101
+ type: "address",
102
+ },
103
+ {
104
+ indexed: false,
105
+ internalType: "address",
106
+ name: "token",
107
+ type: "address",
108
+ },
109
+ {
110
+ indexed: false,
111
+ internalType: "uint256",
112
+ name: "value",
113
+ type: "uint256",
114
+ },
115
+ ],
116
+ name: "StakeWithdraw",
117
+ type: "event",
118
+ },
119
+ {
120
+ anonymous: false,
121
+ inputs: [
122
+ {
123
+ indexed: true,
124
+ internalType: "address",
125
+ name: "staker",
126
+ type: "address",
127
+ },
128
+ {
129
+ indexed: false,
130
+ internalType: "address",
131
+ name: "token",
132
+ type: "address",
133
+ },
134
+ {
135
+ indexed: false,
136
+ internalType: "uint256",
137
+ name: "value",
138
+ type: "uint256",
139
+ },
140
+ ],
141
+ name: "Staked",
142
+ type: "event",
143
+ },
144
+ {
145
+ anonymous: false,
146
+ inputs: [
147
+ {
148
+ indexed: true,
149
+ internalType: "address",
150
+ name: "from",
151
+ type: "address",
152
+ },
153
+ {
154
+ indexed: true,
155
+ internalType: "address",
156
+ name: "to",
157
+ type: "address",
158
+ },
159
+ {
160
+ indexed: false,
161
+ internalType: "uint256",
162
+ name: "value",
163
+ type: "uint256",
164
+ },
165
+ ],
166
+ name: "Transfer",
167
+ type: "event",
168
+ },
169
+ {
170
+ inputs: [],
171
+ name: "aaveUSDOracle",
172
+ outputs: [
173
+ {
174
+ internalType: "address",
175
+ name: "",
176
+ type: "address",
177
+ },
178
+ ],
179
+ stateMutability: "view",
180
+ type: "function",
181
+ },
182
+ {
183
+ inputs: [
184
+ {
185
+ internalType: "address",
186
+ name: "owner",
187
+ type: "address",
188
+ },
189
+ {
190
+ internalType: "address",
191
+ name: "spender",
192
+ type: "address",
193
+ },
194
+ ],
195
+ name: "allowance",
196
+ outputs: [
197
+ {
198
+ internalType: "uint256",
199
+ name: "",
200
+ type: "uint256",
201
+ },
202
+ ],
203
+ stateMutability: "view",
204
+ type: "function",
205
+ },
206
+ {
207
+ inputs: [
208
+ {
209
+ internalType: "address",
210
+ name: "spender",
211
+ type: "address",
212
+ },
213
+ {
214
+ internalType: "uint256",
215
+ name: "amount",
216
+ type: "uint256",
217
+ },
218
+ ],
219
+ name: "approve",
220
+ outputs: [
221
+ {
222
+ internalType: "bool",
223
+ name: "",
224
+ type: "bool",
225
+ },
226
+ ],
227
+ stateMutability: "nonpayable",
228
+ type: "function",
229
+ },
230
+ {
231
+ inputs: [],
232
+ name: "avatar",
233
+ outputs: [
234
+ {
235
+ internalType: "address",
236
+ name: "",
237
+ type: "address",
238
+ },
239
+ ],
240
+ stateMutability: "view",
241
+ type: "function",
242
+ },
243
+ {
244
+ inputs: [
245
+ {
246
+ internalType: "address",
247
+ name: "account",
248
+ type: "address",
249
+ },
250
+ ],
251
+ name: "balanceOf",
252
+ outputs: [
253
+ {
254
+ internalType: "uint256",
255
+ name: "",
256
+ type: "uint256",
257
+ },
258
+ ],
259
+ stateMutability: "view",
260
+ type: "function",
261
+ },
262
+ {
263
+ inputs: [],
264
+ name: "claimReputation",
265
+ outputs: [],
266
+ stateMutability: "nonpayable",
267
+ type: "function",
268
+ },
269
+ {
270
+ inputs: [],
271
+ name: "collectInterestGasCost",
272
+ outputs: [
273
+ {
274
+ internalType: "uint32",
275
+ name: "",
276
+ type: "uint32",
277
+ },
278
+ ],
279
+ stateMutability: "view",
280
+ type: "function",
281
+ },
282
+ {
283
+ inputs: [
284
+ {
285
+ internalType: "address",
286
+ name: "_recipient",
287
+ type: "address",
288
+ },
289
+ ],
290
+ name: "collectUBIInterest",
291
+ outputs: [
292
+ {
293
+ internalType: "uint256",
294
+ name: "actualTokenRedeemed",
295
+ type: "uint256",
296
+ },
297
+ {
298
+ internalType: "uint256",
299
+ name: "actualRewardTokenRedeemed",
300
+ type: "uint256",
301
+ },
302
+ {
303
+ internalType: "uint256",
304
+ name: "actualDai",
305
+ type: "uint256",
306
+ },
307
+ ],
308
+ stateMutability: "nonpayable",
309
+ type: "function",
310
+ },
311
+ {
312
+ inputs: [
313
+ {
314
+ internalType: "bool",
315
+ name: "_returnTokenBalanceInUSD",
316
+ type: "bool",
317
+ },
318
+ {
319
+ internalType: "bool",
320
+ name: "_returnTokenGainsInUSD",
321
+ type: "bool",
322
+ },
323
+ ],
324
+ name: "currentGains",
325
+ outputs: [
326
+ {
327
+ internalType: "uint256",
328
+ name: "iTokenGains",
329
+ type: "uint256",
330
+ },
331
+ {
332
+ internalType: "uint256",
333
+ name: "tokenGains",
334
+ type: "uint256",
335
+ },
336
+ {
337
+ internalType: "uint256",
338
+ name: "tokenBalance",
339
+ type: "uint256",
340
+ },
341
+ {
342
+ internalType: "uint256",
343
+ name: "balanceInUSD",
344
+ type: "uint256",
345
+ },
346
+ {
347
+ internalType: "uint256",
348
+ name: "tokenGainsInUSD",
349
+ type: "uint256",
350
+ },
351
+ ],
352
+ stateMutability: "view",
353
+ type: "function",
354
+ },
355
+ {
356
+ inputs: [],
357
+ name: "dao",
358
+ outputs: [
359
+ {
360
+ internalType: "contract Controller",
361
+ name: "",
362
+ type: "address",
363
+ },
364
+ ],
365
+ stateMutability: "view",
366
+ type: "function",
367
+ },
368
+ {
369
+ inputs: [],
370
+ name: "decimals",
371
+ outputs: [
372
+ {
373
+ internalType: "uint8",
374
+ name: "",
375
+ type: "uint8",
376
+ },
377
+ ],
378
+ stateMutability: "view",
379
+ type: "function",
380
+ },
381
+ {
382
+ inputs: [
383
+ {
384
+ internalType: "address",
385
+ name: "spender",
386
+ type: "address",
387
+ },
388
+ {
389
+ internalType: "uint256",
390
+ name: "subtractedValue",
391
+ type: "uint256",
392
+ },
393
+ ],
394
+ name: "decreaseAllowance",
395
+ outputs: [
396
+ {
397
+ internalType: "bool",
398
+ name: "",
399
+ type: "bool",
400
+ },
401
+ ],
402
+ stateMutability: "nonpayable",
403
+ type: "function",
404
+ },
405
+ {
406
+ inputs: [],
407
+ name: "getGasCostForInterestTransfer",
408
+ outputs: [
409
+ {
410
+ internalType: "uint32",
411
+ name: "",
412
+ type: "uint32",
413
+ },
414
+ ],
415
+ stateMutability: "view",
416
+ type: "function",
417
+ },
418
+ {
419
+ inputs: [
420
+ {
421
+ internalType: "address",
422
+ name: "user",
423
+ type: "address",
424
+ },
425
+ ],
426
+ name: "getProductivity",
427
+ outputs: [
428
+ {
429
+ internalType: "uint256",
430
+ name: "",
431
+ type: "uint256",
432
+ },
433
+ {
434
+ internalType: "uint256",
435
+ name: "",
436
+ type: "uint256",
437
+ },
438
+ ],
439
+ stateMutability: "view",
440
+ type: "function",
441
+ },
442
+ {
443
+ inputs: [],
444
+ name: "getRouter",
445
+ outputs: [
446
+ {
447
+ internalType: "contract Uniswap",
448
+ name: "",
449
+ type: "address",
450
+ },
451
+ ],
452
+ stateMutability: "view",
453
+ type: "function",
454
+ },
455
+ {
456
+ inputs: [],
457
+ name: "getStats",
458
+ outputs: [
459
+ {
460
+ internalType: "uint256",
461
+ name: "_accAmountPerShare",
462
+ type: "uint256",
463
+ },
464
+ {
465
+ internalType: "uint128",
466
+ name: "_mintedRewards",
467
+ type: "uint128",
468
+ },
469
+ {
470
+ internalType: "uint128",
471
+ name: "_totalProductivity",
472
+ type: "uint128",
473
+ },
474
+ {
475
+ internalType: "uint128",
476
+ name: "_totalEffectiveStakes",
477
+ type: "uint128",
478
+ },
479
+ {
480
+ internalType: "uint128",
481
+ name: "_accumulatedRewards",
482
+ type: "uint128",
483
+ },
484
+ {
485
+ internalType: "uint128",
486
+ name: "_lastRewardBlock",
487
+ type: "uint128",
488
+ },
489
+ {
490
+ internalType: "uint64",
491
+ name: "_maxMultiplierThreshold",
492
+ type: "uint64",
493
+ },
494
+ {
495
+ internalType: "uint8",
496
+ name: "_tokenDecimalDifference",
497
+ type: "uint8",
498
+ },
499
+ ],
500
+ stateMutability: "view",
501
+ type: "function",
502
+ },
503
+ {
504
+ inputs: [
505
+ {
506
+ internalType: "address",
507
+ name: "_oracle",
508
+ type: "address",
509
+ },
510
+ {
511
+ internalType: "uint256",
512
+ name: "_amount",
513
+ type: "uint256",
514
+ },
515
+ {
516
+ internalType: "uint256",
517
+ name: "_decimals",
518
+ type: "uint256",
519
+ },
520
+ ],
521
+ name: "getTokenValueInUSD",
522
+ outputs: [
523
+ {
524
+ internalType: "uint256",
525
+ name: "",
526
+ type: "uint256",
527
+ },
528
+ ],
529
+ stateMutability: "view",
530
+ type: "function",
531
+ },
532
+ {
533
+ inputs: [
534
+ {
535
+ internalType: "address",
536
+ name: "_staker",
537
+ type: "address",
538
+ },
539
+ ],
540
+ name: "getUserMintedAndPending",
541
+ outputs: [
542
+ {
543
+ internalType: "uint256",
544
+ name: "",
545
+ type: "uint256",
546
+ },
547
+ {
548
+ internalType: "uint256",
549
+ name: "",
550
+ type: "uint256",
551
+ },
552
+ ],
553
+ stateMutability: "view",
554
+ type: "function",
555
+ },
556
+ {
557
+ inputs: [
558
+ {
559
+ internalType: "address",
560
+ name: "user",
561
+ type: "address",
562
+ },
563
+ {
564
+ internalType: "uint256",
565
+ name: "rewardsPerBlock",
566
+ type: "uint256",
567
+ },
568
+ {
569
+ internalType: "uint256",
570
+ name: "blockStart",
571
+ type: "uint256",
572
+ },
573
+ {
574
+ internalType: "uint256",
575
+ name: "blockEnd",
576
+ type: "uint256",
577
+ },
578
+ ],
579
+ name: "getUserPendingReward",
580
+ outputs: [
581
+ {
582
+ internalType: "uint256",
583
+ name: "",
584
+ type: "uint256",
585
+ },
586
+ ],
587
+ stateMutability: "view",
588
+ type: "function",
589
+ },
590
+ {
591
+ inputs: [],
592
+ name: "iToken",
593
+ outputs: [
594
+ {
595
+ internalType: "contract ERC20",
596
+ name: "",
597
+ type: "address",
598
+ },
599
+ ],
600
+ stateMutability: "view",
601
+ type: "function",
602
+ },
603
+ {
604
+ inputs: [],
605
+ name: "incentiveController",
606
+ outputs: [
607
+ {
608
+ internalType: "contract IAaveIncentivesController",
609
+ name: "",
610
+ type: "address",
611
+ },
612
+ ],
613
+ stateMutability: "view",
614
+ type: "function",
615
+ },
616
+ {
617
+ inputs: [
618
+ {
619
+ internalType: "address",
620
+ name: "spender",
621
+ type: "address",
622
+ },
623
+ {
624
+ internalType: "uint256",
625
+ name: "addedValue",
626
+ type: "uint256",
627
+ },
628
+ ],
629
+ name: "increaseAllowance",
630
+ outputs: [
631
+ {
632
+ internalType: "bool",
633
+ name: "",
634
+ type: "bool",
635
+ },
636
+ ],
637
+ stateMutability: "nonpayable",
638
+ type: "function",
639
+ },
640
+ {
641
+ inputs: [
642
+ {
643
+ internalType: "address",
644
+ name: "_token",
645
+ type: "address",
646
+ },
647
+ {
648
+ internalType: "address",
649
+ name: "_lendingPool",
650
+ type: "address",
651
+ },
652
+ {
653
+ internalType: "contract INameService",
654
+ name: "_ns",
655
+ type: "address",
656
+ },
657
+ {
658
+ internalType: "string",
659
+ name: "_tokenName",
660
+ type: "string",
661
+ },
662
+ {
663
+ internalType: "string",
664
+ name: "_tokenSymbol",
665
+ type: "string",
666
+ },
667
+ {
668
+ internalType: "uint64",
669
+ name: "_maxRewardThreshold",
670
+ type: "uint64",
671
+ },
672
+ {
673
+ internalType: "address",
674
+ name: "_tokenUsdOracle",
675
+ type: "address",
676
+ },
677
+ {
678
+ internalType: "contract IAaveIncentivesController",
679
+ name: "_incentiveController",
680
+ type: "address",
681
+ },
682
+ {
683
+ internalType: "address",
684
+ name: "_aaveUSDOracle",
685
+ type: "address",
686
+ },
687
+ {
688
+ internalType: "address[]",
689
+ name: "_tokenToDaiSwapPath",
690
+ type: "address[]",
691
+ },
692
+ ],
693
+ name: "init",
694
+ outputs: [],
695
+ stateMutability: "nonpayable",
696
+ type: "function",
697
+ },
698
+ {
699
+ inputs: [
700
+ {
701
+ internalType: "address",
702
+ name: "_token",
703
+ type: "address",
704
+ },
705
+ {
706
+ internalType: "address",
707
+ name: "_iToken",
708
+ type: "address",
709
+ },
710
+ {
711
+ internalType: "contract INameService",
712
+ name: "_ns",
713
+ type: "address",
714
+ },
715
+ {
716
+ internalType: "string",
717
+ name: "_tokenName",
718
+ type: "string",
719
+ },
720
+ {
721
+ internalType: "string",
722
+ name: "_tokenSymbol",
723
+ type: "string",
724
+ },
725
+ {
726
+ internalType: "uint64",
727
+ name: "_maxRewardThreshold",
728
+ type: "uint64",
729
+ },
730
+ ],
731
+ name: "initialize",
732
+ outputs: [],
733
+ stateMutability: "nonpayable",
734
+ type: "function",
735
+ },
736
+ {
737
+ inputs: [],
738
+ name: "isPaused",
739
+ outputs: [
740
+ {
741
+ internalType: "bool",
742
+ name: "",
743
+ type: "bool",
744
+ },
745
+ ],
746
+ stateMutability: "view",
747
+ type: "function",
748
+ },
749
+ {
750
+ inputs: [],
751
+ name: "lendingPool",
752
+ outputs: [
753
+ {
754
+ internalType: "contract ILendingPool",
755
+ name: "",
756
+ type: "address",
757
+ },
758
+ ],
759
+ stateMutability: "view",
760
+ type: "function",
761
+ },
762
+ {
763
+ inputs: [],
764
+ name: "lockedUSDValue",
765
+ outputs: [
766
+ {
767
+ internalType: "uint256",
768
+ name: "",
769
+ type: "uint256",
770
+ },
771
+ ],
772
+ stateMutability: "view",
773
+ type: "function",
774
+ },
775
+ {
776
+ inputs: [],
777
+ name: "maxLiquidityPercentageSwap",
778
+ outputs: [
779
+ {
780
+ internalType: "uint24",
781
+ name: "",
782
+ type: "uint24",
783
+ },
784
+ ],
785
+ stateMutability: "view",
786
+ type: "function",
787
+ },
788
+ {
789
+ inputs: [],
790
+ name: "name",
791
+ outputs: [
792
+ {
793
+ internalType: "string",
794
+ name: "",
795
+ type: "string",
796
+ },
797
+ ],
798
+ stateMutability: "view",
799
+ type: "function",
800
+ },
801
+ {
802
+ inputs: [],
803
+ name: "nameService",
804
+ outputs: [
805
+ {
806
+ internalType: "contract INameService",
807
+ name: "",
808
+ type: "address",
809
+ },
810
+ ],
811
+ stateMutability: "view",
812
+ type: "function",
813
+ },
814
+ {
815
+ inputs: [],
816
+ name: "nativeToken",
817
+ outputs: [
818
+ {
819
+ internalType: "contract IGoodDollar",
820
+ name: "",
821
+ type: "address",
822
+ },
823
+ ],
824
+ stateMutability: "view",
825
+ type: "function",
826
+ },
827
+ {
828
+ inputs: [
829
+ {
830
+ internalType: "bool",
831
+ name: "_isPaused",
832
+ type: "bool",
833
+ },
834
+ ],
835
+ name: "pause",
836
+ outputs: [],
837
+ stateMutability: "nonpayable",
838
+ type: "function",
839
+ },
840
+ {
841
+ inputs: [
842
+ {
843
+ internalType: "contract ERC20",
844
+ name: "_token",
845
+ type: "address",
846
+ },
847
+ ],
848
+ name: "recover",
849
+ outputs: [],
850
+ stateMutability: "nonpayable",
851
+ type: "function",
852
+ },
853
+ {
854
+ inputs: [
855
+ {
856
+ internalType: "address",
857
+ name: "user",
858
+ type: "address",
859
+ },
860
+ {
861
+ internalType: "uint256",
862
+ name: "rewardsPerBlock",
863
+ type: "uint256",
864
+ },
865
+ {
866
+ internalType: "uint256",
867
+ name: "blockStart",
868
+ type: "uint256",
869
+ },
870
+ {
871
+ internalType: "uint256",
872
+ name: "blockEnd",
873
+ type: "uint256",
874
+ },
875
+ ],
876
+ name: "rewardsMinted",
877
+ outputs: [
878
+ {
879
+ internalType: "uint256",
880
+ name: "",
881
+ type: "uint256",
882
+ },
883
+ ],
884
+ stateMutability: "nonpayable",
885
+ type: "function",
886
+ },
887
+ {
888
+ inputs: [
889
+ {
890
+ internalType: "uint24",
891
+ name: "_maxPercentage",
892
+ type: "uint24",
893
+ },
894
+ ],
895
+ name: "setMaxLiquidityPercentageSwap",
896
+ outputs: [],
897
+ stateMutability: "nonpayable",
898
+ type: "function",
899
+ },
900
+ {
901
+ inputs: [
902
+ {
903
+ internalType: "uint32",
904
+ name: "_collectInterestGasCost",
905
+ type: "uint32",
906
+ },
907
+ {
908
+ internalType: "uint32",
909
+ name: "_rewardTokenCollectCost",
910
+ type: "uint32",
911
+ },
912
+ ],
913
+ name: "setcollectInterestGasCostParams",
914
+ outputs: [],
915
+ stateMutability: "nonpayable",
916
+ type: "function",
917
+ },
918
+ {
919
+ inputs: [
920
+ {
921
+ internalType: "uint256",
922
+ name: "_amount",
923
+ type: "uint256",
924
+ },
925
+ {
926
+ internalType: "uint256",
927
+ name: "_donationPer",
928
+ type: "uint256",
929
+ },
930
+ {
931
+ internalType: "bool",
932
+ name: "_inInterestToken",
933
+ type: "bool",
934
+ },
935
+ ],
936
+ name: "stake",
937
+ outputs: [],
938
+ stateMutability: "nonpayable",
939
+ type: "function",
940
+ },
941
+ {
942
+ inputs: [],
943
+ name: "stkAaveClaimGasCost",
944
+ outputs: [
945
+ {
946
+ internalType: "uint32",
947
+ name: "",
948
+ type: "uint32",
949
+ },
950
+ ],
951
+ stateMutability: "view",
952
+ type: "function",
953
+ },
954
+ {
955
+ inputs: [],
956
+ name: "symbol",
957
+ outputs: [
958
+ {
959
+ internalType: "string",
960
+ name: "",
961
+ type: "string",
962
+ },
963
+ ],
964
+ stateMutability: "view",
965
+ type: "function",
966
+ },
967
+ {
968
+ inputs: [],
969
+ name: "token",
970
+ outputs: [
971
+ {
972
+ internalType: "contract ERC20",
973
+ name: "",
974
+ type: "address",
975
+ },
976
+ ],
977
+ stateMutability: "view",
978
+ type: "function",
979
+ },
980
+ {
981
+ inputs: [
982
+ {
983
+ internalType: "uint256",
984
+ name: "",
985
+ type: "uint256",
986
+ },
987
+ ],
988
+ name: "tokenToDaiSwapPath",
989
+ outputs: [
990
+ {
991
+ internalType: "address",
992
+ name: "",
993
+ type: "address",
994
+ },
995
+ ],
996
+ stateMutability: "view",
997
+ type: "function",
998
+ },
999
+ {
1000
+ inputs: [],
1001
+ name: "tokenUsdOracle",
1002
+ outputs: [
1003
+ {
1004
+ internalType: "address",
1005
+ name: "",
1006
+ type: "address",
1007
+ },
1008
+ ],
1009
+ stateMutability: "view",
1010
+ type: "function",
1011
+ },
1012
+ {
1013
+ inputs: [],
1014
+ name: "totalSupply",
1015
+ outputs: [
1016
+ {
1017
+ internalType: "uint256",
1018
+ name: "",
1019
+ type: "uint256",
1020
+ },
1021
+ ],
1022
+ stateMutability: "view",
1023
+ type: "function",
1024
+ },
1025
+ {
1026
+ inputs: [
1027
+ {
1028
+ internalType: "address",
1029
+ name: "to",
1030
+ type: "address",
1031
+ },
1032
+ {
1033
+ internalType: "uint256",
1034
+ name: "amount",
1035
+ type: "uint256",
1036
+ },
1037
+ ],
1038
+ name: "transfer",
1039
+ outputs: [
1040
+ {
1041
+ internalType: "bool",
1042
+ name: "",
1043
+ type: "bool",
1044
+ },
1045
+ ],
1046
+ stateMutability: "nonpayable",
1047
+ type: "function",
1048
+ },
1049
+ {
1050
+ inputs: [
1051
+ {
1052
+ internalType: "address",
1053
+ name: "from",
1054
+ type: "address",
1055
+ },
1056
+ {
1057
+ internalType: "address",
1058
+ name: "to",
1059
+ type: "address",
1060
+ },
1061
+ {
1062
+ internalType: "uint256",
1063
+ name: "amount",
1064
+ type: "uint256",
1065
+ },
1066
+ ],
1067
+ name: "transferFrom",
1068
+ outputs: [
1069
+ {
1070
+ internalType: "bool",
1071
+ name: "",
1072
+ type: "bool",
1073
+ },
1074
+ ],
1075
+ stateMutability: "nonpayable",
1076
+ type: "function",
1077
+ },
1078
+ {
1079
+ inputs: [],
1080
+ name: "updateAvatar",
1081
+ outputs: [],
1082
+ stateMutability: "nonpayable",
1083
+ type: "function",
1084
+ },
1085
+ {
1086
+ inputs: [
1087
+ {
1088
+ internalType: "address",
1089
+ name: "",
1090
+ type: "address",
1091
+ },
1092
+ ],
1093
+ name: "users",
1094
+ outputs: [
1095
+ {
1096
+ internalType: "uint128",
1097
+ name: "amount",
1098
+ type: "uint128",
1099
+ },
1100
+ {
1101
+ internalType: "uint128",
1102
+ name: "effectiveStakes",
1103
+ type: "uint128",
1104
+ },
1105
+ {
1106
+ internalType: "uint128",
1107
+ name: "rewardDebt",
1108
+ type: "uint128",
1109
+ },
1110
+ {
1111
+ internalType: "uint128",
1112
+ name: "rewardEarn",
1113
+ type: "uint128",
1114
+ },
1115
+ {
1116
+ internalType: "uint128",
1117
+ name: "rewardMinted",
1118
+ type: "uint128",
1119
+ },
1120
+ {
1121
+ internalType: "uint64",
1122
+ name: "lastRewardTime",
1123
+ type: "uint64",
1124
+ },
1125
+ {
1126
+ internalType: "uint64",
1127
+ name: "multiplierResetTime",
1128
+ type: "uint64",
1129
+ },
1130
+ ],
1131
+ stateMutability: "view",
1132
+ type: "function",
1133
+ },
1134
+ {
1135
+ inputs: [],
1136
+ name: "withdrawRewards",
1137
+ outputs: [],
1138
+ stateMutability: "nonpayable",
1139
+ type: "function",
1140
+ },
1141
+ {
1142
+ inputs: [
1143
+ {
1144
+ internalType: "uint256",
1145
+ name: "_amount",
1146
+ type: "uint256",
1147
+ },
1148
+ {
1149
+ internalType: "bool",
1150
+ name: "_inInterestToken",
1151
+ type: "bool",
1152
+ },
1153
+ ],
1154
+ name: "withdrawStake",
1155
+ outputs: [],
1156
+ stateMutability: "nonpayable",
1157
+ type: "function",
1158
+ },
1159
+ ];
1160
+
1161
+ const _bytecode =
1162
+ "0x608060405234801561001057600080fd5b5061559e80620000216000396000f3fe608060405234801561001057600080fd5b506004361061023b5760003560e01c806302329a291461024057806306fdde0314610255578063095ea7b31461027357806309b04fb4146102965780630cd865ec146102d157806318160ddd146102e45780631b3c90a8146102f657806323b872dd146102fe57806328e964e9146103115780632ba7cff9146103695780632bbbdc8914610389578063313ce5671461039c57806337455990146103b657806339509351146103e45780633e6326fc146103f7578063408cfe241461040a5780634162169f1461041d57806343d93ca01461043057806346b30ff514610443578063561b24631461044b578063574c5c931461045e5780635aef7de6146104715780635b9fe37f1461048457806370a08231146104975780638824d07d146104c057806389eb6426146104ec57806395d89b41146104ff578063995a122914610507578063a457c2d71461051a578063a59a99731461052d578063a82415ae14610540578063a87430ba14610553578063a9059cbb14610610578063ad1e5d7514610623578063b0ce7abb14610636578063b0f479a114610649578063b187bd2614610651578063b76e230e14610665578063c59d48471461067c578063c7b8981c146106f5578063dd62ed3e146106fd578063e1758bd814610710578063e32f172614610718578063e660b53f1461072b578063e99b5d3d14610733578063ead8dbd41461073c578063edb5b8631461074f578063f412a6af14610762578063fc0c546a1461078c575b600080fd5b61025361024e36600461463f565b61079f565b005b61025d6107c5565b60405161026a9190614663565b60405180910390f35b6102866102813660046146d6565b610857565b604051901515815260200161026a565b6102a96102a4366004614702565b610871565b604080519586526020860194909452928401919091526060830152608082015260a00161026a565b6102536102df36600461473b565b610a9a565b6035545b60405190815260200161026a565b610253610c41565b61028661030c366004614758565b610d68565b61035461031f36600461473b565b6001600160a01b03166000908152609e6020526040902054609a546001600160801b0391821692600160801b90910490911690565b6040805192835260208301919091520161026a565b60d75461037c906001600160a01b031681565b60405161026a9190614799565b6102536103973660046147bf565b610d8c565b6103a4610dd3565b60405160ff909116815260200161026a565b6103c96103c436600461473b565b610e46565b6040805193845260208401929092529082015260600161026a565b6102866103f23660046146d6565b610ee2565b60675461037c906001600160a01b031681565b60d25461037c906001600160a01b031681565b60655461037c906001600160a01b031681565b61025361043e3660046147ed565b610f04565b610253610f30565b610253610459366004614812565b61105b565b6102e861046c36600461484b565b6114af565b60665461037c906001600160a01b031681565b60d65461037c906001600160a01b031681565b6102e86104a536600461473b565b6001600160a01b031660009081526033602052604090205490565b60d7546104d790600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161026a565b60d45461037c906001600160a01b031681565b61025d6115b7565b610253610515366004614a1b565b6115c6565b6102866105283660046146d6565b611823565b60d55461037c906001600160a01b031681565b6102e861054e36600461484b565b61189e565b6105bc61056136600461473b565b609e602052600090815260409020805460018201546002909201546001600160801b0380831693600160801b9384900482169381831693918190048316928216916001600160401b03918104821691600160c01b9091041687565b604080516001600160801b039889168152968816602088015294871694860194909452918516606085015290931660808301526001600160401b0392831660a08301529190911660c082015260e00161026a565b61028661061e3660046146d6565b611b2d565b6102e8610631366004614b19565b611b3b565b61037c610644366004614b4e565b611bd0565b61037c611bfa565b60d25461028690600160a01b900460ff1681565b60d7546104d790600160a01b900463ffffffff1681565b609d54609a54609b54609c54604080519485526001600160801b038085166020870152600160801b948590048116918601919091528083166060860152918390048216608085015290811660a08401529081046001600160401b031660c0830152600160c01b900460ff1660e08201526101000161026a565b610253611c6a565b6102e861070b366004614b67565b611dbc565b61037c611de7565b610253610726366004614b95565b611e33565b6104d761210a565b6102e860d35481565b61025361074a366004614c43565b61221d565b61035461075d36600461473b565b612763565b60d25461077890600160a81b900462ffffff1681565b60405162ffffff909116815260200161026a565b60d15461037c906001600160a01b031681565b6107a76128d7565b60d28054911515600160a01b0260ff60a01b19909216919091179055565b6060603680546107d490614c68565b80601f016020809104026020016040519081016040528092919081815260200182805461080090614c68565b801561084d5780601f106108225761010080835404028352916020019161084d565b820191906000526020600020905b81548152906001019060200180831161083057829003601f168201915b5050505050905090565b60003361086581858561299a565b60019150505b92915050565b60d2546040516370a0823160e01b815260009182918291829182916001600160a01b03169081906370a08231906108ac903090600401614799565b602060405180830381865afa1580156108c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ed9190614ca2565b9350876108fb57600061097d565b60d45460d1546040805163313ce56760e01b8152905161097d936001600160a01b0390811693899391169163313ce567916004808201926020929091908290030181865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190614ccc565b60ff16611b3b565b6040805160018082528183019092529194506000919060208083019080368337505060d15482519293506001600160a01b0316918391506000906109c3576109c3614ce7565b6001600160a01b0390921660209283029190910190910152609a546001600160801b03600160801b909104168511610a07575060009550859450849150610a909050565b609a54610a2490600160801b90046001600160801b031686614d13565b955085965087610a35576000610a8b565b60d45460d1546040805163313ce56760e01b81529051610a8b936001600160a01b03908116938b9391169163313ce567916004808201926020929091908290030181865afa158015610951573d6000803e3d6000fd5b925050505b9295509295909350565b610aa26128d7565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610ad1903090600401614799565b602060405180830381865afa158015610aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b129190614ca2565b60d2549091506001600160a01b0390811690831603610b8f57609a54600160801b90046001600160801b0316158015610b54575060d254600160a01b900460ff165b610b8f5760405162461bcd60e51b81526020600482015260076024820152663932b1b7bb32b960c91b60448201526064015b60405180910390fd5b60665460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb92610bc392909116908590600401614d26565b6020604051808303816000875af1158015610be2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c069190614d3f565b610c3d5760405162461bcd60e51b81526020600482015260086024820152673a3930b739b332b960c11b6044820152606401610b86565b5050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc89190614d67565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015610d22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d469190614d67565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600033610d76858285612abe565b610d81858585612b38565b506001949350505050565b610d946128d7565b60d78054600160a01b600160e01b031916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b60d1546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190614ccc565b905090565b6000806000610e53612dd4565b600080610e61600080610871565b50505091509150610e728287612e8c565b604080516001600160a01b038b16815260208101879052908101859052606081018490526080810183905260a0810182905292975090955093507f38c2c21f82a20481909d7aef48247b0743f69728fbb599c274039e2eecf8bb179060c00160405180910390a150509193909250565b600033610865818585610ef58383611dbc565b610eff9190614d84565b61299a565b610f0c6128d7565b60d2805462ffffff909216600160a81b0262ffffff60a81b19909216919091179055565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190610f5f90600401614d97565b602060405180830381865afa158015610f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa09190614d67565b90506001600160a01b0381161561105857604080516001808252818301909252600091602080830190803683370190505090503081600081518110610fe757610fe7614ce7565b6001600160a01b03928316602091820292909201015260405163455518ef60e11b815290831690638aaa31de906110249033908590600401614e01565b600060405180830381600087803b15801561103e57600080fd5b505af1158015611052573d6000803e3d6000fd5b50505050505b50565b6110636131c0565b60d254600160a01b900460ff16156110b15760405162461bcd60e51b815260206004820152601160248201527014dd185ada5b99c81a5cc81c185d5cd959607a1b6044820152606401610b86565b8115806110be5750816064145b6110f85760405162461bcd60e51b815260206004820152600b60248201526a3237b730ba34b7b72832b960a91b6044820152606401610b86565b600083116111315760405162461bcd60e51b8152602060048201526006602482015265185b5bdd5b9d60d21b6044820152606401610b86565b806111475760d1546001600160a01b0316611154565b60d2546001600160a01b03165b6001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018690526064016020604051808303816000875af11580156111b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111da9190614d3f565b6112105760405162461bcd60e51b8152602060048201526007602482015266617070726f766560c81b6044820152606401610b86565b8061121b578261121d565b825b92508015156000036112325761123283613219565b61123c3384613291565b60675460405163bf40fac160e01b8152600091829182916001600160a01b03169063bf40fac19061126f90600401614e2d565b602060405180830381865afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b09190614d67565b6001600160a01b031663d0250144306040518263ffffffff1660e01b81526004016112db9190614799565b608060405180830381865afa1580156112f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131c9190614e53565b5092509250925061134f61132d3390565b878563ffffffff16856001600160401b0316856001600160401b03168a613340565b50600061135e60016000610871565b5060d381905560675460405163bf40fac160e01b8152919550600094506001600160a01b0316925063bf40fac1915061139990600401614d97565b602060405180830381865afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da9190614d67565b90506001600160a01b03811615611454576001600160a01b03811663a39b2153336114048b6133ce565b6040518363ffffffff1660e01b8152600401611421929190614d26565b600060405180830381600087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b505050505b60d15460405133917f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd791611493916001600160a01b0316908c90614d26565b60405180910390a250505050506114aa6001609f55565b505050565b60006114b9612dd4565b6114c48484846134e6565b6001600160a01b0385166000908152609e60205260409020546114f39086906001600160801b0316600161366a565b6001600160a01b0385166000908152609e602052604081206001810180546001600160801b0380821690925560029092018054600160801b90930482169384939192909161154391859116614eb2565b82546101009290920a6001600160801b03818102199093169183160217909155609a546115739250839116614eb2565b609a80546001600160801b0319166001600160801b03929092169190911790556115a4662386f26fc1000082614eef565b6001600160801b03169695505050505050565b6060603780546107d490614c68565b60d580546001600160a01b0319166001600160a01b038b169081179091556040516335ea6a7560e01b8152600091906335ea6a7590611609908e90600401614799565b61018060405180830381865afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190614f82565b905061165f8b8260e001518b8b8b8b611e33565b8a6001600160a01b03168260008151811061167c5761167c614ce7565b60200260200101516001600160a01b0316148015611750575060675460405163bf40fac160e01b815260206004820152600360248201526244414960e81b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa1580156116f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117159190614d67565b6001600160a01b0316826001845161172d9190614d13565b8151811061173d5761173d614ce7565b60200260200101516001600160a01b0316145b61179a5760405162461bcd60e51b815260206004820152601b60248201527a0d2dcecc2d8d2c840bee8ded6cadca8de88c2d2a6eec2e0a0c2e8d602b1b6044820152606401610b86565b81516117ad9060d89060208501906145c0565b5060d480546001600160a01b03199081166001600160a01b038881169190911790925560d6805490911686831617905560d780549185166001600160c01b031990921691909117613d0960a41b1763ffffffff60c01b1916610c3560c41b179055611816613b04565b5050505050505050505050565b600033816118318286611dbc565b9050838110156118915760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b86565b610d81828686840361299a565b6001600160a01b0384166000908152609e60209081526040808320815160e08101835281546001600160801b038082168352600160801b91829004811695830195909552600183015480861694830194909452928390048416606082015260029091015480841660808301526001600160401b03928104831660a0830152600160c01b900490911660c0820152609d54609b5491929091849116158015906119465750854310155b80156119525750438510155b15611b0857609c54600090611970906001600160801b031643614d13565b9050600061198589662386f26fc1000061506f565b61198f908361506f565b9050600080600061199f88613c68565b609c5492955090935091506119bf90600160c01b900460ff16600a615172565b609b546119d591906001600160801b031661506f565b6119ea85676765c793fa10079d601b1b61506f565b6119f49190615181565b6119fe9088614d84565b9650878315611b015780604001516001600160801b0316676765c793fa10079d601b1b89609c60189054906101000a900460ff16600a611a3e9190615172565b84602001516001600160801b0316611a56919061506f565b611a60919061506f565b611a6a9190615181565b611a749190614d13565b96506000611a8a85670de0b6b3a764000061506f565b611a9f89676765c793fa10079d601b1b61506f565b611aa99190615181565b905064174876e80081611abd85606461506f565b600a611aca88606461506f565b611ad590600561506f565b611adf9190615181565b611ae99190614d84565b611af3919061506f565b611afd9190615181565b9750505b5050505050505b8083606001516001600160801b0316611b219190614d84565b98975050505050505050565b600033610865818585612b38565b6000808490506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba59190614ca2565b9050611bb284600a615195565b611bbc868361506f565b611bc69190615181565b9695505050505050565b60d88181548110611be057600080fd5b6000918252602090912001546001600160a01b0316905081565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190611c29906004016151a1565b602060405180830381865afa158015611c46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190614d67565b611c726131c0565b60675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190611ca090600401614e2d565b602060405180830381865afa158015611cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce19190614d67565b60675460405163bf40fac160e01b81526001600160a01b039283169263f03b289092169063bf40fac190611d17906004016151c9565b602060405180830381865afa158015611d34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d589190614d67565b336040518363ffffffff1660e01b8152600401611d769291906151e7565b600060405180830381600087803b158015611d9057600080fd5b505af1158015611da4573d6000803e3d6000fd5b50505050611db0610f30565b611dba6001609f55565b565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401611c29565b600054610100900460ff1615808015611e535750600054600160ff909116105b80611e6d5750303b158015611e6d575060005460ff166001145b611ed05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610b86565b6000805460ff191660011790558015611ef3576000805461ff0019166101001790555b611efc85613d5e565b60d180546001600160a01b03808a166001600160a01b03199283161790925560d2805492891692909116919091179055611f368484613d81565b60d1546040805163313ce56760e01b815290516012926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015611f80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa49190614ccc565b60ff161115611fe05760405162461bcd60e51b8152602060048201526008602482015267646563696d616c7360c01b6044820152606401610b86565b60d160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120579190614ccc565b612062906012615201565b609c8054600160801b600160c81b031916600160c01b60ff9390931692909202600160801b600160c01b03191691909117600160801b6001600160401b0385160217905560d2805462ffffff60a81b1916604b60aa1b1790558015612101576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b60408051600180825281830190925260009182919060208083019080368337505060d25482519293506001600160a01b03169183915060009061214f5761214f614ce7565b6001600160a01b03928316602091820292909201015260d6546040516345accf9360e11b81526000929190911690638b599f2690612193908590309060040161521a565b602060405180830381865afa1580156121b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d49190614ca2565b905080156122065760d7546121ff9063ffffffff600160c01b8204811691600160a01b900416615244565b9250505090565b505060d754600160a01b900463ffffffff16919050565b6122256131c0565b600081156122e45760d25460405163a9059cbb60e01b815284916001600160a01b03169063a9059cbb9061225f9033908590600401614d26565b6020604051808303816000875af115801561227e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a29190614d3f565b6122da5760405162461bcd60e51b815260206004820152600960248201526869576974686472617760b81b6044820152606401610b86565b925082905061241b565b50816122ef81613db2565b60d1546040516370a0823160e01b81526000916001600160a01b0316906370a0823190612320903090600401614799565b602060405180830381865afa15801561233d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123619190614ca2565b90508181101561236f578091505b60d1546001600160a01b031663a9059cbb33846040518363ffffffff1660e01b815260040161239f929190614d26565b6020604051808303816000875af11580156123be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e29190614d3f565b6124195760405162461bcd60e51b8152602060048201526008602482015267776974686472617760c01b6044820152606401610b86565b505b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac19061244a90600401614e2d565b602060405180830381865afa158015612467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248b9190614d67565b9050600061249b60016000610871565b5093505050508060d3819055506124b23386613e97565b6000806000846001600160a01b031663d0250144306040518263ffffffff1660e01b81526004016124e39190614799565b608060405180830381865afa158015612500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125249190614e53565b509250925092506125566125353390565b898563ffffffff16856001600160401b0316856001600160401b0316613fb9565b5060675460405163bf40fac160e01b81526001600160a01b038088169263f03b28909291169063bf40fac19061258e906004016151c9565b602060405180830381865afa1580156125ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125cf9190614d67565b336040518363ffffffff1660e01b81526004016125ed9291906151e7565b600060405180830381600087803b15801561260757600080fd5b505af115801561261b573d6000803e3d6000fd5b505060675460405163bf40fac160e01b8152600093506001600160a01b03909116915063bf40fac19061265090600401614d97565b602060405180830381865afa15801561266d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126919190614d67565b90506001600160a01b0381161561270b576001600160a01b038116633e458a8e336126bb8c6133ce565b6040518363ffffffff1660e01b81526004016126d8929190614d26565b600060405180830381600087803b1580156126f257600080fd5b505af1158015612706573d6000803e3d6000fd5b505050505b60d15460405133917f89b2bca2609b9ce42215fdd646f9162cdfb9c1620c93db1cc6302479489d3f329161274a916001600160a01b0316908b90614d26565b60405180910390a250505050505050610c3d6001609f55565b60675460405163bf40fac160e01b815260009182918291829182916001600160a01b03169063bf40fac19061279a90600401614e2d565b602060405180830381865afa1580156127b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127db9190614d67565b6001600160a01b031663d0250144306040518263ffffffff1660e01b81526004016128069190614799565b608060405180830381865afa158015612823573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128479190614e53565b509250925092506000612874878563ffffffff16856001600160401b0316856001600160401b031661189e565b6001600160a01b0388166000908152609e60205260409020600201549091506128ae90662386f26fc10000906001600160801b0316614eef565b6128bf662386f26fc1000083615181565b6001600160801b039091169890975095505050505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa158015612920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129449190614d67565b6001600160a01b031614611dba5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610b86565b6001600160a01b0383166129fc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b86565b6001600160a01b038216612a5d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b86565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000612aca8484611dbc565b90506000198114612b325781811015612b255760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610b86565b612b32848484840361299a565b50505050565b612b43838383614047565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190612b7290600401614d97565b602060405180830381865afa158015612b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb39190614d67565b60675460405163bf40fac160e01b8152919250600091829182916001600160a01b039091169063bf40fac190612beb90600401614e2d565b602060405180830381865afa158015612c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2c9190614d67565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612c579190614799565b608060405180830381865afa158015612c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c989190614e53565b50925092509250612cc487868563ffffffff16856001600160401b0316856001600160401b0316613fb9565b50612cec86868563ffffffff16856001600160401b0316856001600160401b03166000613340565b506001600160a01b03841615612101576000612d07866133ce565b604051631f22c54760e11b81529091506001600160a01b03861690633e458a8e90612d38908b908590600401614d26565b600060405180830381600087803b158015612d5257600080fd5b505af1158015612d66573d6000803e3d6000fd5b505060405163a39b215360e01b81526001600160a01b038816925063a39b21539150612d98908a908590600401614d26565b600060405180830381600087803b158015612db257600080fd5b505af1158015612dc6573d6000803e3d6000fd5b505050505050505050505050565b60675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190612e0290600401614e2d565b602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190614d67565b6001600160a01b0316336001600160a01b031614611dba5760405162461bcd60e51b8152600401610b8690602080825260049082015263199d5b9960e21b604082015260600190565b6000806000306001600160a01b031673__$a7857c79f7039505337147dc025cce365e$__63f10a60ab909160d160009054906101000a90046001600160a01b031660d8600181548110612ee157612ee1614ce7565b60009182526020909120015460d25460405160e086901b6001600160e01b03191681526001600160a01b03948516600482015292841660248401529216604482015260648101899052600160a81b90910462ffffff16608482015260a401602060405180830381865af4158015612f5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f809190614ca2565b60d55460d154604051631a4ca37b60e21b81529295506001600160a01b03918216926369328dec92612fba92169087903090600401615261565b6020604051808303816000875af1158015612fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ffd9190614ca2565b5060d1546040516370a0823160e01b81526001600160a01b03909116906370a082319061302e903090600401614799565b602060405180830381865afa15801561304b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306f9190614ca2565b6040805160018082528183019092529194506000919060208083019080368337505060d25482519293506001600160a01b0316918391506000906130b5576130b5614ce7565b6001600160a01b03928316602091820292909201015260d654606654604051633111e7b360e01b815291831692633111e7b3926130fd92869260001992911690600401615284565b6020604051808303816000875af115801561311c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131409190614ca2565b925083156131b8576131b560d88054806020026020016040519081016040528092919081815260200182805480156131a157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613183575b5030949350899250600091508a90506141e0565b91505b509250925092565b6002609f54036132125760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610b86565b6002609f55565b60d55460d15460405163e8eda9df60e01b81526001600160a01b039182166004820152602481018490523060448201526000606482015291169063e8eda9df90608401600060405180830381600087803b15801561327657600080fd5b505af115801561328a573d6000803e3d6000fd5b5050505050565b6001600160a01b0382166132e75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610b86565b80603560008282546132f99190614d84565b90915550506001600160a01b038216600081815260336020908152604080832080548601905551848152600080516020615549833981519152910160405180910390a35050565b600061334d8585856134e6565b6001600160a01b0387166000908152609e60205260409020546133869088906133809089906001600160801b0316614d84565b8461366a565b609a546133a4908790600160801b90046001600160801b0316614d84565b609a80546001600160801b03928316600160801b0292169190911790555060019695505050505050565b60d1546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015613418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343c9190614ccc565b60ff166012146134e25760d160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134bd9190614ccc565b6134c8906012615201565b6134d390600a615172565b6134dd908361506f565b61086b565b5090565b609b546001600160801b0316600003613519575050609c80546001600160801b031916436001600160801b031617905550565b8143101580156135335750609c546001600160801b031682115b1561355457609c80546001600160801b0319166001600160801b0384161790555b609c546000906001600160801b0316831180156135715750824310155b61358657609c546001600160801b0316613588565b825b90506000824311613599574361359b565b825b9050838110806135ab5750828210155b156135b7575050505050565b60006135c38383614d13565b905060006135d887662386f26fc1000061506f565b6135e2908361506f565b609c549091506135fd90600160c01b900460ff16600a615172565b609b5461361391906001600160801b031661506f565b61362882676765c793fa10079d601b1b61506f565b6136329190615181565b609d5461363f9190614d84565b609d555050609c80546001600160801b0319166001600160801b039290921691909117905550505050565b6001600160a01b0383166000908152609e6020526040902080546001600160801b0380821691600160801b900416801561387c576040805160e08101825284546001600160801b038082168352600160801b91829004811660208401526001870154808216948401949094529281900483166060830152600286015492831660808301526001600160401b03908304811660a0830152600160c01b90920490911660c08201526000908190819061372090613c68565b92509250925082600014613874576001860154609d54609c546000926001600160801b031691676765c793fa10079d601b1b9161376890600160c01b900460ff16600a615172565b613772908961506f565b61377c919061506f565b6137869190615181565b6137909190614d13565b90506000846137a383633b9aca0061506f565b6137ad9190615181565b905064174876e800816137c185606461506f565b600a6137ce88606461506f565b6137d990600561506f565b6137e39190615181565b6137ed9190614d84565b6137f7919061506f565b6138019190615181565b6001890154909250613824908390600160801b90046001600160801b0316614d84565b6001890180546001600160801b03908116600160801b938216840217909155609b54613854928592910416614d84565b609b80546001600160801b03928316600160801b02921691909117905550505b50505061389f565b6002830180546001600160c01b0316600160c01b436001600160401b0316021790555b81851161399d576002830180546001600160c01b0316600160c01b436001600160401b03160217905581156139985782546000908390600160801b90046001600160801b03166138ef8883614d13565b6138f9919061506f565b6139039190615181565b84549091508190859060109061392a908490600160801b90046001600160801b03166152b7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080609b60008282829054906101000a90046001600160801b031661397291906152b7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b613a41565b83600003613a41576139af8286614d13565b835484906010906139d1908490600160801b90046001600160801b0316614eb2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508185613a019190614d13565b609b8054600090613a1c9084906001600160801b0316614eb2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b600283018054600160801b600160c01b031916600160801b436001600160401b03160217905582546001600160801b0319166001600160801b038616178355609d54609c54676765c793fa10079d601b1b9190613aa990600160c01b900460ff16600a615172565b8554613ac59190600160801b90046001600160801b031661506f565b613acf919061506f565b613ad99190615181565b60019390930180546001600160801b0319166001600160801b03909416939093179092555050505050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190613b33906004016151a1565b602060405180830381865afa158015613b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b749190614d67565b60d15460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b390613ba990849060001990600401614d26565b6020604051808303816000875af1158015613bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bec9190614d3f565b5060d15460d55460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392613c259291169060001990600401614d26565b6020604051808303816000875af1158015613c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3d9190614d3f565b6000806000808460c001518560a00151613c8291906152d7565b6001600160401b0316905060008560c001516001600160401b031643613ca89190614d13565b609c54600160801b90046001600160401b031610613cdd5760c0860151613cd8906001600160401b031643614d13565b613cf1565b609c54600160801b90046001600160401b03165b905060008660a001516001600160401b031643613d0e9190614d13565b609c54909150600090600160801b90046001600160401b0316841015613d3d57613d388484614d13565b613d40565b60005b90506000613d4e8284614d13565b9299919850919650945050505050565b606780546001600160a01b0319166001600160a01b038316179055611058610c41565b600054610100900460ff16613da85760405162461bcd60e51b8152600401610b86906152f7565b610c3d8282614580565b60d55460d154604051631a4ca37b60e21b81526000926001600160a01b03908116926369328dec92613dee929091169086903090600401615261565b6020604051808303816000875af1158015613e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e319190614ca2565b905060008111610c3d5760405162461bcd60e51b815260206004820152602b60248201527f57697468647261776e20616d6f756e742073686f756c6420626520626967676560448201526a72207468616e207a65726f60a81b6064820152608401610b86565b6001600160a01b038216613ef75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b86565b6001600160a01b03821660009081526033602052604090205481811015613f6b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b86565b6001600160a01b0383166000818152603360209081526040808320868603905560358054879003905551858152919291600080516020615549833981519152910160405180910390a3505050565b6000613fc68484846134e6565b6001600160a01b0386166000908152609e6020526040902054614000908790613ff99088906001600160801b0316614d13565b600161366a565b609a5461401e908690600160801b90046001600160801b0316614d13565b609a80546001600160801b03928316600160801b02921691909117905550600195945050505050565b6001600160a01b0383166140ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b86565b6001600160a01b03821661410d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b86565b6001600160a01b038316600090815260336020526040902054818110156141855760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b86565b6001600160a01b038085166000818152603360205260408082208686039055928616808252908390208054860190559151600080516020615549833981519152906141d39086815260200190565b60405180910390a3612b32565b600080866001600160a01b031663b0f479a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015614221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142459190614d67565b9050606060006001600160a01b03168760008151811061426757614267614ce7565b60200260200101516001600160a01b03160361438357816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156142bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142df9190614d67565b876000815181106142f2576142f2614ce7565b6001600160a01b039283166020918202929092010152604051637ff36ab560e01b815290831690637ff36ab59088906143359089908c908a904290600401615342565b60006040518083038185885af1158015614353573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261437c9190810190615377565b905061454c565b60006001600160a01b0316876001895161439d9190614d13565b815181106143ad576143ad614ce7565b60200260200101516001600160a01b0316036144ce57816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015614401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144259190614d67565b87600189516144349190614d13565b8151811061444457614444614ce7565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe59061448790899089908c908a904290600401615407565b6000604051808303816000875af11580156144a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261437c9190810190615377565b6040516338ed173960e01b81526001600160a01b038316906338ed17399061450290899089908c908a904290600401615407565b6000604051808303816000875af1158015614521573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526145499190810190615377565b90505b806001825161455b9190614d13565b8151811061456b5761456b614ce7565b60200260200101519250505095945050505050565b600054610100900460ff166145a75760405162461bcd60e51b8152600401610b86906152f7565b60366145b38382615489565b5060376114aa8282615489565b828054828255906000526020600020908101928215614615579160200282015b8281111561461557825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906145e0565b506134e29291505b808211156134e2576000815560010161461d565b801515811461105857600080fd5b60006020828403121561465157600080fd5b813561465c81614631565b9392505050565b600060208083528351808285015260005b8181101561469057858101830151858201604001528201614674565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461105857600080fd5b80356146d1816146b1565b919050565b600080604083850312156146e957600080fd5b82356146f4816146b1565b946020939093013593505050565b6000806040838503121561471557600080fd5b823561472081614631565b9150602083013561473081614631565b809150509250929050565b60006020828403121561474d57600080fd5b813561465c816146b1565b60008060006060848603121561476d57600080fd5b8335614778816146b1565b92506020840135614788816146b1565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b63ffffffff8116811461105857600080fd5b600080604083850312156147d257600080fd5b82356147dd816147ad565b91506020830135614730816147ad565b6000602082840312156147ff57600080fd5b813562ffffff8116811461465c57600080fd5b60008060006060848603121561482757600080fd5b8335925060208401359150604084013561484081614631565b809150509250925092565b6000806000806080858703121561486157600080fd5b843561486c816146b1565b966020860135965060408601359560600135945092505050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156148bf576148bf614886565b60405290565b604051601f8201601f191681016001600160401b03811182821017156148ed576148ed614886565b604052919050565b600082601f83011261490657600080fd5b81356001600160401b0381111561491f5761491f614886565b614932601f8201601f19166020016148c5565b81815284602083860101111561494757600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160401b038116811461105857600080fd5b80356146d181614964565b60006001600160401b0382111561499d5761499d614886565b5060051b60200190565b600082601f8301126149b857600080fd5b813560206149cd6149c883614984565b6148c5565b82815260059290921b840181019181810190868411156149ec57600080fd5b8286015b84811015614a10578035614a03816146b1565b83529183019183016149f0565b509695505050505050565b6000806000806000806000806000806101408b8d031215614a3b57600080fd5b614a448b6146c6565b9950614a5260208c016146c6565b9850614a6060408c016146c6565b975060608b01356001600160401b0380821115614a7c57600080fd5b614a888e838f016148f5565b985060808d0135915080821115614a9e57600080fd5b614aaa8e838f016148f5565b9750614ab860a08e01614979565b9650614ac660c08e016146c6565b9550614ad460e08e016146c6565b9450614ae36101008e016146c6565b93506101208d0135915080821115614afa57600080fd5b50614b078d828e016149a7565b9150509295989b9194979a5092959850565b600080600060608486031215614b2e57600080fd5b8335614b39816146b1565b95602085013595506040909401359392505050565b600060208284031215614b6057600080fd5b5035919050565b60008060408385031215614b7a57600080fd5b8235614b85816146b1565b91506020830135614730816146b1565b60008060008060008060c08789031215614bae57600080fd5b8635614bb9816146b1565b95506020870135614bc9816146b1565b94506040870135614bd9816146b1565b935060608701356001600160401b0380821115614bf557600080fd5b614c018a838b016148f5565b94506080890135915080821115614c1757600080fd5b50614c2489828a016148f5565b92505060a0870135614c3581614964565b809150509295509295509295565b60008060408385031215614c5657600080fd5b82359150602083013561473081614631565b600181811c90821680614c7c57607f821691505b602082108103614c9c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614cb457600080fd5b5051919050565b805160ff811681146146d157600080fd5b600060208284031215614cde57600080fd5b61465c82614cbb565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561086b5761086b614cfd565b6001600160a01b03929092168252602082015260400190565b600060208284031215614d5157600080fd5b815161465c81614631565b80516146d1816146b1565b600060208284031215614d7957600080fd5b815161465c816146b1565b8082018082111561086b5761086b614cfd565b6020808252600c908201526b4744414f5f5354414b45525360a01b604082015260600190565b600081518084526020808501945080840160005b83811015614df65781516001600160a01b031687529582019590820190600101614dd1565b509495945050505050565b6001600160a01b0383168152604060208201819052600090614e2590830184614dbd565b949350505050565b6020808252600c908201526b232aa7222fa6a0a720a3a2a960a11b604082015260600190565b60008060008060808587031215614e6957600080fd5b8451614e74816147ad565b6020860151909450614e8581614964565b6040860151909350614e9681614964565b6060860151909250614ea781614631565b939692955090935050565b6001600160801b03818116838216019080821115614ed257614ed2614cfd565b5092915050565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b0383811680614f0957614f09614ed9565b92169190910492915050565b600060208284031215614f2757600080fd5b604051602081016001600160401b0381118282101715614f4957614f49614886565b6040529151825250919050565b80516001600160801b03811681146146d157600080fd5b805164ffffffffff811681146146d157600080fd5b60006101808284031215614f9557600080fd5b614f9d61489c565b614fa78484614f15565b8152614fb560208401614f56565b6020820152614fc660408401614f56565b6040820152614fd760608401614f56565b6060820152614fe860808401614f56565b6080820152614ff960a08401614f56565b60a082015261500a60c08401614f6d565b60c082015261501b60e08401614d5c565b60e082015261010061502e818501614d5c565b90820152610120615040848201614d5c565b90820152610140615052848201614d5c565b90820152610160615064848201614cbb565b908201529392505050565b600081600019048311821515161561508957615089614cfd565b500290565b600181815b808511156150c95781600019048211156150af576150af614cfd565b808516156150bc57918102915b93841c9390800290615093565b509250929050565b6000826150e05750600161086b565b816150ed5750600061086b565b8160018114615103576002811461510d57615129565b600191505061086b565b60ff84111561511e5761511e614cfd565b50506001821b61086b565b5060208310610133831016604e8410600b841016171561514c575081810a61086b565b615156838361508e565b806000190482111561516a5761516a614cfd565b029392505050565b600061465c60ff8416836150d1565b60008261519057615190614ed9565b500490565b600061465c83836150d1565b6020808252600e908201526d2aa724a9aba0a82fa927aaaa22a960911b604082015260600190565b6020808252600490820152634344414960e01b604082015260600190565b6001600160a01b0392831681529116602082015260400190565b60ff828116828216039081111561086b5761086b614cfd565b60408152600061522d6040830185614dbd565b905060018060a01b03831660208301529392505050565b63ffffffff818116838216019080821115614ed257614ed2614cfd565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6060815260006152976060830186614dbd565b6020830194909452506001600160a01b0391909116604090910152919050565b6001600160801b03828116828216039080821115614ed257614ed2614cfd565b6001600160401b03828116828216039080821115614ed257614ed2614cfd565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b84815260806020820152600061535b6080830186614dbd565b6001600160a01b03949094166040830152506060015292915050565b6000602080838503121561538a57600080fd5b82516001600160401b038111156153a057600080fd5b8301601f810185136153b157600080fd5b80516153bf6149c882614984565b81815260059190911b820183019083810190878311156153de57600080fd5b928401925b828410156153fc578351825292840192908401906153e3565b979650505050505050565b85815284602082015260a06040820152600061542660a0830186614dbd565b6001600160a01b0394909416606083015250608001529392505050565b601f8211156114aa57600081815260208120601f850160051c8101602086101561546a5750805b601f850160051c820191505b8181101561105257828155600101615476565b81516001600160401b038111156154a2576154a2614886565b6154b6816154b08454614c68565b84615443565b602080601f8311600181146154eb57600084156154d35750858301515b600019600386901b1c1916600185901b178555611052565b600085815260208120601f198616915b8281101561551a578886015182559484019460019091019084016154fb565b50858210156155385787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e490d372fc006476736a9ae1319ddd632bf66029ccb1fe7fe8ddf1496389bc2c64736f6c63430008100033";
1163
+
1164
+ type GoodAaveStakingV2ConstructorParams =
1165
+ | [linkLibraryAddresses: GoodAaveStakingV2LibraryAddresses, signer?: Signer]
1166
+ | ConstructorParameters<typeof ContractFactory>;
1167
+
1168
+ const isSuperArgs = (
1169
+ xs: GoodAaveStakingV2ConstructorParams
1170
+ ): xs is ConstructorParameters<typeof ContractFactory> => {
1171
+ return (
1172
+ typeof xs[0] === "string" ||
1173
+ (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) ||
1174
+ "_isInterface" in xs[0]
1175
+ );
1176
+ };
1177
+
1178
+ export class GoodAaveStakingV2__factory extends ContractFactory {
1179
+ constructor(...args: GoodAaveStakingV2ConstructorParams) {
1180
+ if (isSuperArgs(args)) {
1181
+ super(...args);
1182
+ } else {
1183
+ const [linkLibraryAddresses, signer] = args;
1184
+ super(
1185
+ _abi,
1186
+ GoodAaveStakingV2__factory.linkBytecode(linkLibraryAddresses),
1187
+ signer
1188
+ );
1189
+ }
1190
+ }
1191
+
1192
+ static linkBytecode(
1193
+ linkLibraryAddresses: GoodAaveStakingV2LibraryAddresses
1194
+ ): string {
1195
+ let linkedBytecode = _bytecode;
1196
+
1197
+ linkedBytecode = linkedBytecode.replace(
1198
+ new RegExp("__\\$a7857c79f7039505337147dc025cce365e\\$__", "g"),
1199
+ linkLibraryAddresses[
1200
+ "contracts/staking/UniswapV2SwapHelper.sol:UniswapV2SwapHelper"
1201
+ ]
1202
+ .replace(/^0x/, "")
1203
+ .toLowerCase()
1204
+ );
1205
+
1206
+ return linkedBytecode;
1207
+ }
1208
+
1209
+ deploy(
1210
+ overrides?: Overrides & { from?: string | Promise<string> }
1211
+ ): Promise<GoodAaveStakingV2> {
1212
+ return super.deploy(overrides || {}) as Promise<GoodAaveStakingV2>;
1213
+ }
1214
+ getDeployTransaction(
1215
+ overrides?: Overrides & { from?: string | Promise<string> }
1216
+ ): TransactionRequest {
1217
+ return super.getDeployTransaction(overrides || {});
1218
+ }
1219
+ attach(address: string): GoodAaveStakingV2 {
1220
+ return super.attach(address) as GoodAaveStakingV2;
1221
+ }
1222
+ connect(signer: Signer): GoodAaveStakingV2__factory {
1223
+ return super.connect(signer) as GoodAaveStakingV2__factory;
1224
+ }
1225
+ static readonly bytecode = _bytecode;
1226
+ static readonly abi = _abi;
1227
+ static createInterface(): GoodAaveStakingV2Interface {
1228
+ return new utils.Interface(_abi) as GoodAaveStakingV2Interface;
1229
+ }
1230
+ static connect(
1231
+ address: string,
1232
+ signerOrProvider: Signer | Provider
1233
+ ): GoodAaveStakingV2 {
1234
+ return new Contract(address, _abi, signerOrProvider) as GoodAaveStakingV2;
1235
+ }
1236
+ }
1237
+
1238
+ export interface GoodAaveStakingV2LibraryAddresses {
1239
+ ["contracts/staking/UniswapV2SwapHelper.sol:UniswapV2SwapHelper"]: string;
1240
+ }