@gooddollar/goodprotocol 1.0.30 → 2.0.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 (741) hide show
  1. package/README.md +25 -0
  2. package/artifacts/abis/AaveMock.min.json +1 -1
  3. package/artifacts/abis/AaveStakingFactory.min.json +1 -1
  4. package/artifacts/abis/AdminWallet.min.json +1 -1
  5. package/artifacts/abis/AdminWalletFuse.min.json +1 -0
  6. package/artifacts/abis/BuyAndBridgeHelper.min.json +1 -0
  7. package/artifacts/abis/ClaimersDistribution.min.json +1 -1
  8. package/artifacts/abis/CompoundStakingFactory.min.json +1 -1
  9. package/artifacts/abis/CompoundVotingMachine.min.json +1 -1
  10. package/artifacts/abis/DAIMock.min.json +1 -1
  11. package/artifacts/abis/DAOUpgradeableContract.min.json +1 -1
  12. package/artifacts/abis/DecimalsMock.min.json +1 -1
  13. package/artifacts/abis/DistributionHelper.min.json +1 -1
  14. package/artifacts/abis/DistributionHelperTest.min.json +1 -1
  15. package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -1
  16. package/artifacts/abis/DonationsStaking.min.json +1 -1
  17. package/artifacts/abis/ERC20Permit.min.json +1 -0
  18. package/artifacts/abis/ERC20PresetMinterPauserUpgradeable.min.json +1 -0
  19. package/artifacts/abis/ERC677.min.json +1 -0
  20. package/artifacts/abis/ERC677Receiver.min.json +1 -0
  21. package/artifacts/abis/ExchangeHelper.min.json +1 -1
  22. package/artifacts/abis/Faucet.min.json +1 -0
  23. package/artifacts/abis/FeesFormulaMock.min.json +1 -0
  24. package/artifacts/abis/FuseFaucet.min.json +1 -1
  25. package/artifacts/abis/FuseFaucetV2.min.json +1 -0
  26. package/artifacts/abis/FuseStakingV3.min.json +1 -1
  27. package/artifacts/abis/GReputation.min.json +1 -1
  28. package/artifacts/abis/GoodAaveStaking.min.json +1 -1
  29. package/artifacts/abis/GoodAaveStakingV2.min.json +1 -1
  30. package/artifacts/abis/GoodCompoundStaking.min.json +1 -1
  31. package/artifacts/abis/GoodCompoundStakingTest.min.json +1 -1
  32. package/artifacts/abis/GoodCompoundStakingV2.min.json +1 -1
  33. package/artifacts/abis/GoodDollar.min.json +1 -0
  34. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -1
  35. package/artifacts/abis/GoodDollarStaking.min.json +1 -1
  36. package/artifacts/abis/GoodDollarStakingMock.min.json +1 -1
  37. package/artifacts/abis/GoodFundManager.min.json +1 -1
  38. package/artifacts/abis/GoodFundManagerTest.min.json +1 -1
  39. package/artifacts/abis/GoodMarketMaker.min.json +1 -1
  40. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  41. package/artifacts/abis/GovernanceStaking.min.json +1 -1
  42. package/artifacts/abis/IFeesFormula.min.json +1 -0
  43. package/artifacts/abis/IGoodDollar.min.json +1 -1
  44. package/artifacts/abis/IGoodDollarCustom.min.json +1 -0
  45. package/artifacts/abis/IGovernanceStaking.min.json +1 -0
  46. package/artifacts/abis/IIdentity.min.json +1 -1
  47. package/artifacts/abis/IIdentityV2.min.json +1 -0
  48. package/artifacts/abis/IStakingUpgrade.min.json +1 -0
  49. package/artifacts/abis/ISuperGoodDollar.min.json +1 -0
  50. package/artifacts/abis/IdentityMock.min.json +1 -0
  51. package/artifacts/abis/IdentityV2.min.json +1 -0
  52. package/artifacts/abis/InvitesFuseV2.min.json +1 -0
  53. package/artifacts/abis/InvitesV1.min.json +1 -1
  54. package/artifacts/abis/InvitesV2.min.json +1 -0
  55. package/artifacts/abis/LendingPoolMock.min.json +1 -1
  56. package/artifacts/abis/NameService.min.json +1 -1
  57. package/artifacts/abis/PayableMock.min.json +1 -0
  58. package/artifacts/abis/Proxy.min.json +1 -0
  59. package/artifacts/abis/Reputation.min.json +1 -1
  60. package/artifacts/abis/SelfApprove.min.json +1 -0
  61. package/artifacts/abis/SimpleStaking.min.json +1 -1
  62. package/artifacts/abis/SimpleStakingV2.min.json +1 -1
  63. package/artifacts/abis/SixteenDecimalsTokenMock.min.json +1 -1
  64. package/artifacts/abis/StakersDistribution.min.json +1 -1
  65. package/artifacts/abis/SuperGoodDollar.min.json +1 -0
  66. package/artifacts/abis/SuperToken.min.json +1 -0
  67. package/artifacts/abis/SuperfluidToken.min.json +1 -0
  68. package/artifacts/abis/TwentyDecimalsTokenMock.min.json +1 -1
  69. package/artifacts/abis/UBIScheme.min.json +1 -1
  70. package/artifacts/abis/USDCMock.min.json +1 -1
  71. package/artifacts/abis/UUPSProxiable.min.json +1 -0
  72. package/artifacts/abis/UUPSProxy.min.json +1 -0
  73. package/artifacts/abis/UUPSUtils.min.json +1 -0
  74. package/artifacts/abis/UpgradableMock.min.json +1 -1
  75. package/artifacts/abis/UpgradableMock2.min.json +1 -1
  76. package/artifacts/abis/UpgradableMock3.min.json +1 -1
  77. package/artifacts/abis/UpgradableMock4.min.json +1 -1
  78. package/artifacts/abis/cBATMock.min.json +1 -1
  79. package/artifacts/abis/cDAILowWorthMock.min.json +1 -1
  80. package/artifacts/abis/cDAIMock.min.json +1 -1
  81. package/artifacts/abis/cDAINonMintableMock.min.json +1 -1
  82. package/artifacts/abis/cDecimalsMock.min.json +1 -1
  83. package/artifacts/abis/cSDTMock.min.json +1 -1
  84. package/artifacts/abis/cUSDCMock.min.json +1 -1
  85. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  86. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  87. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  88. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  89. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  90. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  91. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  92. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  93. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  94. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  95. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  96. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  97. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  98. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  99. package/artifacts/contracts/Interfaces.sol/IGoodDollar.json +184 -0
  100. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  101. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  102. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  103. package/artifacts/contracts/Interfaces.sol/IIdentity.json +70 -0
  104. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +4 -0
  105. package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +300 -0
  106. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  107. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  108. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  109. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  110. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  111. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  112. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  113. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  114. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  115. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  116. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  117. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +4 -0
  118. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +736 -0
  119. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  120. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +15 -2
  121. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +4 -0
  122. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json +480 -0
  123. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  124. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +28 -2
  125. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  126. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +28 -2
  127. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  128. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +78 -3
  129. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  130. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +71 -2
  131. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +4 -0
  132. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.json +24 -0
  133. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +4 -0
  134. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.json +35 -0
  135. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  136. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  137. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +31 -5
  138. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  139. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  140. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +28 -2
  141. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  142. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +28 -2
  143. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +4 -0
  144. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +1081 -0
  145. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +4 -0
  146. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.json +505 -0
  147. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  148. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +15 -2
  149. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +4 -0
  150. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +635 -0
  151. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  152. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +18 -5
  153. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  154. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
  155. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  156. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
  157. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  158. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
  159. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  160. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +18 -5
  161. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  162. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
  163. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  164. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +18 -5
  165. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  166. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +2 -2
  167. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  168. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +28 -2
  169. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  170. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +28 -2
  171. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  172. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
  173. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +4 -0
  174. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.json +69 -0
  175. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  176. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +2 -2
  177. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  178. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +22 -9
  179. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  180. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +95 -2
  181. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  182. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +28 -2
  183. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +4 -0
  184. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.json +277 -0
  185. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  186. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -2
  187. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  188. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +18 -5
  189. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  190. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  191. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
  192. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  193. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  194. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  195. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  196. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  197. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +4 -0
  198. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.json +18 -0
  199. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  200. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +18 -5
  201. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  202. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +2 -2
  203. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  204. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  205. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  206. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +18 -5
  207. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  208. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +28 -2
  209. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  210. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +28 -2
  211. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  212. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +28 -2
  213. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  214. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +28 -2
  215. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  216. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +18 -5
  217. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  218. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +18 -5
  219. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  220. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +18 -5
  221. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  222. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +18 -5
  223. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  224. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +18 -5
  225. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  226. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +18 -5
  227. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  228. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +18 -5
  229. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  230. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +18 -5
  231. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  232. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +28 -2
  233. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  234. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +28 -2
  235. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  236. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +28 -2
  237. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  238. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  239. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +31 -5
  240. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  241. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  242. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  243. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  244. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  245. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +32 -6
  246. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  247. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +44 -83
  248. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  249. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  250. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  251. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +28 -2
  252. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  253. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.json +16 -3
  254. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  255. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.json +16 -3
  256. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  257. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  258. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  259. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +3 -3
  260. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  261. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +20 -7
  262. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  263. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +20 -7
  264. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  265. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +4 -4
  266. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  267. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +22 -9
  268. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  269. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +22 -9
  270. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  271. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +2 -2
  272. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  273. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +4 -0
  274. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.json +768 -0
  275. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +4 -0
  276. package/artifacts/contracts/token/ERC677.sol/ERC677.json +66 -0
  277. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +4 -0
  278. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.json +40 -0
  279. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +4 -0
  280. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.json +45 -0
  281. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +4 -0
  282. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.json +1206 -0
  283. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +4 -0
  284. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.json +99 -0
  285. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +4 -0
  286. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.json +34 -0
  287. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +4 -0
  288. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.json +355 -0
  289. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +4 -0
  290. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.json +2132 -0
  291. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +4 -0
  292. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +2627 -0
  293. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +4 -0
  294. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.json +1759 -0
  295. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +4 -0
  296. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.json +682 -0
  297. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +4 -0
  298. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.json +89 -0
  299. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +4 -0
  300. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.json +19 -0
  301. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +4 -0
  302. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +32 -0
  303. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +4 -0
  304. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.json +10 -0
  305. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  306. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +41 -22
  307. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  308. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +94 -48
  309. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +4 -0
  310. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.json +830 -0
  311. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  312. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
  313. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  314. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  315. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +4 -0
  316. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +184 -0
  317. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  318. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  319. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  320. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +28 -2
  321. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  322. package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
  323. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  324. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +2 -2
  325. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  326. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +35 -2
  327. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  328. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  329. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  330. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
  331. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  332. package/artifacts/contracts/utils/MultiCall.sol/Multicall.json +2 -2
  333. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  334. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
  335. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  336. package/artifacts/contracts/utils/NameService.sol/NameService.json +28 -2
  337. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  338. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  339. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  340. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  341. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  342. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  343. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  344. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  345. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  346. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  347. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  348. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  349. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
  350. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  351. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  352. package/contracts/Interfaces.sol +57 -3
  353. package/contracts/fuseFaucet/Faucet.sol +258 -0
  354. package/contracts/fuseFaucet/FuseFaucet.sol +1 -2
  355. package/contracts/fuseFaucet/FuseFaucetV2.sol +256 -0
  356. package/contracts/governance/GReputation.sol +104 -16
  357. package/contracts/governance/GoodDollarStaking.sol +139 -53
  358. package/contracts/governance/GovernanceStaking.sol +2 -2
  359. package/contracts/identity/IdentityV2.sol +559 -0
  360. package/contracts/invite/InvitesFuseV2.sol +337 -0
  361. package/contracts/invite/InvitesV1.sol +6 -24
  362. package/contracts/invite/InvitesV2.sol +345 -0
  363. package/contracts/mocks/AaveMock.sol +1 -1
  364. package/contracts/mocks/DAIMock.sol +1 -1
  365. package/contracts/mocks/DecimalsMock.sol +1 -1
  366. package/contracts/mocks/FeesFormularMock.sol +21 -0
  367. package/contracts/mocks/GoodDollarStakingMock.sol +16 -0
  368. package/contracts/mocks/GoodFundManagerTest.sol +1 -1
  369. package/contracts/mocks/IdentityMock.sol +58 -0
  370. package/contracts/mocks/LendingPoolMock.sol +1 -1
  371. package/contracts/mocks/PayableMock.sol +3 -0
  372. package/contracts/mocks/SixteenDecimalsTokenMock.sol +1 -6
  373. package/contracts/mocks/TwentyDecimalsTokenMock.sol +1 -6
  374. package/contracts/mocks/UpgradableMocks.sol +5 -3
  375. package/contracts/mocks/UsdcMock.sol +1 -6
  376. package/contracts/mocks/cBATMock.sol +7 -12
  377. package/contracts/mocks/cDAILowWorthMock.sol +8 -12
  378. package/contracts/mocks/cDAIMock.sol +1 -1
  379. package/contracts/mocks/cDAINonMintableMock.sol +7 -12
  380. package/contracts/mocks/cDecimalsMock.sol +1 -1
  381. package/contracts/mocks/cSDTMock.sol +3 -3
  382. package/contracts/mocks/cUSDCMock.sol +5 -5
  383. package/contracts/reserve/DistributionHelper.sol +1 -1
  384. package/contracts/reserve/GoodReserveCDai.sol +1 -1
  385. package/contracts/staking/FuseStakingV3.sol +42 -112
  386. package/contracts/staking/GoodFundManager.sol +2 -2
  387. package/contracts/token/ERC20PresetMinterPauserUpgradeable.sol +140 -0
  388. package/contracts/token/ERC677.sol +74 -0
  389. package/contracts/token/FeesFormula.sol +10 -0
  390. package/contracts/token/GoodDollar.sol +243 -0
  391. package/contracts/token/superfluid/ERC20Permit.sol +101 -0
  392. package/contracts/token/superfluid/ISuperGoodDollar.sol +84 -0
  393. package/contracts/token/superfluid/SuperGoodDollar.sol +401 -0
  394. package/contracts/token/superfluid/SuperToken.sol +714 -0
  395. package/contracts/token/superfluid/SuperfluidToken.sol +403 -0
  396. package/contracts/token/superfluid/UUPSProxiable.sol +55 -0
  397. package/contracts/token/superfluid/UUPSProxy.sol +153 -0
  398. package/contracts/ubi/UBIScheme.sol +88 -68
  399. package/contracts/utils/AdminWallet.sol +42 -11
  400. package/contracts/utils/AdminWalletFuse.sol +271 -0
  401. package/contracts/utils/BuyAndBridgeHelper.sol +108 -0
  402. package/contracts/utils/GoodDollarMintBurnWrapper.sol +19 -1
  403. package/contracts/utils/ProxyFactory1967.sol +1 -1
  404. package/hardhat.config.ts +33 -7
  405. package/package.json +11 -7
  406. package/releases/deploy-settings.json +58 -4
  407. package/releases/deployment.json +65 -231
  408. package/scripts/deployFullDAO.ts +39 -19
  409. package/scripts/gdx/gdxAirdropCalculation.ts +10 -11
  410. package/scripts/governance/airdropCalculationRecover.ts +43 -33
  411. package/scripts/governance/airdropCalculationSorted.ts +438 -0
  412. package/scripts/governance/goodCheckpointSorted.ts +377 -0
  413. package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +100 -0
  414. package/scripts/multichain-deploy/{basicdao-deploy.ts → 1_basicdao-deploy.ts} +123 -93
  415. package/scripts/multichain-deploy/2_helpers-deploy.ts +151 -0
  416. package/scripts/multichain-deploy/{gdSavings-deploy.ts → 3_gdSavings-deploy.ts} +106 -76
  417. package/scripts/multichain-deploy/4_ubi-deploy.ts +147 -0
  418. package/scripts/multichain-deploy/5_gov-deploy.ts +147 -0
  419. package/scripts/multichain-deploy/fulldeploy.sh +26 -0
  420. package/scripts/multichain-deploy/helpers.ts +149 -111
  421. package/scripts/multichain-deploy/v3-fix.ts +120 -0
  422. package/scripts/multichain-deploy/verifyEtherscan.ts +197 -0
  423. package/scripts/test/localOldDaoDeploy.ts +10 -3
  424. package/scripts/upgradeToV3/v3-fix.ts +120 -0
  425. package/scripts/upgradeToV3/v3-upgrade.ts +219 -0
  426. package/scripts/upgrades/celo-defi-ubi-deploy.ts +165 -0
  427. package/scripts/upgrades/identity-upgrade.ts +109 -0
  428. package/scripts/upgrades/transferDaoToGuardians.ts +80 -0
  429. package/test/faucet/Faucet.test.ts +157 -0
  430. package/test/{FuseFaucet.test.ts → faucet/FuseFaucet.test.ts} +26 -31
  431. package/test/governance/ClaimersDistribution.test.ts +58 -6
  432. package/test/governance/CompoundVotingMachine.castvote.test.ts +3 -3
  433. package/test/governance/CompoundVotingMachine.crossblockchain.ts +3 -2
  434. package/test/governance/CompoundVotingMachine.daoscheme.ts +8 -10
  435. package/test/governance/CompoundVotingMachine.delegate.test.ts +4 -5
  436. package/test/governance/CompoundVotingMachine.guardian.test.ts +5 -11
  437. package/test/governance/CompoundVotingMachine.propose.test.ts +3 -2
  438. package/test/governance/CompoundVotingMachine.state.test.ts +3 -2
  439. package/test/governance/GReputation.test.ts +78 -32
  440. package/test/governance/GReputation.v2merkle.test.ts +186 -0
  441. package/test/governance/GoodDollarStaking.gd.test.ts +83 -1
  442. package/test/governance/GoodDollarStaking.good.test.ts +2 -1
  443. package/test/governance/GovernanceStaking.test.ts +4 -4
  444. package/test/governance/Reputation.test.ts +2 -1
  445. package/test/governance/StakersDistribution.test.ts +26 -13
  446. package/test/helpers.ts +145 -52
  447. package/test/identity/IdentityV2.test.ts +539 -0
  448. package/test/{InvitesV1.test.ts → invite/InvitesV1.test.ts} +10 -5
  449. package/test/invite/InvitesV2.test.ts +328 -0
  450. package/test/reserve/DistributionHelper.test.ts +2 -1
  451. package/test/reserve/GoodMarketMaker.test.ts +20 -19
  452. package/test/reserve/GoodReserveCDai.cap.test.ts +8 -1
  453. package/test/reserve/GoodReserveCDai.distribution.test.ts +2 -1
  454. package/test/reserve/GoodReserveCDai.gdx.test.ts +2 -2
  455. package/test/reserve/GoodReserveCDai.pause.test.ts +2 -1
  456. package/test/reserve/GoodReserveCDai.test.ts +14 -38
  457. package/test/reserve/GoodReserveCDai.uniswap.test.ts +21 -19
  458. package/test/staking/CompoundStakingFactory.test.ts +8 -5
  459. package/test/staking/DifferentStakingTokens.test.ts +3 -2
  460. package/test/staking/DonationsStaking.test.ts +33 -24
  461. package/test/staking/FuseStaking.test.ts +11 -13
  462. package/test/staking/GoodAaveStakingFactory.test.ts +36 -31
  463. package/test/staking/SimpleDAIStaking.test.ts +13 -19
  464. package/test/staking/StakingRewards.test.ts +32 -32
  465. package/test/staking/StakingRewardsFixedAPY.test.ts +2 -1
  466. package/test/staking/SwapHelper.test.ts +20 -17
  467. package/test/staking/UsdcAaveStaking.test.ts +36 -33
  468. package/test/token/GoodDollar.test.ts +445 -0
  469. package/test/token/SuperGoodDollar.test.ts +422 -0
  470. package/test/ubi/UBIScheme.e2e.test.ts +6 -5
  471. package/test/ubi/UBIScheme.test.ts +37 -36
  472. package/test/ubi/UBISchemeCycle.test.ts +11 -8
  473. package/test/utils/AdminWallet.test.ts +34 -11
  474. package/test/utils/BuyAndBridgeHelper.test.ts +249 -0
  475. package/test/utils/DAOUpgradeableContract.test.ts +3 -2
  476. package/test/utils/GoodDollarMintBurnWrapper.test.ts +3 -2
  477. package/test/utils/NameService.test.ts +37 -21
  478. package/test/utils/ProtocolUpgrade.test.ts +1 -1
  479. package/test/utils/ProxyFactory.test.ts +12 -10
  480. package/truffle-config.js +18 -18
  481. package/types/AaveMock.ts +24 -15
  482. package/types/AccessControlEnumerableUpgradeable.ts +9 -0
  483. package/types/AccessControlUpgradeable.ts +9 -0
  484. package/types/AdminWallet.ts +149 -110
  485. package/types/AdminWalletFuse.ts +1268 -0
  486. package/types/BuyAndBridgeHelper.ts +279 -0
  487. package/types/CBATMock.ts +24 -15
  488. package/types/CDAILowWorthMock.ts +24 -15
  489. package/types/CDAIMock.ts +24 -15
  490. package/types/CDAINonMintableMock.ts +24 -15
  491. package/types/CDecimalsMock.ts +24 -15
  492. package/types/CSDTMock.ts +24 -15
  493. package/types/CUSDCMock.ts +24 -15
  494. package/types/ClaimersDistribution.ts +28 -0
  495. package/types/CompoundVotingMachine.ts +28 -0
  496. package/types/ContextUpgradeable.ts +77 -0
  497. package/types/DAIMock.ts +24 -15
  498. package/types/DAOUpgradeableContract.ts +28 -0
  499. package/types/DecimalsMock.ts +24 -15
  500. package/types/DistributionHelper.ts +28 -0
  501. package/types/DistributionHelperTest.ts +28 -0
  502. package/types/DistributionHelperTestHelper.ts +28 -0
  503. package/types/DonationsStaking.ts +28 -0
  504. package/types/EIP712Upgradeable.ts +77 -0
  505. package/types/ERC165Upgradeable.ts +13 -2
  506. package/types/ERC1967UpgradeUpgradeable.ts +9 -0
  507. package/types/ERC20BurnableUpgradeable.ts +24 -15
  508. package/types/ERC20PausableUpgradeable.ts +24 -15
  509. package/types/ERC20Permit.ts +186 -0
  510. package/types/ERC20PermitUpgradeable.ts +531 -0
  511. package/types/ERC20PresetMinterPauserUpgradeable.ts +129 -16
  512. package/types/ERC20Upgradeable.ts +24 -15
  513. package/types/ERC20WithTokenInfo.ts +339 -0
  514. package/types/ERC677.ts +131 -0
  515. package/types/ERC677Receiver.ts +115 -0
  516. package/types/EventsEmitter.ts +88 -0
  517. package/types/ExchangeHelper.ts +28 -0
  518. package/types/Faucet.ts +1107 -0
  519. package/types/FeesFormulaMock.ts +130 -0
  520. package/types/FuseFaucet.ts +9 -0
  521. package/types/FuseFaucetV2.ts +729 -0
  522. package/types/FuseStakingV3.ts +75 -208
  523. package/types/GReputation.ts +103 -4
  524. package/types/GoodAaveStaking.ts +24 -15
  525. package/types/GoodAaveStakingV2.ts +24 -15
  526. package/types/GoodCompoundStaking.ts +24 -15
  527. package/types/GoodCompoundStakingTest.ts +24 -15
  528. package/types/GoodCompoundStakingV2.ts +24 -15
  529. package/types/GoodDollar.ts +1733 -0
  530. package/types/GoodDollarMintBurnWrapper.ts +55 -0
  531. package/types/GoodDollarStaking.ts +92 -0
  532. package/types/GoodDollarStakingMock.ts +131 -0
  533. package/types/GoodFundManager.ts +28 -0
  534. package/types/GoodFundManagerTest.ts +28 -0
  535. package/types/GoodMarketMaker.ts +28 -0
  536. package/types/GoodReserveCDai.ts +43 -15
  537. package/types/GovernanceStaking.ts +43 -15
  538. package/types/IERC1271Upgradeable.ts +109 -0
  539. package/types/IERC1820Registry.ts +398 -0
  540. package/types/IERC1822ProxiableUpgradeable.ts +90 -0
  541. package/types/IERC20MetadataUpgradeable.ts +15 -15
  542. package/types/IERC20Permit.ts +175 -0
  543. package/types/IERC20PermitUpgradeable.ts +176 -0
  544. package/types/IERC20Upgradeable.ts +15 -15
  545. package/types/IERC777.ts +586 -0
  546. package/types/IERC777Recipient.ts +130 -0
  547. package/types/IERC777Sender.ts +130 -0
  548. package/types/IFeesFormula.ts +111 -0
  549. package/types/IGoodDollar.ts +304 -7
  550. package/types/IGoodDollarCustom.ts +618 -0
  551. package/types/IGovernanceStaking.ts +98 -0
  552. package/types/IIdentity.ts +106 -0
  553. package/types/IIdentityV2.ts +557 -0
  554. package/types/IStakingUpgrade.ts +110 -0
  555. package/types/ISuperAgreement.ts +151 -0
  556. package/types/ISuperApp.ts +410 -0
  557. package/types/ISuperGoodDollar.ts +3029 -0
  558. package/types/ISuperToken.ts +2326 -0
  559. package/types/ISuperTokenFactory.ts +415 -0
  560. package/types/ISuperfluid.ts +1565 -0
  561. package/types/ISuperfluidGovernance.ts +455 -0
  562. package/types/ISuperfluidToken.ts +951 -0
  563. package/types/IdentityMock.ts +493 -0
  564. package/types/IdentityV2.ts +1743 -0
  565. package/types/Initializable.ts +77 -0
  566. package/types/InvitesFuseV2.ts +806 -0
  567. package/types/InvitesV1.ts +9 -0
  568. package/types/InvitesV2.ts +1010 -0
  569. package/types/LendingPoolMock.ts +24 -15
  570. package/types/NameService.ts +28 -0
  571. package/types/OwnableUpgradeable.ts +9 -0
  572. package/types/PausableUpgradeable.ts +9 -0
  573. package/types/PayableMock.ts +92 -0
  574. package/types/ReentrancyGuardUpgradeable.ts +78 -0
  575. package/types/Reputation.ts +28 -0
  576. package/types/SelfApprove.ts +115 -0
  577. package/types/SimpleStaking.ts +24 -15
  578. package/types/SimpleStakingV2.ts +24 -15
  579. package/types/SixteenDecimalsTokenMock.ts +24 -15
  580. package/types/StakersDistribution.ts +28 -0
  581. package/types/SuperGoodDollar.ts +3662 -0
  582. package/types/SuperToken.ts +2434 -0
  583. package/types/SuperfluidToken.ts +951 -0
  584. package/types/TokenInfo.ts +109 -0
  585. package/types/TwentyDecimalsTokenMock.ts +24 -15
  586. package/types/UBIScheme.ts +47 -40
  587. package/types/USDCMock.ts +24 -15
  588. package/types/UUPSProxiable.ts +183 -0
  589. package/types/UUPSProxy.ts +105 -0
  590. package/types/UUPSUpgradeable.ts +28 -0
  591. package/types/UpgradableMock.ts +28 -0
  592. package/types/UpgradableMock2.ts +28 -0
  593. package/types/UpgradableMock3.ts +28 -0
  594. package/types/UpgradableMock4.ts +28 -0
  595. package/types/factories/AaveMock__factory.ts +17 -4
  596. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  597. package/types/factories/AaveUSDMockOracle__factory.ts +1 -1
  598. package/types/factories/AccessControlEnumerableUpgradeable__factory.ts +13 -0
  599. package/types/factories/AccessControlUpgradeable__factory.ts +13 -0
  600. package/types/factories/AdminWalletFuse__factory.ts +881 -0
  601. package/types/factories/AdminWallet__factory.ts +93 -47
  602. package/types/factories/BancorFormula__factory.ts +1 -1
  603. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  604. package/types/factories/BaseShareField__factory.ts +1 -1
  605. package/types/factories/BatUSDMockOracle__factory.ts +1 -1
  606. package/types/factories/BuyAndBridgeHelper__factory.ts +237 -0
  607. package/types/factories/CBATMock__factory.ts +17 -4
  608. package/types/factories/CDAILowWorthMock__factory.ts +17 -4
  609. package/types/factories/CDAIMock__factory.ts +17 -4
  610. package/types/factories/CDAINonMintableMock__factory.ts +17 -4
  611. package/types/factories/CDecimalsMock__factory.ts +17 -4
  612. package/types/factories/CSDTMock__factory.ts +17 -4
  613. package/types/factories/CUSDCMock__factory.ts +17 -4
  614. package/types/factories/ClaimersDistribution__factory.ts +27 -1
  615. package/types/factories/CompUSDMockOracle__factory.ts +1 -1
  616. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  617. package/types/factories/CompoundVotingMachine__factory.ts +27 -1
  618. package/types/factories/ContextUpgradeable__factory.ts +39 -0
  619. package/types/factories/DAIMock__factory.ts +17 -4
  620. package/types/factories/DAOContract__factory.ts +1 -1
  621. package/types/factories/DAOUpgradeableContract__factory.ts +27 -1
  622. package/types/factories/DaiEthPriceMockOracle__factory.ts +1 -1
  623. package/types/factories/DecimalsMock__factory.ts +17 -4
  624. package/types/factories/DistributionBridgeMock__factory.ts +1 -1
  625. package/types/factories/DistributionHelperTestHelper__factory.ts +27 -1
  626. package/types/factories/DistributionHelperTest__factory.ts +27 -1
  627. package/types/factories/DistributionHelper__factory.ts +27 -1
  628. package/types/factories/DonationsStaking__factory.ts +27 -1
  629. package/types/factories/EIP712Upgradeable__factory.ts +39 -0
  630. package/types/factories/ERC165Upgradeable__factory.ts +13 -0
  631. package/types/factories/ERC1967Proxy__factory.ts +1 -1
  632. package/types/factories/ERC1967UpgradeUpgradeable__factory.ts +13 -0
  633. package/types/factories/ERC20BurnableUpgradeable__factory.ts +16 -3
  634. package/types/factories/ERC20PausableUpgradeable__factory.ts +16 -3
  635. package/types/factories/ERC20PermitUpgradeable__factory.ts +388 -0
  636. package/types/factories/ERC20Permit__factory.ts +111 -0
  637. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +99 -5
  638. package/types/factories/ERC20Upgradeable__factory.ts +17 -4
  639. package/types/factories/ERC20WithTokenInfo__factory.ts +248 -0
  640. package/types/factories/ERC677Receiver__factory.ts +55 -0
  641. package/types/factories/ERC677__factory.ts +75 -0
  642. package/types/factories/EthUSDMockOracle__factory.ts +1 -1
  643. package/types/factories/EventsEmitter__factory.ts +84 -0
  644. package/types/factories/ExchangeHelper__factory.ts +27 -1
  645. package/types/factories/Faucet__factory.ts +781 -0
  646. package/types/factories/FeesFormulaMock__factory.ts +132 -0
  647. package/types/factories/FuseFaucetV2__factory.ts +528 -0
  648. package/types/factories/FuseFaucet__factory.ts +14 -1
  649. package/types/factories/FuseStakingV3__factory.ts +43 -82
  650. package/types/factories/GReputation__factory.ts +77 -2
  651. package/types/factories/GasPriceMockOracle__factory.ts +1 -1
  652. package/types/factories/GoodAaveStakingV2__factory.ts +17 -4
  653. package/types/factories/GoodAaveStaking__factory.ts +17 -4
  654. package/types/factories/GoodCompoundStakingTest__factory.ts +17 -4
  655. package/types/factories/GoodCompoundStakingV2__factory.ts +17 -4
  656. package/types/factories/GoodCompoundStaking__factory.ts +17 -4
  657. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +34 -1
  658. package/types/factories/GoodDollarStakingMock__factory.ts +94 -1
  659. package/types/factories/GoodDollarStaking__factory.ts +70 -1
  660. package/types/factories/GoodDollar__factory.ts +1254 -0
  661. package/types/factories/GoodFundManagerTest__factory.ts +27 -1
  662. package/types/factories/GoodFundManager__factory.ts +27 -1
  663. package/types/factories/GoodMarketMaker__factory.ts +27 -1
  664. package/types/factories/GoodReserveCDai__factory.ts +30 -4
  665. package/types/factories/GovernanceStaking__factory.ts +30 -4
  666. package/types/factories/IERC1271Upgradeable__factory.ts +50 -0
  667. package/types/factories/IERC1820Registry__factory.ts +239 -0
  668. package/types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  669. package/types/factories/IERC20MetadataUpgradeable__factory.ts +3 -3
  670. package/types/factories/IERC20PermitUpgradeable__factory.ts +105 -0
  671. package/types/factories/IERC20Permit__factory.ts +98 -0
  672. package/types/factories/IERC20Upgradeable__factory.ts +3 -3
  673. package/types/factories/IERC777Recipient__factory.ts +64 -0
  674. package/types/factories/IERC777Sender__factory.ts +61 -0
  675. package/types/factories/IERC777__factory.ts +414 -0
  676. package/types/factories/IFeesFormula__factory.ts +57 -0
  677. package/types/factories/IGoodDollarCustom__factory.ts +370 -0
  678. package/types/factories/IGoodDollar__factory.ts +184 -0
  679. package/types/factories/IGovernanceStaking__factory.ts +39 -0
  680. package/types/factories/IIdentityV2__factory.ts +312 -0
  681. package/types/factories/IIdentity__factory.ts +70 -0
  682. package/types/factories/IStakingUpgrade__factory.ts +50 -0
  683. package/types/factories/ISuperAgreement__factory.ts +78 -0
  684. package/types/factories/ISuperApp__factory.ts +272 -0
  685. package/types/factories/ISuperGoodDollar__factory.ts +2147 -0
  686. package/types/factories/ISuperTokenFactory__factory.ts +271 -0
  687. package/types/factories/ISuperToken__factory.ts +1682 -0
  688. package/types/factories/ISuperfluidGovernance__factory.ts +264 -0
  689. package/types/factories/ISuperfluidToken__factory.ts +697 -0
  690. package/types/factories/ISuperfluid__factory.ts +1143 -0
  691. package/types/factories/IdentityMock__factory.ts +327 -0
  692. package/types/factories/IdentityV2__factory.ts +1129 -0
  693. package/types/factories/IncentiveControllerMock__factory.ts +1 -1
  694. package/types/factories/Initializable__factory.ts +36 -0
  695. package/types/factories/InvitesFuseV2__factory.ts +553 -0
  696. package/types/factories/InvitesV1__factory.ts +14 -1
  697. package/types/factories/InvitesV2__factory.ts +683 -0
  698. package/types/factories/LendingPoolMock__factory.ts +17 -4
  699. package/types/factories/Multicall__factory.ts +1 -1
  700. package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
  701. package/types/factories/MultichainRouterMock__factory.ts +1 -1
  702. package/types/factories/NameService__factory.ts +27 -1
  703. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  704. package/types/factories/OverMintTester__factory.ts +1 -1
  705. package/types/factories/OwnableUpgradeable__factory.ts +13 -0
  706. package/types/factories/PausableUpgradeable__factory.ts +13 -0
  707. package/types/factories/PayableMock__factory.ts +66 -0
  708. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  709. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  710. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  711. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  712. package/types/factories/ProxyFactory1967__factory.ts +1 -1
  713. package/types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  714. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  715. package/types/factories/Reputation__factory.ts +27 -1
  716. package/types/factories/SelfApprove__factory.ts +46 -0
  717. package/types/factories/SimpleStakingV2__factory.ts +16 -3
  718. package/types/factories/SimpleStaking__factory.ts +16 -3
  719. package/types/factories/SixteenDecimalsTokenMock__factory.ts +17 -4
  720. package/types/factories/StakersDistribution__factory.ts +27 -1
  721. package/types/factories/StakingMockFixedAPY__factory.ts +1 -1
  722. package/types/factories/SuperGoodDollar__factory.ts +2680 -0
  723. package/types/factories/SuperToken__factory.ts +1809 -0
  724. package/types/factories/SuperfluidToken__factory.ts +697 -0
  725. package/types/factories/SwapHelperTest__factory.ts +1 -1
  726. package/types/factories/TokenInfo__factory.ts +62 -0
  727. package/types/factories/TwentyDecimalsTokenMock__factory.ts +17 -4
  728. package/types/factories/UBIScheme__factory.ts +40 -21
  729. package/types/factories/USDCMock__factory.ts +17 -4
  730. package/types/factories/UUPSProxiable__factory.ts +101 -0
  731. package/types/factories/UUPSProxy__factory.ts +80 -0
  732. package/types/factories/UUPSUpgradeable__factory.ts +26 -0
  733. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  734. package/types/factories/UpgradableMock2__factory.ts +27 -1
  735. package/types/factories/UpgradableMock3__factory.ts +27 -1
  736. package/types/factories/UpgradableMock4__factory.ts +27 -1
  737. package/types/factories/UpgradableMock__factory.ts +27 -1
  738. package/types/hardhat.d.ts +459 -0
  739. package/types/index.ts +98 -0
  740. package/yarn.lock +1251 -306
  741. package/scripts/multichain-deploy/nonubiDistribution-deploy.ts +0 -170
@@ -7,6 +7,19 @@ import { Provider, TransactionRequest } from "@ethersproject/providers";
7
7
  import type { FuseFaucet, FuseFaucetInterface } from "../FuseFaucet";
8
8
 
9
9
  const _abi = [
10
+ {
11
+ anonymous: false,
12
+ inputs: [
13
+ {
14
+ indexed: false,
15
+ internalType: "uint8",
16
+ name: "version",
17
+ type: "uint8",
18
+ },
19
+ ],
20
+ name: "Initialized",
21
+ type: "event",
22
+ },
10
23
  {
11
24
  anonymous: false,
12
25
  inputs: [
@@ -324,7 +337,7 @@ const _abi = [
324
337
  ];
325
338
 
326
339
  const _bytecode =
327
- "0x608060405234801561001057600080fd5b50611619806100206000396000f3fe6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061121b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c366004611244565b61052b565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f610225366004611244565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611268565b610963565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db366004611244565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b366004611244565b610b8c565b34801561031c57600080fd5b5061019761032b3660046112f0565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d366004611244565b610cdc565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611336565b6001600160401b0316600281815561044a9190611365565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b1580156104f057600080fd5b505af1158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190611384565b50565b60005a905081610539610fc8565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061059b5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105e15760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061061190849060040161121b565b60206040518083038186803b15801561062957600080fd5b505afa15801561063d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106619190611384565b8061068557506001600160a01b03811660009081526008602052604090205460ff16155b6106e05760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105d8565b600060076005546106f191906113bc565b6001600160a01b0383166000908152600960205260408120546005549293509091610725916001600160801b0316906113d0565b9050600781116107355780610738565b60075b90508181116107475780610752565b6107528260016113e7565b90506000816107628460016113e7565b61076c91906113d0565b90505b8281116107e4576001600160a01b038416600090815260096020526040812060010182600781106107a2576107a26113ff565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107dc90611415565b91505061076f565b506000805b83811161085a576001600160a01b0385166000908152600960205260409020600101816007811061081c5761081c6113ff565b600291828204019190066010029054906101000a90046001600160801b0316826108469190611430565b91508061085281611415565b9150506107e9565b50600a5460015461087891600160601b900463ffffffff1690611365565b816001600160801b0316106108ec5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105d8565b6108f586610fe9565b505050505a61090490826113d0565b6109109061a4106113e7565b600a5490915033906108fc9061093690600160201b90046001600160401b031684611365565b6040518115909202916000818181858888f1935050505015801561095e573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109a95760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105d8565b600a54600160801b900463ffffffff168411156109f35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105d8565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a4057610a406113ff565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190611471565b81600181518110610ae457610ae46113ff565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610b2890899060009086908d90429060040161148e565b600060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7e91908101906114ff565b506001979650505050505050565b600054610100900460ff1680610ba5575060005460ff16155b610c085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d8565b600054610100900460ff16158015610c2a576000805461ffff19166101011790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c65906001600160401b03600160201b90910416620927c0611336565b6001600160401b03166002818155610c7d9190611365565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cd8576000805461ff00191690555b5050565b6000806201518060045442610cf191906113d0565b610cfb91906115b0565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d5857506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e035750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610d8f90879060040161121b565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190611384565b80610e0357506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e37579050505050505090506000600784610e8f91906113bc565b6001600160a01b03871660009081526009602052604081205491925090610ebf906001600160801b0316866113d0565b905060078111610ecf5780610ed2565b60075b9050818111610ee15780610eec565b610eec8260016113e7565b9050600081610efc8460016113e7565b610f0691906113d0565b90505b828111610f49576000848260078110610f2457610f246113ff565b6001600160801b03909216602092909202015280610f4181611415565b915050610f09565b506000805b838111610f8a57848160078110610f6757610f676113ff565b6020020151610f769083611430565b915080610f8281611415565b915050610f4e565b50848015610fbc5750600a54600154610fb091600160601b900463ffffffff1690611365565b816001600160801b0316105b98975050505050505050565b6201518060045442610fda91906113d0565b610fe491906115b0565b600555565b806001600160a01b0316316002541161100157600080fd5b6000816001600160a01b03163160025461101b91906113d0565b90506000600760055461102e91906113bc565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b03918216911614156110bc576001600160a01b0383166000908152600960205260409020805460019190601090611099908490600160801b900463ffffffff166115c4565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110e9565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110611137576111376113ff565b600291828204019190066010028282829054906101000a90046001600160801b03166111639190611430565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111d2573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161120e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461052857600080fd5b60006020828403121561125657600080fd5b81356112618161122f565b9392505050565b6000806000806060858703121561127e57600080fd5b84356112898161122f565b93506020850135925060408501356001600160401b03808211156112ac57600080fd5b818701915087601f8301126112c057600080fd5b8135818111156112cf57600080fd5b8860208285010111156112e157600080fd5b95989497505060200194505050565b6000806040838503121561130357600080fd5b8235915060208301356113158161122f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b038281168482168115158284048211161561135c5761135c611320565b02949350505050565b600081600019048311821515161561137f5761137f611320565b500290565b60006020828403121561139657600080fd5b8151801515811461126157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113cb576113cb6113a6565b500690565b6000828210156113e2576113e2611320565b500390565b600082198211156113fa576113fa611320565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561142957611429611320565b5060010190565b60006001600160801b0382811684821680830382111561145257611452611320565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81516112618161122f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114de5784516001600160a01b0316835293830193918301916001016114b9565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151257600080fd5b82516001600160401b038082111561152957600080fd5b818501915085601f83011261153d57600080fd5b81518181111561154f5761154f61145b565b8060051b604051601f19603f830116810181811085821117156115745761157461145b565b60405291825284820192508381018501918883111561159257600080fd5b938501935b82851015610fbc57845184529385019392850192611597565b6000826115bf576115bf6113a6565b500490565b600063ffffffff8083168185168083038211156114525761145261132056fea2646970667358221220044b6cab0cd579c2f09b9952ed73d74e995884b36d5ecead6e11dbac847992b464736f6c63430008080033";
340
+ "0x608060405234801561001057600080fd5b50611618806100206000396000f3fe6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b6040516101219190611225565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c36600461124e565b61051c565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f61022536600461124e565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611272565b610945565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db36600461124e565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b36600461124e565b610b50565b34801561031c57600080fd5b5061019761032b3660046112fa565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d36600461124e565b610cf6565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611340565b6001600160401b0316600281815561044a919061136f565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b3906044016020604051808303816000875af11580156104f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610519919061138e565b50565b60005a90508161052a610fd3565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061058c5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105d25760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610602908490600401611225565b602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610643919061138e565b8061066757506001600160a01b03811660009081526008602052604090205460ff16155b6106c25760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105c9565b600060076005546106d391906113c6565b6001600160a01b0383166000908152600960205260408120546005549293509091610707916001600160801b0316906113da565b905060078111610717578061071a565b60075b90508181116107295780610734565b6107348260016113f3565b90506000816107448460016113f3565b61074e91906113da565b90505b8281116107c6576001600160a01b0384166000908152600960205260408120600101826007811061078457610784611406565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107be9061141c565b915050610751565b506000805b83811161083c576001600160a01b038516600090815260096020526040902060010181600781106107fe576107fe611406565b600291828204019190066010029054906101000a90046001600160801b0316826108289190611435565b9150806108348161141c565b9150506107cb565b50600a5460015461085a91600160601b900463ffffffff169061136f565b816001600160801b0316106108ce5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105c9565b6108d786610ff4565b505050505a6108e690826113da565b6108f29061a4106113f3565b600a5490915033906108fc9061091890600160201b90046001600160401b03168461136f565b6040518115909202916000818181858888f19350505050158015610940573d6000803e3d6000fd5b505050565b600b546000906001600160a01b0316331461098b5760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105c9565b600a54600160801b900463ffffffff168411156109d55760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105c9565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a2257610a22611406565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa49190611472565b81600181518110610ab757610ab7611406565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610afb90899060009086908d90429060040161148f565b6000604051808303816000875af1158015610b1a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b429190810190611500565b506001979650505050505050565b600054610100900460ff1615808015610b705750600054600160ff909116105b80610b8a5750303b158015610b8a575060005460ff166001145b610bed5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105c9565b6000805460ff191660011790558015610c10576000805461ff0019166101001790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c4b906001600160401b03600160201b90910416620927c0611340565b6001600160401b03166002818155610c63919061136f565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cf2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000806201518060045442610d0b91906113da565b610d1591906115b1565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d7257506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e0e5750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610da9908790600401611225565b602060405180830381865afa158015610dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dea919061138e565b80610e0e57506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e42579050505050505090506000600784610e9a91906113c6565b6001600160a01b03871660009081526009602052604081205491925090610eca906001600160801b0316866113da565b905060078111610eda5780610edd565b60075b9050818111610eec5780610ef7565b610ef78260016113f3565b9050600081610f078460016113f3565b610f1191906113da565b90505b828111610f54576000848260078110610f2f57610f2f611406565b6001600160801b03909216602092909202015280610f4c8161141c565b915050610f14565b506000805b838111610f9557848160078110610f7257610f72611406565b6020020151610f819083611435565b915080610f8d8161141c565b915050610f59565b50848015610fc75750600a54600154610fbb91600160601b900463ffffffff169061136f565b816001600160801b0316105b98975050505050505050565b6201518060045442610fe591906113da565b610fef91906115b1565b600555565b806001600160a01b0316316002541161100c57600080fd5b6000816001600160a01b03163160025461102691906113da565b90506000600760055461103991906113c6565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b039081169116036110c6576001600160a01b03831660009081526009602052604090208054600191906010906110a3908490600160801b900463ffffffff166115c5565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110f3565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b039092169190911781558290600101826007811061114157611141611406565b600291828204019190066010028282829054906101000a90046001600160801b031661116d9190611435565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111dc573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161121891815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461051957600080fd5b60006020828403121561126057600080fd5b813561126b81611239565b9392505050565b6000806000806060858703121561128857600080fd5b843561129381611239565b93506020850135925060408501356001600160401b03808211156112b657600080fd5b818701915087601f8301126112ca57600080fd5b8135818111156112d957600080fd5b8860208285010111156112eb57600080fd5b95989497505060200194505050565b6000806040838503121561130d57600080fd5b82359150602083013561131f81611239565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03828116848216811515828404821116156113665761136661132a565b02949350505050565b60008160001904831182151516156113895761138961132a565b500290565b6000602082840312156113a057600080fd5b8151801515811461126b57600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113d5576113d56113b0565b500690565b818103818111156113ed576113ed61132a565b92915050565b808201808211156113ed576113ed61132a565b634e487b7160e01b600052603260045260246000fd5b60006001820161142e5761142e61132a565b5060010190565b6001600160801b038181168382160190808211156114555761145561132a565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148457600080fd5b815161126b81611239565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114df5784516001600160a01b0316835293830193918301916001016114ba565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151357600080fd5b82516001600160401b038082111561152a57600080fd5b818501915085601f83011261153e57600080fd5b8151818111156115505761155061145c565b8060051b604051601f19603f830116810181811085821117156115755761157561145c565b60405291825284820192508381018501918883111561159357600080fd5b938501935b82851015610fc757845184529385019392850192611598565b6000826115c0576115c06113b0565b500490565b63ffffffff8181168382160190808211156114555761145561132a56fea2646970667358221220f81a1569464cdb329c0ae0096dcf4120f789d6afd62fe516b0dc3e4530df56b864736f6c63430008100033";
328
341
 
329
342
  type FuseFaucetConstructorParams =
330
343
  | [signer?: Signer]
@@ -7,6 +7,19 @@ import { Provider, TransactionRequest } from "@ethersproject/providers";
7
7
  import type { FuseStakingV3, FuseStakingV3Interface } from "../FuseStakingV3";
8
8
 
9
9
  const _abi = [
10
+ {
11
+ anonymous: false,
12
+ inputs: [
13
+ {
14
+ indexed: false,
15
+ internalType: "uint8",
16
+ name: "version",
17
+ type: "uint8",
18
+ },
19
+ ],
20
+ name: "Initialized",
21
+ type: "event",
22
+ },
10
23
  {
11
24
  anonymous: false,
12
25
  inputs: [
@@ -133,6 +146,13 @@ const _abi = [
133
146
  stateMutability: "nonpayable",
134
147
  type: "function",
135
148
  },
149
+ {
150
+ inputs: [],
151
+ name: "approve",
152
+ outputs: [],
153
+ stateMutability: "nonpayable",
154
+ type: "function",
155
+ },
136
156
  {
137
157
  inputs: [
138
158
  {
@@ -325,7 +345,18 @@ const _abi = [
325
345
  type: "function",
326
346
  },
327
347
  {
328
- inputs: [],
348
+ inputs: [
349
+ {
350
+ internalType: "address",
351
+ name: "_uniswap",
352
+ type: "address",
353
+ },
354
+ {
355
+ internalType: "address",
356
+ name: "_gd",
357
+ type: "address",
358
+ },
359
+ ],
329
360
  name: "initialize",
330
361
  outputs: [],
331
362
  stateMutability: "nonpayable",
@@ -433,16 +464,11 @@ const _abi = [
433
464
  inputs: [
434
465
  {
435
466
  internalType: "address",
436
- name: "_gd",
437
- type: "address",
438
- },
439
- {
440
- internalType: "address",
441
- name: "_ubischeme",
467
+ name: "_guardian",
442
468
  type: "address",
443
469
  },
444
470
  ],
445
- name: "setContracts",
471
+ name: "setGuardian",
446
472
  outputs: [],
447
473
  stateMutability: "nonpayable",
448
474
  type: "function",
@@ -450,12 +476,12 @@ const _abi = [
450
476
  {
451
477
  inputs: [
452
478
  {
453
- internalType: "address",
454
- name: "_guardian",
455
- type: "address",
479
+ internalType: "bool",
480
+ name: "_paused",
481
+ type: "bool",
456
482
  },
457
483
  ],
458
- name: "setGuardian",
484
+ name: "setPaused",
459
485
  outputs: [],
460
486
  stateMutability: "nonpayable",
461
487
  type: "function",
@@ -463,12 +489,12 @@ const _abi = [
463
489
  {
464
490
  inputs: [
465
491
  {
466
- internalType: "bool",
467
- name: "_paused",
468
- type: "bool",
492
+ internalType: "address",
493
+ name: "_ubischeme",
494
+ type: "address",
469
495
  },
470
496
  ],
471
- name: "setPaused",
497
+ name: "setUBIScheme",
472
498
  outputs: [],
473
499
  stateMutability: "nonpayable",
474
500
  type: "function",
@@ -615,71 +641,6 @@ const _abi = [
615
641
  stateMutability: "view",
616
642
  type: "function",
617
643
  },
618
- {
619
- inputs: [],
620
- name: "upgrade0",
621
- outputs: [],
622
- stateMutability: "nonpayable",
623
- type: "function",
624
- },
625
- {
626
- inputs: [
627
- {
628
- internalType: "address",
629
- name: "_gd",
630
- type: "address",
631
- },
632
- {
633
- internalType: "address",
634
- name: "_ubischeme",
635
- type: "address",
636
- },
637
- {
638
- internalType: "address",
639
- name: "_uniswap",
640
- type: "address",
641
- },
642
- ],
643
- name: "upgrade1",
644
- outputs: [],
645
- stateMutability: "nonpayable",
646
- type: "function",
647
- },
648
- {
649
- inputs: [],
650
- name: "upgrade2",
651
- outputs: [],
652
- stateMutability: "nonpayable",
653
- type: "function",
654
- },
655
- {
656
- inputs: [],
657
- name: "upgrade3",
658
- outputs: [],
659
- stateMutability: "nonpayable",
660
- type: "function",
661
- },
662
- {
663
- inputs: [],
664
- name: "upgrade4",
665
- outputs: [],
666
- stateMutability: "nonpayable",
667
- type: "function",
668
- },
669
- {
670
- inputs: [],
671
- name: "upgrade5",
672
- outputs: [],
673
- stateMutability: "nonpayable",
674
- type: "function",
675
- },
676
- {
677
- inputs: [],
678
- name: "upgrade6",
679
- outputs: [],
680
- stateMutability: "nonpayable",
681
- type: "function",
682
- },
683
644
  {
684
645
  inputs: [
685
646
  {
@@ -732,7 +693,7 @@ const _abi = [
732
693
  ];
733
694
 
734
695
  const _bytecode =
735
- "0x608060405234801561001057600080fd5b506136e3806100206000396000f3fe60806040526004361061021c5760003560e01c806304d26ebf14610228578063094e23f914610251578063150d7e471461027e57806316c38b3c1461029457806317dfb94d146102b657806326476204146102eb5780632681f7e41461030e5780632e1a7d4d1461032e57806335aa2e441461034e5780633a4b66f11461036e5780633fb1ccf11461037657806340a141ff14610396578063452a9320146103b657806347a1671a146103d65780634cabdbfb146103f65780634d238c8e1461040b5780635c975abb1461042b5780636021a9d51461044c5780636711281c1461046257806370a0823114610477578063715018a6146104ad57806374a7262e146104c25780637c557046146104d85780637fd589c0146104f857806380d04de81461050d57806381028f67146105225780638129fc1c14610542578063853828b6146105575780638918c4a21461056c57806389a30271146105825780638a0dac4a146105a25780638bdb2afa146105c25780638da5cb5b146105e25780638ef3f761146105f75780639168ae7214610617578063a5a9063614610644578063aff44caf14610659578063bc8d95801461066e578063bf79c67f14610684578063c11a5630146106a4578063c25673d5146106ba578063c816841b146106cf578063d22e9b06146106ef578063d3a8c5f614610705578063d8952a4914610725578063f2fde38b14610745578063ff39f2591461076557600080fd5b3661022357005b600080fd5b34801561023457600080fd5b5061023e606f5481565b6040519081526020015b60405180910390f35b34801561025d57600080fd5b50607654610271906001600160a01b031681565b604051610248919061305c565b34801561028a57600080fd5b5061023e60705481565b3480156102a057600080fd5b506102b46102af36600461307e565b61077a565b005b3480156102c257600080fd5b506102d66102d136600461309b565b6107cb565b60408051928352602083019190915201610248565b6102fe6102f93660046130c9565b610976565b6040519015158152602001610248565b34801561031a57600080fd5b50606854610271906001600160a01b031681565b34801561033a57600080fd5b5061023e61034936600461309b565b610b42565b34801561035a57600080fd5b5061027161036936600461309b565b610df1565b6102fe610e1b565b34801561038257600080fd5b50606954610271906001600160a01b031681565b3480156103a257600080fd5b506102b46103b13660046130c9565b610e2c565b3480156103c257600080fd5b50607754610271906001600160a01b031681565b3480156103e257600080fd5b506102b46103f13660046130e6565b611029565b34801561040257600080fd5b506102b461123e565b34801561041757600080fd5b506102b46104263660046130c9565b611299565b34801561043757600080fd5b506076546102fe90600160a01b900460ff1681565b34801561045857600080fd5b5061023e606e5481565b34801561046e57600080fd5b506102b4611308565b34801561048357600080fd5b5061023e6104923660046130c9565b6001600160a01b031660009081526065602052604090205490565b3480156104b957600080fd5b506102b461132e565b3480156104ce57600080fd5b5061023e60745481565b3480156104e457600080fd5b506102d66104f336600461309b565b611367565b34801561050457600080fd5b506102b461169d565b34801561051957600080fd5b5061023e61186f565b34801561052e57600080fd5b50606a54610271906001600160a01b031681565b34801561054e57600080fd5b506102b461195a565b34801561056357600080fd5b506102b4611a33565b34801561057857600080fd5b5061023e606d5481565b34801561058e57600080fd5b50607554610271906001600160a01b031681565b3480156105ae57600080fd5b506102b46105bd3660046130c9565b611baf565b3480156105ce57600080fd5b50606b54610271906001600160a01b031681565b3480156105ee57600080fd5b50610271611bfb565b34801561060357600080fd5b50606754610271906001600160a01b031681565b34801561062357600080fd5b5061023e6106323660046130c9565b60656020526000908152604090205481565b34801561065057600080fd5b506102b4611c0a565b34801561066557600080fd5b506102b461205b565b34801561067a57600080fd5b5061023e60735481565b34801561069057600080fd5b506102d661069f366004613131565b612170565b3480156106b057600080fd5b5061023e60715481565b3480156106c657600080fd5b506102b46121b6565b3480156106db57600080fd5b50606c54610271906001600160a01b031681565b3480156106fb57600080fd5b5061023e60725481565b34801561071157600080fd5b506102b461072036600461315d565b612201565b34801561073157600080fd5b506102b4610740366004613189565b6122c6565b34801561075157600080fd5b506102b46107603660046130c9565b61234f565b34801561077157600080fd5b506102b46123ec565b6077546001600160a01b031633146107ad5760405162461bcd60e51b81526004016107a4906131c2565b60405180910390fd5b60768054911515600160a01b0260ff60a01b19909216919091179055565b606b54606854604080516315ab88c960e31b815290516000938493849384936001600160a01b039384169363e6a4390593169163ad5c4648916004808301926020929190829003018186803b15801561082357600080fd5b505afa158015610837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085b91906131e8565b6069546040516001600160e01b031960e085901b16815261088992916001600160a01b031690600401613205565b60206040518083038186803b1580156108a157600080fd5b505afa1580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d991906131e8565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561091157600080fd5b505afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109499190613236565b506001600160701b031691506001600160701b0316915061096b828287612170565b935093505050915091565b6077546000906001600160a01b031633146109a35760405162461bcd60e51b81526004016107a4906131c2565b600034116109e75760405162461bcd60e51b815260206004820152601160248201527007374616b65206d757374206265203e203607c1b60448201526064016107a4565b606654610a2f5760405162461bcd60e51b81526020600482015260166024820152756e6f20617070726f7665642076616c696461746f727360501b60448201526064016107a4565b6000805b6001600160a01b03841615801590610a4c575060665481105b15610aa357836001600160a01b031660668281548110610a6e57610a6e61327b565b6000918252602090912001546001600160a01b031614610a915760019150610aa3565b80610a9b816132a7565b915050610a33565b506001600160a01b0383161580610ab75750805b610b035760405162461bcd60e51b815260206004820152601e60248201527f76616c696461746f72206e6f7420696e20617070726f766564206c697374000060448201526064016107a4565b6000610b0f3485612431565b33600090815260656020526040812080549293503492909190610b339084906132c2565b9091555090925050505b919050565b60003031818315610b535783610b64565b336000908152606560205260409020545b9050808015801590610b855750336000908152606560205260409020548211155b610bcb5760405162461bcd60e51b81526020600482015260176024820152761a5b9d985b1a59081dda5d1a191c985dc8185b5bdd5b9d604a1b60448201526064016107a4565b606654600090610bdc9087906126a7565b905060005b606654811015610d5457606754606680546000926001600160a01b0316916321429e609130919086908110610c1857610c1861327b565b6000918252602090912001546040516001600160e01b031960e085901b168152610c4f92916001600160a01b031690600401613205565b60206040518083038186803b158015610c6757600080fd5b505afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f91906132da565b905080610cac5750610d42565b828111610cf657610ce460668381548110610cc957610cc961327b565b6000918252602090912001546001600160a01b0316826126ba565b50610cef8482612792565b9350610d35565b610d2760668381548110610d0c57610d0c61327b565b6000918252602090912001546001600160a01b0316846126ba565b50610d328484612792565b93505b83610d405750610d54565b505b80610d4c816132a7565b915050610be1565b50610d60303185612792565b935083831115610d6e578392505b33600090815260656020526040902054610d889084612792565b336000908152606560205260409020558215610de75760405133908490600081818185875af1925050503d8060008114610dde576040519150601f19603f3d011682016040523d82523d6000602084013e610de3565b606091505b5050505b5090949350505050565b60668181548110610e0157600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610e276000610976565b905090565b33610e35611bfb565b6001600160a01b031614610e5b5760405162461bcd60e51b81526004016107a4906132f3565b60675460405163010a14f360e51b81526000916001600160a01b0316906321429e6090610e8e9030908690600401613205565b60206040518083038186803b158015610ea657600080fd5b505afa158015610eba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ede91906132da565b90508015610f03573031610ef283836126ba565b508030311415610f0157505050565b505b60005b60665481101561102357826001600160a01b031660668281548110610f2d57610f2d61327b565b6000918252602090912001546001600160a01b0316141561101157606654610f5790600190613328565b811015610fd95760668054610f6e90600190613328565b81548110610f7e57610f7e61327b565b600091825260209091200154606680546001600160a01b039092169183908110610faa57610faa61327b565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b6066805480610fea57610fea61333f565b600082815260209020810160001990810180546001600160a01b0319169055019055611023565b8061101b816132a7565b915050610f06565b50505b50565b606c546001600160a01b0316611023576001600160a01b0381161561104e5780611064565b73fb76e9e7d88e308ab530330ed90e84a9525703195b606880546001600160a01b03199081166001600160a01b03938416908117909255606980548216878516179055606a8054909116928516929092179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156110d857600080fd5b505afa1580156110ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111091906131e8565b606b80546001600160a01b0319166001600160a01b03928316908117909155606854604080516315ab88c960e31b81529051929363e6a439059392169163ad5c464891600480820192602092909190829003018186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ab91906131e8565b856040518363ffffffff1660e01b81526004016111c9929190613205565b60206040518083038186803b1580156111e157600080fd5b505afa1580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121991906131e8565b606c80546001600160a01b0319166001600160a01b0392909216919091179055505050565b6075546001600160a01b031661129757607580546001600160a01b031990811673620fd5fa44be6af63715ef4e65ddfa0387ad13f5179091556076805490911673249be57637d8b013ad64785404b24aebae9b098b1790555b565b336112a2611bfb565b6001600160a01b0316146112c85760405162461bcd60e51b81526004016107a4906132f3565b6066805460018101825560009190915260008051602061368e8339815191520180546001600160a01b0319166001600160a01b0392909216919091179055565b60715461129757618235606e819055607255610bb8606f55601e607055620186a0607155565b33611337611bfb565b6001600160a01b03161461135d5760405162461bcd60e51b81526004016107a4906132f3565b611297600061279e565b606b54606854604080516315ab88c960e31b81529051600093849384936001600160a01b039283169363e6a43905939092169163ad5c464891600480820192602092909190829003018186803b1580156113c057600080fd5b505afa1580156113d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f891906131e8565b6076546040516001600160e01b031960e085901b16815261142692916001600160a01b031690600401613205565b60206040518083038186803b15801561143e57600080fd5b505afa158015611452573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147691906131e8565b606b5460695460755460405163e6a4390560e01b81529394506000936001600160a01b039384169363e6a43905936114b79390821692911690600401613205565b60206040518083038186803b1580156114cf57600080fd5b505afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150791906131e8565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561154557600080fd5b505afa158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157d9190613236565b506001600160701b031691506001600160701b03169150600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190613236565b506001600160701b03918216935016905060006116378261163185670de0b6b3a76400006127f0565b906126a7565b90506000611651826116318d670de0b6b3a76400006127f0565b905060008061166f6116688864e8d4a51000613355565b8985612170565b9b5091508a905061168c670de0b6b3a764000061163184876127f0565b9b5050505050505050505050915091565b606880546001600160a01b03191673e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156116fc57600080fd5b505afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173491906131e8565b606b80546001600160a01b0319166001600160a01b03928316908117909155606854604080516315ab88c960e31b81529051929363e6a439059392169163ad5c464891600480820192602092909190829003018186803b15801561179757600080fd5b505afa1580156117ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cf91906131e8565b6069546040516001600160e01b031960e085901b1681526117fd92916001600160a01b031690600401613205565b60206040518083038186803b15801561181557600080fd5b505afa158015611829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184d91906131e8565b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b600080805b60665481101561195457606754606680546000926001600160a01b0316916321429e6091309190869081106118ab576118ab61327b565b6000918252602090912001546040516001600160e01b031960e085901b1681526118e292916001600160a01b031690600401613205565b60206040518083038186803b1580156118fa57600080fd5b505afa15801561190e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193291906132da565b905061193e81846132c2565b925050808061194c906132a7565b915050611874565b50919050565b600054610100900460ff1680611973575060005460ff16155b61198f5760405162461bcd60e51b81526004016107a490613374565b600054610100900460ff161580156119b1576000805461ffff19166101011790555b6119b96127fc565b606780546001600160a01b0319908116733014ca10b91cb3d0ad85fef7a3cb95bcac9c0f79179091556066805460018101825560009190915260008051602061368e83398151915201805490911673cb876a393f05a6677a8a029f1c6d7603b416c0a61790558015611026576000805461ff001916905550565b6077546001600160a01b03163314611a5d5760405162461bcd60e51b81526004016107a4906131c2565b60005b606654811015611b5657606754606680546000926001600160a01b0316916321429e609130919086908110611a9757611a9761327b565b6000918252602090912001546040516001600160e01b031960e085901b168152611ace92916001600160a01b031690600401613205565b60206040518083038186803b158015611ae657600080fd5b505afa158015611afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1e91906132da565b905080611b2b5750611b44565b611b4160668381548110610cc957610cc961327b565b50505b80611b4e816132a7565b915050611a60565b506000607455303180156110265760405133908290600081818185875af1925050503d8060008114611ba4576040519150601f19603f3d011682016040523d82523d6000602084013e611ba9565b606091505b50505050565b6077546001600160a01b03163314611bd95760405162461bcd60e51b81526004016107a4906131c2565b607780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031690565b607654600160a01b900460ff1615611c605760405162461bcd60e51b81526020600482015260196024820152781d589a4818dbdb1b1958dd1a5bdb881a5cc81c185d585cd959603a1b60448201526064016107a4565b606a5460408051635c9302c960e01b815290516000926001600160a01b031691635c9302c9916004808301926020929190829003018186803b158015611ca557600080fd5b505afa158015611cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdd91906132da565b9050606d54811415611d3d5760405162461bcd60e51b8152602060048201526024808201527f63616e20636f6c6c656374206f6e6c79206f6e636520696e206120756269206360448201526379636c6560e01b60648201526084016107a4565b6000607454611d4a303190565b611d549190613328565b9050600081607454611d6691906132c2565b11611dac5760405162461bcd60e51b81526020600482015260166024820152751b9bc819585c9b9a5b99dcc81d1bc818dbdb1b1958dd60521b60448201526064016107a4565b606d829055607154606e54600091611dd39161163190611dcc9083613328565b85906127f0565b90506000611de18284613328565b90506000611dfb60745484611df691906132c2565b612870565b905080600081518110611e1057611e1061327b565b602002602001015160745484611e2691906132c2565b611e309190613328565b607455611e3e826000612431565b5060008160018351611e509190613328565b81518110611e6057611e6061327b565b602002602001015190506000611e87607154611631607054856127f090919063ffffffff16565b90508015611f155760695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611ec190339085906004016133c2565b602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1391906133db565b505b611f1f8183613328565b91506000611f3e607154611631607254866127f090919063ffffffff16565b90506000611f4c8483612792565b606954606a5460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb92611f8492169085906004016133c2565b602060405180830381600087803b158015611f9e57600080fd5b505af1158015611fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd691906133db565b508160736000828254611fe991906132c2565b90915550506074546040805183815260208101859052908101869052606081018a905260808101919091523360a082015260c0810184905289907f49a079c90e07ed02ae8283e86eaeb643c637381d30aa7ba06d155e5b744a85439060e00160405180910390a2505050505050505050565b60765460785460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261209392911690600019906004016133c2565b602060405180830381600087803b1580156120ad57600080fd5b505af11580156120c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e591906133db565b5060755460685460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261211e92911690600019906004016133c2565b602060405180830381600087803b15801561213857600080fd5b505af115801561214c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102691906133db565b600080607154606f54866121849190613355565b61218e91906133f8565b915082821061219d578261219f565b815b91506121ac828686612bbc565b9050935093915050565b6077546001600160a01b0316611297576076805460ff60a01b1916600160a01b179055607780546001600160a01b031916735128e3c1f8846724cc1007af9b4189713922e4bb179055565b6077546001600160a01b0316331461222b5760405162461bcd60e51b81526004016107a4906131c2565b806073600082825461223d9190613328565b909155505060695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061227490859085906004016133c2565b602060405180830381600087803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102391906133db565b336122cf611bfb565b6001600160a01b0316146122f55760405162461bcd60e51b81526004016107a4906132f3565b6001600160a01b0382161561232057606980546001600160a01b0319166001600160a01b0384161790555b6001600160a01b0381161561234b57606a80546001600160a01b0319166001600160a01b0383161790555b5050565b33612358611bfb565b6001600160a01b03161461237e5760405162461bcd60e51b81526004016107a4906132f3565b6001600160a01b0381166123e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a4565b6110268161279e565b6078546001600160a01b031661129757607880546001600160a01b03191673dfe016328e7bcd6fa06614fe3af3877e931f7e0a1790556076805460ff60a01b19169055565b606654600090612443575060006126a1565b6001600160a01b038216156124bf576067546040516317066a5760e21b81526001600160a01b0390911690635c19a95c90859061248490869060040161305c565b6000604051808303818588803b15801561249d57600080fd5b505af11580156124b1573d6000803e3d6000fd5b5050505050600190506126a1565b606654600090846124ce61186f565b6124d891906132c2565b6124e291906133f8565b90508360005b606654811080156124f95750600082115b1561269957606754606680546000926001600160a01b0316916321429e60913091908690811061252b5761252b61327b565b6000918252602090912001546040516001600160e01b031960e085901b16815261256292916001600160a01b031690600401613205565b60206040518083038186803b15801561257a57600080fd5b505afa15801561258e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b291906132da565b9050838110156126865760006125c88583612792565b90508381106125d757836125d9565b805b606754606680549293506001600160a01b0390911691635c19a95c918491879081106126075761260761327b565b6000918252602090912001546040516001600160e01b031960e085901b16815261263d916001600160a01b03169060040161305c565b6000604051808303818588803b15801561265657600080fd5b505af115801561266a573d6000803e3d6000fd5b5050505050612682818561279290919063ffffffff16565b9350505b5080612691816132a7565b9150506124e8565b506001925050505b92915050565b60006126b382846133f8565b9392505050565b60675460405163f3fef3a360e01b81526000916001600160a01b03169063f3fef3a3906126ed90869086906004016133c2565b600060405180830381600087803b15801561270757600080fd5b505af1925050508015612718575060015b61278a5761272461341a565b806308c379a0141561274e5750612739613478565b806127445750612750565b60009150506126a1565b505b3d80801561277a576040519150601f19603f3d011682016040523d82523d6000602084013e61277f565b606091505b5060009150506126a1565b5060016126a1565b60006126b38284613328565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006126b38284613355565b600054610100900460ff1680612815575060005460ff16155b6128315760405162461bcd60e51b81526004016107a490613374565b600054610100900460ff16158015612853576000805461ffff19166101011790555b61285c3361279e565b8015611026576000805461ff001916905550565b6060600082116128925760405162461bcd60e51b81526004016107a490613501565b60008061289e846107cb565b915091506000806128ae86611367565b915091506060828510612a56576040805160028082526060820183529091602083019080368337505060695482519293506001600160a01b03169183915060019081106128fd576128fd61327b565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561295157600080fd5b505afa158015612965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298991906131e8565b8160008151811061299c5761299c61327b565b6001600160a01b03928316602091820292909201015260685416637ff36ab58660646129c988605f613355565b6129d391906133f8565b8430426040518663ffffffff1660e01b81526004016129f59493929190613576565b6000604051808303818588803b158015612a0e57600080fd5b505af1158015612a22573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612a4b91908101906135ab565b979650505050505050565b600080612a6285612c00565b60408051600280825260608201909252929450909250816020016020820280368337505060695482519295506001600160a01b0316918591506001908110612aac57612aac61327b565b6001600160a01b03928316602091820292909201015260755484519116908490600090612adb57612adb61327b565b6001600160a01b039283166020918202929092010152606854600091166338ed1739846064612b0b89605f613355565b612b1591906133f8565b8730426040518663ffffffff1660e01b8152600401612b38959493929190613651565b600060405180830381600087803b158015612b5257600080fd5b505af1158015612b66573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612b8e91908101906135ab565b90508181600081518110612ba457612ba461327b565b60209081029190910101529998505050505050505050565b600080612bcb856103e5613355565b90506000612bd98483613355565b9050600082612bea876103e8613355565b612bf491906132c2565b9050612a4b81836133f8565b60008060008311612c235760405162461bcd60e51b81526004016107a490613501565b606b54606854604080516315ab88c960e31b815290516000936001600160a01b039081169363e6a439059391169163ad5c464891600480820192602092909190829003018186803b158015612c7757600080fd5b505afa158015612c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612caf91906131e8565b6076546040516001600160e01b031960e085901b168152612cdd92916001600160a01b031690600401613205565b60206040518083038186803b158015612cf557600080fd5b505afa158015612d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d2d91906131e8565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612d6b57600080fd5b505afa158015612d7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da39190613236565b506001600160701b031691506001600160701b03169150600080612dc884848a612170565b60408051600280825260608201835293955091935060009290602083019080368337505060765482519293506001600160a01b0316918391506001908110612e1257612e1261327b565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612e6657600080fd5b505afa158015612e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9e91906131e8565b81600081518110612eb157612eb161327b565b6001600160a01b03928316602091820292909201015260685460009116637ff36ab5856064612ee187605f613355565b612eeb91906133f8565b8530426040518663ffffffff1660e01b8152600401612f0d9493929190613576565b6000604051808303818588803b158015612f2657600080fd5b505af1158015612f3a573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612f6391908101906135ab565b60785481519192506001600160a01b031690632b7f09239083906001908110612f8e57612f8e61327b565b602090810291909101015160765460755460405160e085901b6001600160e01b031916815260048101939093526001600160a01b039182166024840152166044820152606401600060405180830381600087803b158015612fee57600080fd5b505af1158015613002573d6000803e3d6000fd5b50505050806000815181106130195761301961327b565b6020026020010151975064e8d4a510008160018151811061303c5761303c61327b565b602002602001015161304e91906133f8565b985050505050505050915091565b6001600160a01b0391909116815260200190565b801515811461102657600080fd5b60006020828403121561309057600080fd5b81356126b381613070565b6000602082840312156130ad57600080fd5b5035919050565b6001600160a01b038116811461102657600080fd5b6000602082840312156130db57600080fd5b81356126b3816130b4565b6000806000606084860312156130fb57600080fd5b8335613106816130b4565b92506020840135613116816130b4565b91506040840135613126816130b4565b809150509250925092565b60008060006060848603121561314657600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561317057600080fd5b823561317b816130b4565b946020939093013593505050565b6000806040838503121561319c57600080fd5b82356131a7816130b4565b915060208301356131b7816130b4565b809150509250929050565b6020808252600c908201526b3737ba1033bab0b93234b0b760a11b604082015260600190565b6000602082840312156131fa57600080fd5b81516126b3816130b4565b6001600160a01b0392831681529116602082015260400190565b80516001600160701b0381168114610b3d57600080fd5b60008060006060848603121561324b57600080fd5b6132548461321f565b92506132626020850161321f565b9150604084015163ffffffff8116811461312657600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156132bb576132bb613291565b5060010190565b600082198211156132d5576132d5613291565b500190565b6000602082840312156132ec57600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008282101561333a5761333a613291565b500390565b634e487b7160e01b600052603160045260246000fd5b600081600019048311821515161561336f5761336f613291565b500290565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03929092168252602082015260400190565b6000602082840312156133ed57600080fd5b81516126b381613070565b60008261341557634e487b7160e01b600052601260045260246000fd5b500490565b600060033d11156134335760046000803e5060005160e01c5b90565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561347157613471613436565b6040525050565b600060443d10156134865790565b6040516003193d81016004833e81513d6001600160401b0380831160248401831017156134b557505050505090565b82850191508151818111156134cd5750505050505090565b843d87010160208285010111156134e75750505050505090565b6134f66020828601018761344c565b509095945050505050565b60208082526017908201527606275792076616c75652073686f756c64206265203e203604c1b604082015260600190565b600081518084526020808501945080840160005b8381101561356b5781516001600160a01b031687529582019590820190600101613546565b509495945050505050565b84815260806020820152600061358f6080830186613532565b6001600160a01b03949094166040830152506060015292915050565b600060208083850312156135be57600080fd5b82516001600160401b03808211156135d557600080fd5b818501915085601f8301126135e957600080fd5b8151818111156135fb576135fb613436565b8060051b91506040516136108584018261344c565b8181529183018401918481018884111561362957600080fd5b938501935b83851015613645578451815293850193850161362e565b50979650505050505050565b85815284602082015260a06040820152600061367060a0830186613532565b6001600160a01b039490941660608301525060800152939250505056fe46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354a2646970667358221220e5f7e9ae56974925be94f331848a51c6992cadf03f535b226a7c64d8ec0aa4d764736f6c63430008080033";
696
+ "0x608060405234801561001057600080fd5b50613153806100206000396000f3fe6080604052600436106101da5760003560e01c806304d26ebf146101e6578063094e23f91461020f57806312424e3f1461023c578063150d7e471461025357806316c38b3c1461026957806317dfb94d1461028957806326476204146102be5780632681f7e4146102e15780632c336822146103015780632e1a7d4d1461032157806335aa2e44146103415780633a4b66f1146103615780633fb1ccf11461036957806340a141ff14610389578063452a9320146103a9578063485cc955146103c95780634d238c8e146103e95780635c975abb146104095780636021a9d51461042a57806370a0823114610440578063715018a61461047657806374a7262e1461048b5780637c557046146104a157806380d04de8146104c157806381028f67146104d6578063853828b6146104f65780638918c4a21461050b57806389a30271146105215780638a0dac4a146105415780638bdb2afa146105615780638da5cb5b146105815780638ef3f761146105965780639168ae72146105b6578063a5a90636146105e3578063bc8d9580146105f8578063bf79c67f1461060e578063c11a56301461062e578063c816841b14610644578063d22e9b0614610664578063d3a8c5f61461067a578063f2fde38b1461069a57600080fd5b366101e157005b600080fd5b3480156101f257600080fd5b506101fc606f5481565b6040519081526020015b60405180910390f35b34801561021b57600080fd5b5060765461022f906001600160a01b031681565b6040516102069190612b9a565b34801561024857600080fd5b506102516106ba565b005b34801561025f57600080fd5b506101fc60705481565b34801561027557600080fd5b50610251610284366004612bbc565b6107b4565b34801561029557600080fd5b506102a96102a4366004612bd9565b610805565b60408051928352602083019190915201610206565b6102d16102cc366004612c07565b610983565b6040519015158152602001610206565b3480156102ed57600080fd5b5060685461022f906001600160a01b031681565b34801561030d57600080fd5b5061025161031c366004612c07565b610b4f565b34801561032d57600080fd5b506101fc61033c366004612bd9565b610b79565b34801561034d57600080fd5b5061022f61035c366004612bd9565b610e1f565b6102d1610e49565b34801561037557600080fd5b5060695461022f906001600160a01b031681565b34801561039557600080fd5b506102516103a4366004612c07565b610e5a565b3480156103b557600080fd5b5060775461022f906001600160a01b031681565b3480156103d557600080fd5b506102516103e4366004612c24565b61101e565b3480156103f557600080fd5b50610251610404366004612c07565b6113d4565b34801561041557600080fd5b506076546102d190600160a01b900460ff1681565b34801561043657600080fd5b506101fc606e5481565b34801561044c57600080fd5b506101fc61045b366004612c07565b6001600160a01b031660009081526065602052604090205490565b34801561048257600080fd5b5061025161141c565b34801561049757600080fd5b506101fc60745481565b3480156104ad57600080fd5b506102a96104bc366004612bd9565b611430565b3480156104cd57600080fd5b506101fc61171b565b3480156104e257600080fd5b50606a5461022f906001600160a01b031681565b34801561050257600080fd5b506102516117f7565b34801561051757600080fd5b506101fc606d5481565b34801561052d57600080fd5b5060755461022f906001600160a01b031681565b34801561054d57600080fd5b5061025161055c366004612c07565b6119aa565b34801561056d57600080fd5b50606b5461022f906001600160a01b031681565b34801561058d57600080fd5b5061022f6119f6565b3480156105a257600080fd5b5060675461022f906001600160a01b031681565b3480156105c257600080fd5b506101fc6105d1366004612c07565b60656020526000908152604090205481565b3480156105ef57600080fd5b50610251611a05565b34801561060457600080fd5b506101fc60735481565b34801561061a57600080fd5b506102a9610629366004612c5d565b611e28565b34801561063a57600080fd5b506101fc60715481565b34801561065057600080fd5b50606c5461022f906001600160a01b031681565b34801561067057600080fd5b506101fc60725481565b34801561068657600080fd5b50610251610695366004612c89565b611e6e565b3480156106a657600080fd5b506102516106b5366004612c07565b611f24565b60765460785460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926106f29291169060001990600401612cb5565b6020604051808303816000875af1158015610711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107359190612cce565b5060755460685460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261076e9291169060001990600401612cb5565b6020604051808303816000875af115801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b19190612cce565b50565b6077546001600160a01b031633146107e75760405162461bcd60e51b81526004016107de90612ceb565b60405180910390fd5b60768054911515600160a01b0260ff60a01b19909216919091179055565b606b54606854604080516315ab88c960e31b815290516000938493849384936001600160a01b039384169363e6a4390593169163ad5c46489160048083019260209291908290030181865afa158015610862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108869190612d11565b6069546040516001600160e01b031960e085901b1681526108b492916001600160a01b031690600401612d2e565b602060405180830381865afa1580156108d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f59190612d11565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109569190612d5f565b506001600160701b031691506001600160701b03169150610978828287611e28565b935093505050915091565b6077546000906001600160a01b031633146109b05760405162461bcd60e51b81526004016107de90612ceb565b600034116109f45760405162461bcd60e51b815260206004820152601160248201527007374616b65206d757374206265203e203607c1b60448201526064016107de565b606654610a3c5760405162461bcd60e51b81526020600482015260166024820152756e6f20617070726f7665642076616c696461746f727360501b60448201526064016107de565b6000805b6001600160a01b03841615801590610a59575060665481105b15610ab057836001600160a01b031660668281548110610a7b57610a7b612daf565b6000918252602090912001546001600160a01b031614610a9e5760019150610ab0565b80610aa881612ddb565b915050610a40565b506001600160a01b0383161580610ac45750805b610b105760405162461bcd60e51b815260206004820152601e60248201527f76616c696461746f72206e6f7420696e20617070726f766564206c697374000060448201526064016107de565b6000610b1c3485611f9a565b33600090815260656020526040812080549293503492909190610b40908490612df4565b9091555090925050505b919050565b610b57612203565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b60003031818315610b8a5783610b9b565b336000908152606560205260409020545b9050808015801590610bbc5750336000908152606560205260409020548211155b610c025760405162461bcd60e51b81526020600482015260176024820152761a5b9d985b1a59081dda5d1a191c985dc8185b5bdd5b9d604a1b60448201526064016107de565b606654600090610c13908790612262565b905060005b606654811015610d8257606754606680546000926001600160a01b0316916321429e609130919086908110610c4f57610c4f612daf565b6000918252602090912001546040516001600160e01b031960e085901b168152610c8692916001600160a01b031690600401612d2e565b602060405180830381865afa158015610ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc79190612e07565b905080600003610cd75750610d70565b828111610d2157610d0f60668381548110610cf457610cf4612daf565b6000918252602090912001546001600160a01b031682612275565b50610d1a848261234c565b9350610d60565b610d5260668381548110610d3757610d37612daf565b6000918252602090912001546001600160a01b031684612275565b50610d5d848461234c565b93505b83600003610d6e5750610d82565b505b80610d7a81612ddb565b915050610c18565b50610d8e30318561234c565b935083831115610d9c578392505b33600090815260656020526040902054610db6908461234c565b336000908152606560205260409020558215610e155760405133908490600081818185875af1925050503d8060008114610e0c576040519150601f19603f3d011682016040523d82523d6000602084013e610e11565b606091505b5050505b5090949350505050565b60668181548110610e2f57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610e556000610983565b905090565b610e62612203565b60675460405163010a14f360e51b81526000916001600160a01b0316906321429e6090610e959030908690600401612d2e565b602060405180830381865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed69190612e07565b90508015610efa573031610eea8383612275565b5080303103610ef857505050565b505b60005b60665481101561101957826001600160a01b031660668281548110610f2457610f24612daf565b6000918252602090912001546001600160a01b03160361100757606654610f4d90600190612e20565b811015610fcf5760668054610f6490600190612e20565b81548110610f7457610f74612daf565b600091825260209091200154606680546001600160a01b039092169183908110610fa057610fa0612daf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b6066805480610fe057610fe0612e33565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b8061101181612ddb565b915050610efd565b505050565b600054610100900460ff161580801561103e5750600054600160ff909116105b806110585750303b158015611058575060005460ff166001145b6110bb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107de565b6000805460ff1916600117905580156110de576000805461ff0019166101001790555b6110e6612358565b606780546001600160a01b0319908116733014ca10b91cb3d0ad85fef7a3cb95bcac9c0f7917909155606680546001810182556000919091526000805160206130fe83398151915201805490911673cb876a393f05a6677a8a029f1c6d7603b416c0a6179055618235606e819055607255610bb8606f55601e607055620186a06071556001600160a01b0383161561117e5782611194565b73e3f85aad0c8dd7337427b9df5d0fb741d65eeeb55b606880546001600160a01b039283166001600160a01b031991821681179092556069805493861693909116929092179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015611201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112259190612d11565b606b80546001600160a01b0319166001600160a01b03928316908117909155606854604080516315ab88c960e31b81529051929363e6a439059392169163ad5c4648916004808201926020929091908290030181865afa15801561128d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b19190612d11565b846040518363ffffffff1660e01b81526004016112cf929190612d2e565b602060405180830381865afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190612d11565b606c80546001600160a01b03929092166001600160a01b031992831617905560788054821673dfe016328e7bcd6fa06614fe3af3877e931f7e0a17905560758054821673620fd5fa44be6af63715ef4e65ddfa0387ad13f51790556076805490911673249be57637d8b013ad64785404b24aebae9b098b1790558015611019576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6113dc612203565b606680546001810182556000919091526000805160206130fe8339815191520180546001600160a01b0319166001600160a01b0392909216919091179055565b611424612203565b61142e60006123c8565b565b606b54606854604080516315ab88c960e31b81529051600093849384936001600160a01b039283169363e6a43905939092169163ad5c4648916004808201926020929091908290030181865afa15801561148e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b29190612d11565b6076546040516001600160e01b031960e085901b1681526114e092916001600160a01b031690600401612d2e565b602060405180830381865afa1580156114fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190612d11565b606b5460695460755460405163e6a4390560e01b81529394506000936001600160a01b039384169363e6a43905936115629390821692911690600401612d2e565b602060405180830381865afa15801561157f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a39190612d11565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156115e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160a9190612d5f565b506001600160701b031691506001600160701b03169150600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611662573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116869190612d5f565b506001600160701b03918216935016905060006116b5826116af85670de0b6b3a764000061241a565b90612262565b905060006116cf826116af8d670de0b6b3a764000061241a565b90506000806116ed6116e68864e8d4a51000612e49565b8985611e28565b9b5091508a905061170a670de0b6b3a76400006116af848761241a565b9b5050505050505050505050915091565b600080805b6066548110156117f157606754606680546000926001600160a01b0316916321429e60913091908690811061175757611757612daf565b6000918252602090912001546040516001600160e01b031960e085901b16815261178e92916001600160a01b031690600401612d2e565b602060405180830381865afa1580156117ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cf9190612e07565b90506117db8184612df4565b92505080806117e990612ddb565b915050611720565b50919050565b6077546001600160a01b031633146118215760405162461bcd60e51b81526004016107de90612ceb565b60005b60665481101561190e57606754606680546000926001600160a01b0316916321429e60913091908690811061185b5761185b612daf565b6000918252602090912001546040516001600160e01b031960e085901b16815261189292916001600160a01b031690600401612d2e565b602060405180830381865afa1580156118af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d39190612e07565b9050806000036118e357506118fc565b6118f960668381548110610cf457610cf4612daf565b50505b8061190681612ddb565b915050611824565b506000607455303180156107b157604051600090339083908381818185875af1925050503d806000811461195e576040519150601f19603f3d011682016040523d82523d6000602084013e611963565b606091505b50509050806119a65760405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b60448201526064016107de565b5050565b6077546001600160a01b031633146119d45760405162461bcd60e51b81526004016107de90612ceb565b607780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031690565b607654600160a01b900460ff1615611a5b5760405162461bcd60e51b81526020600482015260196024820152781d589a4818dbdb1b1958dd1a5bdb881a5cc81c185d585cd959603a1b60448201526064016107de565b606a5460408051635c9302c960e01b815290516000926001600160a01b031691635c9302c99160048083019260209291908290030181865afa158015611aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac99190612e07565b9050606d548103611b285760405162461bcd60e51b8152602060048201526024808201527f63616e20636f6c6c656374206f6e6c79206f6e636520696e206120756269206360448201526379636c6560e01b60648201526084016107de565b6000607454611b35303190565b611b3f9190612e20565b9050600081607454611b519190612df4565b11611b975760405162461bcd60e51b81526020600482015260166024820152751b9bc819585c9b9a5b99dcc81d1bc818dbdb1b1958dd60521b60448201526064016107de565b606d829055607154606e54600091611bbe916116af90611bb79083612e20565b859061241a565b90506000611bcc8284612e20565b90506000611be660745484611be19190612df4565b612426565b905080600081518110611bfb57611bfb612daf565b602002602001015160745484611c119190612df4565b611c1b9190612e20565b607455611c29826000611f9a565b5060008160018351611c3b9190612e20565b81518110611c4b57611c4b612daf565b602002602001015190506000611c726071546116af6070548561241a90919063ffffffff16565b90508015611cf15760695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611cac9033908590600401612cb5565b6020604051808303816000875af1158015611ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cef9190612cce565b505b611cfb8183612e20565b91506000611d1a6071546116af6072548661241a90919063ffffffff16565b90506000611d28848361234c565b606954606a5460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb92611d609216908590600401612cb5565b6020604051808303816000875af1158015611d7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da39190612cce565b508160736000828254611db69190612df4565b90915550506074546040805183815260208101859052908101869052606081018a905260808101919091523360a082015260c0810184905289907f49a079c90e07ed02ae8283e86eaeb643c637381d30aa7ba06d155e5b744a85439060e00160405180910390a2505050505050505050565b600080607154606f5486611e3c9190612e49565b611e469190612e68565b9150828210611e555782611e57565b815b9150611e64828686612745565b9050935093915050565b6077546001600160a01b03163314611e985760405162461bcd60e51b81526004016107de90612ceb565b8060736000828254611eaa9190612e20565b909155505060695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611ee19085908590600401612cb5565b6020604051808303816000875af1158015611f00573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110199190612cce565b611f2c612203565b6001600160a01b038116611f915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107de565b6107b1816123c8565b6066546000908103611fae575060006121fd565b6001600160a01b0382161561202a576067546040516317066a5760e21b81526001600160a01b0390911690635c19a95c908590611fef908690600401612b9a565b6000604051808303818588803b15801561200857600080fd5b505af115801561201c573d6000803e3d6000fd5b5050505050600190506121fd565b6066546000908461203961171b565b6120439190612df4565b61204d9190612e68565b90508360005b606654811080156120645750600082115b156121f557606754606680546000926001600160a01b0316916321429e60913091908690811061209657612096612daf565b6000918252602090912001546040516001600160e01b031960e085901b1681526120cd92916001600160a01b031690600401612d2e565b602060405180830381865afa1580156120ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210e9190612e07565b9050838110156121e2576000612124858361234c565b90508381106121335783612135565b805b606754606680549293506001600160a01b0390911691635c19a95c9184918790811061216357612163612daf565b6000918252602090912001546040516001600160e01b031960e085901b168152612199916001600160a01b031690600401612b9a565b6000604051808303818588803b1580156121b257600080fd5b505af11580156121c6573d6000803e3d6000fd5b50505050506121de818561234c90919063ffffffff16565b9350505b50806121ed81612ddb565b915050612053565b506001925050505b92915050565b3361220c6119f6565b6001600160a01b03161461142e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107de565b600061226e8284612e68565b9392505050565b60675460405163f3fef3a360e01b81526000916001600160a01b03169063f3fef3a3906122a89086908690600401612cb5565b600060405180830381600087803b1580156122c257600080fd5b505af19250505080156122d3575060015b612344576122df612e8a565b806308c379a00361230857506122f3612ee8565b806122fe575061230a565b60009150506121fd565b505b3d808015612334576040519150601f19603f3d011682016040523d82523d6000602084013e612339565b606091505b5060009150506121fd565b5060016121fd565b600061226e8284612e20565b600054610100900460ff166123c35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107de565b61142e335b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061226e8284612e49565b6060600082116124485760405162461bcd60e51b81526004016107de90612f71565b60008061245484610805565b9150915060008061246486611430565b9150915060608285106125ee576040805160028082526060820183529091602083019080368337505060695482519293506001600160a01b03169183915060019081106124b3576124b3612daf565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561250c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125309190612d11565b8160008151811061254357612543612daf565b6001600160a01b03928316602091820292909201015260685416637ff36ab586606461257088605f612e49565b61257a9190612e68565b8430426040518663ffffffff1660e01b815260040161259c9493929190612fe6565b60006040518083038185885af11580156125ba573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526125e3919081019061301b565b979650505050505050565b6000806125fa85612789565b60408051600280825260608201909252929450909250816020016020820280368337505060695482519295506001600160a01b031691859150600190811061264457612644612daf565b6001600160a01b0392831660209182029290920101526075548451911690849060009061267357612673612daf565b6001600160a01b039283166020918202929092010152606854600091166338ed17398460646126a389605f612e49565b6126ad9190612e68565b8730426040518663ffffffff1660e01b81526004016126d09594939291906130c1565b6000604051808303816000875af11580156126ef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612717919081019061301b565b9050818160008151811061272d5761272d612daf565b60209081029190910101529998505050505050505050565b600080612754856103e5612e49565b905060006127628483612e49565b9050600082612773876103e8612e49565b61277d9190612df4565b90506125e38183612e68565b600080600083116127ac5760405162461bcd60e51b81526004016107de90612f71565b606b54606854604080516315ab88c960e31b815290516000936001600160a01b039081169363e6a439059391169163ad5c4648916004808201926020929091908290030181865afa158015612805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128299190612d11565b6076546040516001600160e01b031960e085901b16815261285792916001600160a01b031690600401612d2e565b602060405180830381865afa158015612874573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128989190612d11565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156128db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ff9190612d5f565b506001600160701b031691506001600160701b0316915060008061292484848a611e28565b60408051600280825260608201835293955091935060009290602083019080368337505060765482519293506001600160a01b031691839150600190811061296e5761296e612daf565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156129c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129eb9190612d11565b816000815181106129fe576129fe612daf565b6001600160a01b03928316602091820292909201015260685460009116637ff36ab5856064612a2e87605f612e49565b612a389190612e68565b8530426040518663ffffffff1660e01b8152600401612a5a9493929190612fe6565b60006040518083038185885af1158015612a78573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612aa1919081019061301b565b60785481519192506001600160a01b031690632b7f09239083906001908110612acc57612acc612daf565b602090810291909101015160765460755460405160e085901b6001600160e01b031916815260048101939093526001600160a01b039182166024840152166044820152606401600060405180830381600087803b158015612b2c57600080fd5b505af1158015612b40573d6000803e3d6000fd5b5050505080600081518110612b5757612b57612daf565b6020026020010151975064e8d4a5100081600181518110612b7a57612b7a612daf565b6020026020010151612b8c9190612e68565b985050505050505050915091565b6001600160a01b0391909116815260200190565b80151581146107b157600080fd5b600060208284031215612bce57600080fd5b813561226e81612bae565b600060208284031215612beb57600080fd5b5035919050565b6001600160a01b03811681146107b157600080fd5b600060208284031215612c1957600080fd5b813561226e81612bf2565b60008060408385031215612c3757600080fd5b8235612c4281612bf2565b91506020830135612c5281612bf2565b809150509250929050565b600080600060608486031215612c7257600080fd5b505081359360208301359350604090920135919050565b60008060408385031215612c9c57600080fd5b8235612ca781612bf2565b946020939093013593505050565b6001600160a01b03929092168252602082015260400190565b600060208284031215612ce057600080fd5b815161226e81612bae565b6020808252600c908201526b3737ba1033bab0b93234b0b760a11b604082015260600190565b600060208284031215612d2357600080fd5b815161226e81612bf2565b6001600160a01b0392831681529116602082015260400190565b80516001600160701b0381168114610b4a57600080fd5b600080600060608486031215612d7457600080fd5b612d7d84612d48565b9250612d8b60208501612d48565b9150604084015163ffffffff81168114612da457600080fd5b809150509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612ded57612ded612dc5565b5060010190565b808201808211156121fd576121fd612dc5565b600060208284031215612e1957600080fd5b5051919050565b818103818111156121fd576121fd612dc5565b634e487b7160e01b600052603160045260246000fd5b6000816000190483118215151615612e6357612e63612dc5565b500290565b600082612e8557634e487b7160e01b600052601260045260246000fd5b500490565b600060033d1115612ea35760046000803e5060005160e01c5b90565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715612ee157612ee1612ea6565b6040525050565b600060443d1015612ef65790565b6040516003193d81016004833e81513d6001600160401b038083116024840183101715612f2557505050505090565b8285019150815181811115612f3d5750505050505090565b843d8701016020828501011115612f575750505050505090565b612f6660208286010187612ebc565b509095945050505050565b60208082526017908201527606275792076616c75652073686f756c64206265203e203604c1b604082015260600190565b600081518084526020808501945080840160005b83811015612fdb5781516001600160a01b031687529582019590820190600101612fb6565b509495945050505050565b848152608060208201526000612fff6080830186612fa2565b6001600160a01b03949094166040830152506060015292915050565b6000602080838503121561302e57600080fd5b82516001600160401b038082111561304557600080fd5b818501915085601f83011261305957600080fd5b81518181111561306b5761306b612ea6565b8060051b915060405161308085840182612ebc565b8181529183018401918481018884111561309957600080fd5b938501935b838510156130b5578451815293850193850161309e565b50979650505050505050565b85815284602082015260a0604082015260006130e060a0830186612fa2565b6001600160a01b039490941660608301525060800152939250505056fe46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354a26469706673582212208388ebc12fc71d7a0e56fbc1f98d4b8282ca16f905fd749bbbbf67c8ae234b8b64736f6c63430008100033";
736
697
 
737
698
  type FuseStakingV3ConstructorParams =
738
699
  | [signer?: Signer]