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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) 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/BuyAndBridgeHelper.min.json +1 -0
  6. package/artifacts/abis/ClaimersDistribution.min.json +1 -1
  7. package/artifacts/abis/CompoundStakingFactory.min.json +1 -1
  8. package/artifacts/abis/CompoundVotingMachine.min.json +1 -1
  9. package/artifacts/abis/DAIMock.min.json +1 -1
  10. package/artifacts/abis/DAOUpgradeableContract.min.json +1 -1
  11. package/artifacts/abis/DecimalsMock.min.json +1 -1
  12. package/artifacts/abis/DistributionHelper.min.json +1 -1
  13. package/artifacts/abis/DistributionHelperTest.min.json +1 -1
  14. package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -1
  15. package/artifacts/abis/DonationsStaking.min.json +1 -1
  16. package/artifacts/abis/ERC20Permit.min.json +1 -0
  17. package/artifacts/abis/ERC20PresetMinterPauserUpgradeable.min.json +1 -0
  18. package/artifacts/abis/ERC677.min.json +1 -0
  19. package/artifacts/abis/ERC677Receiver.min.json +1 -0
  20. package/artifacts/abis/ExchangeHelper.min.json +1 -1
  21. package/artifacts/abis/Faucet.min.json +1 -0
  22. package/artifacts/abis/FeesFormulaMock.min.json +1 -0
  23. package/artifacts/abis/FuseFaucet.min.json +1 -1
  24. package/artifacts/abis/FuseStakingV3.min.json +1 -1
  25. package/artifacts/abis/GReputation.min.json +1 -1
  26. package/artifacts/abis/GoodAaveStaking.min.json +1 -1
  27. package/artifacts/abis/GoodAaveStakingV2.min.json +1 -1
  28. package/artifacts/abis/GoodCompoundStaking.min.json +1 -1
  29. package/artifacts/abis/GoodCompoundStakingTest.min.json +1 -1
  30. package/artifacts/abis/GoodCompoundStakingV2.min.json +1 -1
  31. package/artifacts/abis/GoodDollar.min.json +1 -0
  32. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -1
  33. package/artifacts/abis/GoodDollarStaking.min.json +1 -1
  34. package/artifacts/abis/GoodDollarStakingMock.min.json +1 -1
  35. package/artifacts/abis/GoodFundManager.min.json +1 -1
  36. package/artifacts/abis/GoodFundManagerTest.min.json +1 -1
  37. package/artifacts/abis/GoodMarketMaker.min.json +1 -1
  38. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  39. package/artifacts/abis/GovernanceStaking.min.json +1 -1
  40. package/artifacts/abis/IFeesFormula.min.json +1 -0
  41. package/artifacts/abis/IGoodDollar.min.json +1 -1
  42. package/artifacts/abis/IGoodDollarCustom.min.json +1 -0
  43. package/artifacts/abis/IGovernanceStaking.min.json +1 -0
  44. package/artifacts/abis/IIdentity.min.json +1 -1
  45. package/artifacts/abis/IIdentityV2.min.json +1 -0
  46. package/artifacts/abis/IStakingUpgrade.min.json +1 -0
  47. package/artifacts/abis/ISuperGoodDollar.min.json +1 -0
  48. package/artifacts/abis/IdentityMock.min.json +1 -0
  49. package/artifacts/abis/IdentityV2.min.json +1 -0
  50. package/artifacts/abis/InvitesV1.min.json +1 -1
  51. package/artifacts/abis/InvitesV2.min.json +1 -0
  52. package/artifacts/abis/LendingPoolMock.min.json +1 -1
  53. package/artifacts/abis/NameService.min.json +1 -1
  54. package/artifacts/abis/PayableMock.min.json +1 -0
  55. package/artifacts/abis/Proxy.min.json +1 -0
  56. package/artifacts/abis/Reputation.min.json +1 -1
  57. package/artifacts/abis/SelfApprove.min.json +1 -0
  58. package/artifacts/abis/SimpleStaking.min.json +1 -1
  59. package/artifacts/abis/SimpleStakingV2.min.json +1 -1
  60. package/artifacts/abis/SixteenDecimalsTokenMock.min.json +1 -1
  61. package/artifacts/abis/StakersDistribution.min.json +1 -1
  62. package/artifacts/abis/SuperGoodDollar.min.json +1 -0
  63. package/artifacts/abis/SuperToken.min.json +1 -0
  64. package/artifacts/abis/SuperfluidToken.min.json +1 -0
  65. package/artifacts/abis/TwentyDecimalsTokenMock.min.json +1 -1
  66. package/artifacts/abis/UBIScheme.min.json +1 -1
  67. package/artifacts/abis/USDCMock.min.json +1 -1
  68. package/artifacts/abis/UUPSProxiable.min.json +1 -0
  69. package/artifacts/abis/UUPSProxy.min.json +1 -0
  70. package/artifacts/abis/UUPSUtils.min.json +1 -0
  71. package/artifacts/abis/UpgradableMock.min.json +1 -1
  72. package/artifacts/abis/UpgradableMock2.min.json +1 -1
  73. package/artifacts/abis/UpgradableMock3.min.json +1 -1
  74. package/artifacts/abis/UpgradableMock4.min.json +1 -1
  75. package/artifacts/abis/cBATMock.min.json +1 -1
  76. package/artifacts/abis/cDAILowWorthMock.min.json +1 -1
  77. package/artifacts/abis/cDAIMock.min.json +1 -1
  78. package/artifacts/abis/cDAINonMintableMock.min.json +1 -1
  79. package/artifacts/abis/cDecimalsMock.min.json +1 -1
  80. package/artifacts/abis/cSDTMock.min.json +1 -1
  81. package/artifacts/abis/cUSDCMock.min.json +1 -1
  82. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  83. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  84. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  85. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  86. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  87. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  88. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  89. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  90. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  91. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  92. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  93. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  94. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  95. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  96. package/artifacts/contracts/Interfaces.sol/IGoodDollar.json +184 -0
  97. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  98. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  99. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  100. package/artifacts/contracts/Interfaces.sol/IIdentity.json +70 -0
  101. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +4 -0
  102. package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +300 -0
  103. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  104. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  105. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  106. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  107. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  108. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  109. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  110. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  111. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  112. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  113. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  114. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +4 -0
  115. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +736 -0
  116. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  117. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +15 -2
  118. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  119. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +28 -2
  120. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  121. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +28 -2
  122. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  123. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +78 -3
  124. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  125. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +71 -2
  126. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +4 -0
  127. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.json +24 -0
  128. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +4 -0
  129. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.json +35 -0
  130. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  131. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  132. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +31 -5
  133. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  134. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  135. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +28 -2
  136. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  137. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +28 -2
  138. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +4 -0
  139. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +1081 -0
  140. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  141. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +15 -2
  142. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +4 -0
  143. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +640 -0
  144. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  145. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +18 -5
  146. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  147. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
  148. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  149. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
  150. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  151. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
  152. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  153. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +18 -5
  154. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  155. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
  156. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  157. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +18 -5
  158. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  159. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +2 -2
  160. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  161. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +35 -2
  162. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  163. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +35 -2
  164. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  165. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
  166. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +4 -0
  167. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.json +69 -0
  168. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  169. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +2 -2
  170. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  171. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +22 -9
  172. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  173. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +95 -2
  174. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  175. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +28 -2
  176. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +4 -0
  177. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.json +277 -0
  178. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  179. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -2
  180. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  181. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +18 -5
  182. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  183. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  184. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
  185. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  186. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  187. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  188. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  189. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  190. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +4 -0
  191. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.json +18 -0
  192. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  193. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +18 -5
  194. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  195. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +2 -2
  196. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  197. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  198. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  199. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +18 -5
  200. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  201. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +28 -2
  202. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  203. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +28 -2
  204. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  205. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +28 -2
  206. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  207. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +28 -2
  208. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  209. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +18 -5
  210. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  211. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +18 -5
  212. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  213. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +18 -5
  214. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  215. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +18 -5
  216. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  217. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +18 -5
  218. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  219. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +18 -5
  220. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  221. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +18 -5
  222. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  223. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +18 -5
  224. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  225. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +35 -2
  226. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  227. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +28 -2
  228. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  229. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +28 -2
  230. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  231. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  232. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +37 -5
  233. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  234. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  235. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  236. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  237. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  238. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +32 -6
  239. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  240. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +44 -83
  241. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  242. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  243. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  244. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +28 -2
  245. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  246. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.json +16 -3
  247. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  248. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.json +16 -3
  249. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  250. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  251. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  252. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +3 -3
  253. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  254. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +20 -7
  255. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  256. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +20 -7
  257. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  258. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +4 -4
  259. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  260. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +22 -9
  261. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  262. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +22 -9
  263. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  264. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +2 -2
  265. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  266. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +4 -0
  267. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.json +768 -0
  268. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +4 -0
  269. package/artifacts/contracts/token/ERC677.sol/ERC677.json +66 -0
  270. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +4 -0
  271. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.json +40 -0
  272. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +4 -0
  273. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.json +45 -0
  274. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +4 -0
  275. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.json +1206 -0
  276. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +4 -0
  277. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.json +99 -0
  278. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +4 -0
  279. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.json +34 -0
  280. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +4 -0
  281. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.json +355 -0
  282. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +4 -0
  283. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.json +2132 -0
  284. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +4 -0
  285. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +2590 -0
  286. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +4 -0
  287. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.json +1759 -0
  288. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +4 -0
  289. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.json +682 -0
  290. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +4 -0
  291. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.json +89 -0
  292. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +4 -0
  293. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.json +19 -0
  294. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +4 -0
  295. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +32 -0
  296. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +4 -0
  297. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.json +10 -0
  298. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  299. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +41 -22
  300. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  301. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +94 -48
  302. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  303. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
  304. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  305. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  306. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +4 -0
  307. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +184 -0
  308. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  309. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  310. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  311. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +28 -2
  312. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  313. package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
  314. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  315. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +2 -2
  316. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  317. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +35 -2
  318. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  319. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  320. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  321. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
  322. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  323. package/artifacts/contracts/utils/MultiCall.sol/Multicall.json +2 -2
  324. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  325. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
  326. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  327. package/artifacts/contracts/utils/NameService.sol/NameService.json +28 -2
  328. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  329. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  330. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  331. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  332. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  333. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  334. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  335. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  336. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  337. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  338. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  339. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  340. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
  341. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  342. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  343. package/contracts/Interfaces.sol +57 -3
  344. package/contracts/fuseFaucet/Faucet.sol +258 -0
  345. package/contracts/fuseFaucet/FuseFaucet.sol +1 -2
  346. package/contracts/governance/GReputation.sol +104 -16
  347. package/contracts/governance/GoodDollarStaking.sol +139 -53
  348. package/contracts/governance/GovernanceStaking.sol +2 -2
  349. package/contracts/identity/IdentityV2.sol +559 -0
  350. package/contracts/invite/InvitesV1.sol +6 -24
  351. package/contracts/invite/InvitesV2.sol +338 -0
  352. package/contracts/mocks/AaveMock.sol +1 -1
  353. package/contracts/mocks/DAIMock.sol +1 -1
  354. package/contracts/mocks/DecimalsMock.sol +1 -1
  355. package/contracts/mocks/FeesFormularMock.sol +21 -0
  356. package/contracts/mocks/GoodDollarStakingMock.sol +16 -0
  357. package/contracts/mocks/GoodFundManagerTest.sol +1 -1
  358. package/contracts/mocks/IdentityMock.sol +58 -0
  359. package/contracts/mocks/LendingPoolMock.sol +1 -1
  360. package/contracts/mocks/PayableMock.sol +3 -0
  361. package/contracts/mocks/SixteenDecimalsTokenMock.sol +1 -6
  362. package/contracts/mocks/TwentyDecimalsTokenMock.sol +1 -6
  363. package/contracts/mocks/UpgradableMocks.sol +5 -3
  364. package/contracts/mocks/UsdcMock.sol +1 -6
  365. package/contracts/mocks/cBATMock.sol +7 -12
  366. package/contracts/mocks/cDAILowWorthMock.sol +8 -12
  367. package/contracts/mocks/cDAIMock.sol +1 -1
  368. package/contracts/mocks/cDAINonMintableMock.sol +7 -12
  369. package/contracts/mocks/cDecimalsMock.sol +1 -1
  370. package/contracts/mocks/cSDTMock.sol +3 -3
  371. package/contracts/mocks/cUSDCMock.sol +5 -5
  372. package/contracts/reserve/DistributionHelper.sol +5 -1
  373. package/contracts/reserve/GoodReserveCDai.sol +15 -5
  374. package/contracts/staking/FuseStakingV3.sol +42 -112
  375. package/contracts/staking/GoodFundManager.sol +2 -2
  376. package/contracts/token/ERC20PresetMinterPauserUpgradeable.sol +140 -0
  377. package/contracts/token/ERC677.sol +74 -0
  378. package/contracts/token/FeesFormula.sol +10 -0
  379. package/contracts/token/GoodDollar.sol +234 -0
  380. package/contracts/token/superfluid/ERC20Permit.sol +101 -0
  381. package/contracts/token/superfluid/ISuperGoodDollar.sol +84 -0
  382. package/contracts/token/superfluid/SuperGoodDollar.sol +348 -0
  383. package/contracts/token/superfluid/SuperToken.sol +712 -0
  384. package/contracts/token/superfluid/SuperfluidToken.sol +402 -0
  385. package/contracts/token/superfluid/UUPSProxiable.sol +55 -0
  386. package/contracts/token/superfluid/UUPSProxy.sol +153 -0
  387. package/contracts/ubi/UBIScheme.sol +88 -68
  388. package/contracts/utils/AdminWallet.sol +42 -11
  389. package/contracts/utils/BuyAndBridgeHelper.sol +108 -0
  390. package/contracts/utils/GoodDollarMintBurnWrapper.sol +19 -1
  391. package/hardhat.config.ts +60 -9
  392. package/package.json +19 -10
  393. package/releases/deploy-settings.json +47 -3
  394. package/releases/deployment.json +67 -196
  395. package/scripts/analytics/activeWalletsStats.ts +4 -0
  396. package/scripts/analytics/gdinflow.ts +3 -0
  397. package/scripts/analytics/p2pTxs.ts +582 -0
  398. package/scripts/analytics/tokenInOutStats.ts +3 -1
  399. package/scripts/deployFullDAO.ts +39 -19
  400. package/scripts/deployGnosisSafe.ts +21 -21
  401. package/scripts/gdx/gdxAirdropCalculation.ts +11 -12
  402. package/scripts/governance/airdropCalculationRecover.ts +43 -33
  403. package/scripts/governance/airdropCalculationSorted.ts +438 -0
  404. package/scripts/governance/goodCheckpointSorted.ts +377 -0
  405. package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +100 -0
  406. package/scripts/multichain-deploy/{basicdao-deploy.ts → 1_basicdao-deploy.ts} +123 -93
  407. package/scripts/multichain-deploy/2_helpers-deploy.ts +152 -0
  408. package/scripts/multichain-deploy/{gdSavings-deploy.ts → 3_gdSavings-deploy.ts} +106 -76
  409. package/scripts/multichain-deploy/4_ubi-deploy.ts +147 -0
  410. package/scripts/multichain-deploy/5_gov-deploy.ts +147 -0
  411. package/scripts/multichain-deploy/fulldeploy.sh +26 -0
  412. package/scripts/multichain-deploy/helpers.ts +205 -7
  413. package/scripts/multichain-deploy/verifyEtherscan.ts +197 -0
  414. package/scripts/staking/stakersGdRewardsCalculation.ts +57 -46
  415. package/scripts/test/localOldDaoDeploy.ts +10 -3
  416. package/scripts/upgradeToV3/v3-fix.ts +120 -0
  417. package/scripts/upgradeToV3/v3-upgrade.ts +219 -0
  418. package/scripts/upgrades/celo-deploy.ts +6 -0
  419. package/scripts/upgrades/identity-upgrade.ts +153 -0
  420. package/scripts/{multichain-deploy → upgrades}/nonubiDistribution-deploy.ts +2 -5
  421. package/scripts/upgrades/transferDaoToGuardians.ts +80 -0
  422. package/test/faucet/Faucet.test.ts +184 -0
  423. package/test/{FuseFaucet.test.ts → faucet/FuseFaucet.test.ts} +4 -3
  424. package/test/governance/ClaimersDistribution.test.ts +58 -6
  425. package/test/governance/CompoundVotingMachine.castvote.test.ts +3 -3
  426. package/test/governance/CompoundVotingMachine.crossblockchain.ts +3 -2
  427. package/test/governance/CompoundVotingMachine.daoscheme.ts +8 -10
  428. package/test/governance/CompoundVotingMachine.delegate.test.ts +4 -5
  429. package/test/governance/CompoundVotingMachine.guardian.test.ts +5 -11
  430. package/test/governance/CompoundVotingMachine.propose.test.ts +3 -2
  431. package/test/governance/CompoundVotingMachine.state.test.ts +3 -2
  432. package/test/governance/GReputation.test.ts +78 -32
  433. package/test/governance/GReputation.v2merkle.test.ts +186 -0
  434. package/test/governance/GoodDollarStaking.gd.test.ts +83 -1
  435. package/test/governance/GoodDollarStaking.good.test.ts +2 -1
  436. package/test/governance/GovernanceStaking.test.ts +4 -4
  437. package/test/governance/Reputation.test.ts +2 -1
  438. package/test/governance/StakersDistribution.test.ts +26 -13
  439. package/test/helpers.ts +145 -52
  440. package/test/identity/IdentityV2.test.ts +539 -0
  441. package/test/{InvitesV1.test.ts → invite/InvitesV1.test.ts} +10 -5
  442. package/test/invite/InvitesV2.test.ts +499 -0
  443. package/test/reserve/DistributionHelper.test.ts +2 -1
  444. package/test/reserve/GoodMarketMaker.test.ts +20 -19
  445. package/test/reserve/GoodReserveCDai.cap.test.ts +8 -1
  446. package/test/reserve/GoodReserveCDai.distribution.test.ts +2 -1
  447. package/test/reserve/GoodReserveCDai.gdx.test.ts +2 -2
  448. package/test/reserve/GoodReserveCDai.pause.test.ts +2 -1
  449. package/test/reserve/GoodReserveCDai.test.ts +14 -38
  450. package/test/reserve/GoodReserveCDai.uniswap.test.ts +21 -19
  451. package/test/staking/CompoundStakingFactory.test.ts +8 -5
  452. package/test/staking/DifferentStakingTokens.test.ts +3 -2
  453. package/test/staking/DonationsStaking.test.ts +33 -24
  454. package/test/staking/FuseStaking.test.ts +11 -13
  455. package/test/staking/GoodAaveStakingFactory.test.ts +36 -31
  456. package/test/staking/SimpleDAIStaking.test.ts +13 -19
  457. package/test/staking/StakingRewards.test.ts +32 -32
  458. package/test/staking/StakingRewardsFixedAPY.test.ts +2 -1
  459. package/test/staking/SwapHelper.test.ts +20 -17
  460. package/test/staking/UsdcAaveStaking.test.ts +36 -33
  461. package/test/token/GoodDollar.test.ts +342 -0
  462. package/test/token/SuperGoodDollar.test.ts +422 -0
  463. package/test/ubi/UBIScheme.e2e.test.ts +6 -5
  464. package/test/ubi/UBIScheme.test.ts +37 -36
  465. package/test/ubi/UBISchemeCycle.test.ts +11 -8
  466. package/test/utils/AdminWallet.test.ts +34 -11
  467. package/test/utils/BuyAndBridgeHelper.test.ts +249 -0
  468. package/test/utils/DAOUpgradeableContract.test.ts +3 -2
  469. package/test/utils/GoodDollarMintBurnWrapper.test.ts +3 -2
  470. package/test/utils/NameService.test.ts +37 -21
  471. package/test/utils/ProtocolUpgrade.test.ts +1 -1
  472. package/test/utils/ProxyFactory.test.ts +12 -10
  473. package/truffle-config.js +13 -4
  474. package/types/AaveMock.ts +24 -15
  475. package/types/AccessControlEnumerableUpgradeable.ts +9 -0
  476. package/types/AccessControlUpgradeable.ts +9 -0
  477. package/types/AdminWallet.ts +149 -110
  478. package/types/BuyAndBridgeHelper.ts +279 -0
  479. package/types/CBATMock.ts +24 -15
  480. package/types/CDAILowWorthMock.ts +24 -15
  481. package/types/CDAIMock.ts +24 -15
  482. package/types/CDAINonMintableMock.ts +24 -15
  483. package/types/CDecimalsMock.ts +24 -15
  484. package/types/CSDTMock.ts +24 -15
  485. package/types/CUSDCMock.ts +24 -15
  486. package/types/ClaimersDistribution.ts +28 -0
  487. package/types/CompoundVotingMachine.ts +28 -0
  488. package/types/ContextUpgradeable.ts +77 -0
  489. package/types/DAIMock.ts +24 -15
  490. package/types/DAOUpgradeableContract.ts +28 -0
  491. package/types/DecimalsMock.ts +24 -15
  492. package/types/DistributionHelper.ts +55 -0
  493. package/types/DistributionHelperTest.ts +55 -0
  494. package/types/DistributionHelperTestHelper.ts +55 -0
  495. package/types/DonationsStaking.ts +28 -0
  496. package/types/EIP712Upgradeable.ts +77 -0
  497. package/types/ERC165Upgradeable.ts +13 -2
  498. package/types/ERC1967UpgradeUpgradeable.ts +9 -0
  499. package/types/ERC20BurnableUpgradeable.ts +24 -15
  500. package/types/ERC20PausableUpgradeable.ts +24 -15
  501. package/types/ERC20Permit.ts +186 -0
  502. package/types/ERC20PermitUpgradeable.ts +531 -0
  503. package/types/ERC20PresetMinterPauserUpgradeable.ts +129 -16
  504. package/types/ERC20Upgradeable.ts +24 -15
  505. package/types/ERC20WithTokenInfo.ts +339 -0
  506. package/types/ERC677.ts +131 -0
  507. package/types/ERC677Receiver.ts +115 -0
  508. package/types/EventsEmitter.ts +88 -0
  509. package/types/ExchangeHelper.ts +28 -0
  510. package/types/Faucet.ts +1107 -0
  511. package/types/FeesFormulaMock.ts +130 -0
  512. package/types/FuseFaucet.ts +9 -0
  513. package/types/FuseStakingV3.ts +75 -208
  514. package/types/GReputation.ts +103 -4
  515. package/types/GoodAaveStaking.ts +24 -15
  516. package/types/GoodAaveStakingV2.ts +24 -15
  517. package/types/GoodCompoundStaking.ts +24 -15
  518. package/types/GoodCompoundStakingTest.ts +24 -15
  519. package/types/GoodCompoundStakingV2.ts +24 -15
  520. package/types/GoodDollar.ts +1733 -0
  521. package/types/GoodDollarMintBurnWrapper.ts +55 -0
  522. package/types/GoodDollarStaking.ts +92 -0
  523. package/types/GoodDollarStakingMock.ts +131 -0
  524. package/types/GoodFundManager.ts +28 -0
  525. package/types/GoodFundManagerTest.ts +28 -0
  526. package/types/GoodMarketMaker.ts +28 -0
  527. package/types/GoodReserveCDai.ts +55 -21
  528. package/types/GovernanceStaking.ts +43 -15
  529. package/types/IERC1271Upgradeable.ts +109 -0
  530. package/types/IERC1820Registry.ts +398 -0
  531. package/types/IERC1822ProxiableUpgradeable.ts +90 -0
  532. package/types/IERC20MetadataUpgradeable.ts +15 -15
  533. package/types/IERC20Permit.ts +175 -0
  534. package/types/IERC20PermitUpgradeable.ts +176 -0
  535. package/types/IERC20Upgradeable.ts +15 -15
  536. package/types/IERC777.ts +586 -0
  537. package/types/IERC777Recipient.ts +130 -0
  538. package/types/IERC777Sender.ts +130 -0
  539. package/types/IFeesFormula.ts +111 -0
  540. package/types/IGoodDollar.ts +304 -7
  541. package/types/IGoodDollarCustom.ts +618 -0
  542. package/types/IGovernanceStaking.ts +98 -0
  543. package/types/IIdentity.ts +106 -0
  544. package/types/IIdentityV2.ts +557 -0
  545. package/types/IStakingUpgrade.ts +110 -0
  546. package/types/ISuperAgreement.ts +151 -0
  547. package/types/ISuperApp.ts +410 -0
  548. package/types/ISuperGoodDollar.ts +3029 -0
  549. package/types/ISuperToken.ts +2326 -0
  550. package/types/ISuperTokenFactory.ts +415 -0
  551. package/types/ISuperfluid.ts +1565 -0
  552. package/types/ISuperfluidGovernance.ts +455 -0
  553. package/types/ISuperfluidToken.ts +951 -0
  554. package/types/IdentityMock.ts +493 -0
  555. package/types/IdentityV2.ts +1743 -0
  556. package/types/Initializable.ts +77 -0
  557. package/types/InvitesV1.ts +9 -0
  558. package/types/InvitesV2.ts +1015 -0
  559. package/types/LendingPoolMock.ts +24 -15
  560. package/types/NameService.ts +28 -0
  561. package/types/OwnableUpgradeable.ts +9 -0
  562. package/types/PausableUpgradeable.ts +9 -0
  563. package/types/PayableMock.ts +92 -0
  564. package/types/ReentrancyGuardUpgradeable.ts +78 -0
  565. package/types/Reputation.ts +28 -0
  566. package/types/SelfApprove.ts +115 -0
  567. package/types/SimpleStaking.ts +24 -15
  568. package/types/SimpleStakingV2.ts +24 -15
  569. package/types/SixteenDecimalsTokenMock.ts +24 -15
  570. package/types/StakersDistribution.ts +28 -0
  571. package/types/SuperGoodDollar.ts +3632 -0
  572. package/types/SuperToken.ts +2434 -0
  573. package/types/SuperfluidToken.ts +951 -0
  574. package/types/TokenInfo.ts +109 -0
  575. package/types/TwentyDecimalsTokenMock.ts +24 -15
  576. package/types/UBIScheme.ts +47 -40
  577. package/types/USDCMock.ts +24 -15
  578. package/types/UUPSProxiable.ts +183 -0
  579. package/types/UUPSProxy.ts +105 -0
  580. package/types/UUPSUpgradeable.ts +28 -0
  581. package/types/UpgradableMock.ts +28 -0
  582. package/types/UpgradableMock2.ts +28 -0
  583. package/types/UpgradableMock3.ts +28 -0
  584. package/types/UpgradableMock4.ts +28 -0
  585. package/types/factories/AaveMock__factory.ts +17 -4
  586. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  587. package/types/factories/AaveUSDMockOracle__factory.ts +1 -1
  588. package/types/factories/AccessControlEnumerableUpgradeable__factory.ts +13 -0
  589. package/types/factories/AccessControlUpgradeable__factory.ts +13 -0
  590. package/types/factories/AdminWallet__factory.ts +93 -47
  591. package/types/factories/BancorFormula__factory.ts +1 -1
  592. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  593. package/types/factories/BaseShareField__factory.ts +1 -1
  594. package/types/factories/BatUSDMockOracle__factory.ts +1 -1
  595. package/types/factories/BuyAndBridgeHelper__factory.ts +237 -0
  596. package/types/factories/CBATMock__factory.ts +17 -4
  597. package/types/factories/CDAILowWorthMock__factory.ts +17 -4
  598. package/types/factories/CDAIMock__factory.ts +17 -4
  599. package/types/factories/CDAINonMintableMock__factory.ts +17 -4
  600. package/types/factories/CDecimalsMock__factory.ts +17 -4
  601. package/types/factories/CSDTMock__factory.ts +17 -4
  602. package/types/factories/CUSDCMock__factory.ts +17 -4
  603. package/types/factories/ClaimersDistribution__factory.ts +27 -1
  604. package/types/factories/CompUSDMockOracle__factory.ts +1 -1
  605. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  606. package/types/factories/CompoundVotingMachine__factory.ts +27 -1
  607. package/types/factories/ContextUpgradeable__factory.ts +39 -0
  608. package/types/factories/DAIMock__factory.ts +17 -4
  609. package/types/factories/DAOContract__factory.ts +1 -1
  610. package/types/factories/DAOUpgradeableContract__factory.ts +27 -1
  611. package/types/factories/DaiEthPriceMockOracle__factory.ts +1 -1
  612. package/types/factories/DecimalsMock__factory.ts +17 -4
  613. package/types/factories/DistributionBridgeMock__factory.ts +1 -1
  614. package/types/factories/DistributionHelperTestHelper__factory.ts +34 -1
  615. package/types/factories/DistributionHelperTest__factory.ts +34 -1
  616. package/types/factories/DistributionHelper__factory.ts +34 -1
  617. package/types/factories/DonationsStaking__factory.ts +27 -1
  618. package/types/factories/EIP712Upgradeable__factory.ts +39 -0
  619. package/types/factories/ERC165Upgradeable__factory.ts +13 -0
  620. package/types/factories/ERC1967Proxy__factory.ts +1 -1
  621. package/types/factories/ERC1967UpgradeUpgradeable__factory.ts +13 -0
  622. package/types/factories/ERC20BurnableUpgradeable__factory.ts +16 -3
  623. package/types/factories/ERC20PausableUpgradeable__factory.ts +16 -3
  624. package/types/factories/ERC20PermitUpgradeable__factory.ts +388 -0
  625. package/types/factories/ERC20Permit__factory.ts +111 -0
  626. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +99 -5
  627. package/types/factories/ERC20Upgradeable__factory.ts +17 -4
  628. package/types/factories/ERC20WithTokenInfo__factory.ts +248 -0
  629. package/types/factories/ERC677Receiver__factory.ts +55 -0
  630. package/types/factories/ERC677__factory.ts +75 -0
  631. package/types/factories/EthUSDMockOracle__factory.ts +1 -1
  632. package/types/factories/EventsEmitter__factory.ts +84 -0
  633. package/types/factories/ExchangeHelper__factory.ts +27 -1
  634. package/types/factories/Faucet__factory.ts +781 -0
  635. package/types/factories/FeesFormulaMock__factory.ts +132 -0
  636. package/types/factories/FuseFaucet__factory.ts +14 -1
  637. package/types/factories/FuseStakingV3__factory.ts +43 -82
  638. package/types/factories/GReputation__factory.ts +77 -2
  639. package/types/factories/GasPriceMockOracle__factory.ts +1 -1
  640. package/types/factories/GoodAaveStakingV2__factory.ts +17 -4
  641. package/types/factories/GoodAaveStaking__factory.ts +17 -4
  642. package/types/factories/GoodCompoundStakingTest__factory.ts +17 -4
  643. package/types/factories/GoodCompoundStakingV2__factory.ts +17 -4
  644. package/types/factories/GoodCompoundStaking__factory.ts +17 -4
  645. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +34 -1
  646. package/types/factories/GoodDollarStakingMock__factory.ts +94 -1
  647. package/types/factories/GoodDollarStaking__factory.ts +70 -1
  648. package/types/factories/GoodDollar__factory.ts +1254 -0
  649. package/types/factories/GoodFundManagerTest__factory.ts +27 -1
  650. package/types/factories/GoodFundManager__factory.ts +27 -1
  651. package/types/factories/GoodMarketMaker__factory.ts +27 -1
  652. package/types/factories/GoodReserveCDai__factory.ts +36 -4
  653. package/types/factories/GovernanceStaking__factory.ts +30 -4
  654. package/types/factories/IERC1271Upgradeable__factory.ts +50 -0
  655. package/types/factories/IERC1820Registry__factory.ts +239 -0
  656. package/types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  657. package/types/factories/IERC20MetadataUpgradeable__factory.ts +3 -3
  658. package/types/factories/IERC20PermitUpgradeable__factory.ts +105 -0
  659. package/types/factories/IERC20Permit__factory.ts +98 -0
  660. package/types/factories/IERC20Upgradeable__factory.ts +3 -3
  661. package/types/factories/IERC777Recipient__factory.ts +64 -0
  662. package/types/factories/IERC777Sender__factory.ts +61 -0
  663. package/types/factories/IERC777__factory.ts +414 -0
  664. package/types/factories/IFeesFormula__factory.ts +57 -0
  665. package/types/factories/IGoodDollarCustom__factory.ts +370 -0
  666. package/types/factories/IGoodDollar__factory.ts +184 -0
  667. package/types/factories/IGovernanceStaking__factory.ts +39 -0
  668. package/types/factories/IIdentityV2__factory.ts +312 -0
  669. package/types/factories/IIdentity__factory.ts +70 -0
  670. package/types/factories/IStakingUpgrade__factory.ts +50 -0
  671. package/types/factories/ISuperAgreement__factory.ts +78 -0
  672. package/types/factories/ISuperApp__factory.ts +272 -0
  673. package/types/factories/ISuperGoodDollar__factory.ts +2147 -0
  674. package/types/factories/ISuperTokenFactory__factory.ts +271 -0
  675. package/types/factories/ISuperToken__factory.ts +1682 -0
  676. package/types/factories/ISuperfluidGovernance__factory.ts +264 -0
  677. package/types/factories/ISuperfluidToken__factory.ts +697 -0
  678. package/types/factories/ISuperfluid__factory.ts +1143 -0
  679. package/types/factories/IdentityMock__factory.ts +327 -0
  680. package/types/factories/IdentityV2__factory.ts +1129 -0
  681. package/types/factories/IncentiveControllerMock__factory.ts +1 -1
  682. package/types/factories/Initializable__factory.ts +36 -0
  683. package/types/factories/InvitesV1__factory.ts +14 -1
  684. package/types/factories/InvitesV2__factory.ts +688 -0
  685. package/types/factories/LendingPoolMock__factory.ts +17 -4
  686. package/types/factories/Multicall__factory.ts +1 -1
  687. package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
  688. package/types/factories/MultichainRouterMock__factory.ts +1 -1
  689. package/types/factories/NameService__factory.ts +27 -1
  690. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  691. package/types/factories/OverMintTester__factory.ts +1 -1
  692. package/types/factories/OwnableUpgradeable__factory.ts +13 -0
  693. package/types/factories/PausableUpgradeable__factory.ts +13 -0
  694. package/types/factories/PayableMock__factory.ts +66 -0
  695. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  696. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  697. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  698. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  699. package/types/factories/ProxyFactory1967__factory.ts +1 -1
  700. package/types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  701. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  702. package/types/factories/Reputation__factory.ts +27 -1
  703. package/types/factories/SelfApprove__factory.ts +46 -0
  704. package/types/factories/SimpleStakingV2__factory.ts +16 -3
  705. package/types/factories/SimpleStaking__factory.ts +16 -3
  706. package/types/factories/SixteenDecimalsTokenMock__factory.ts +17 -4
  707. package/types/factories/StakersDistribution__factory.ts +27 -1
  708. package/types/factories/StakingMockFixedAPY__factory.ts +1 -1
  709. package/types/factories/SuperGoodDollar__factory.ts +2643 -0
  710. package/types/factories/SuperToken__factory.ts +1809 -0
  711. package/types/factories/SuperfluidToken__factory.ts +697 -0
  712. package/types/factories/SwapHelperTest__factory.ts +1 -1
  713. package/types/factories/TokenInfo__factory.ts +62 -0
  714. package/types/factories/TwentyDecimalsTokenMock__factory.ts +17 -4
  715. package/types/factories/UBIScheme__factory.ts +40 -21
  716. package/types/factories/USDCMock__factory.ts +17 -4
  717. package/types/factories/UUPSProxiable__factory.ts +101 -0
  718. package/types/factories/UUPSProxy__factory.ts +80 -0
  719. package/types/factories/UUPSUpgradeable__factory.ts +26 -0
  720. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  721. package/types/factories/UpgradableMock2__factory.ts +27 -1
  722. package/types/factories/UpgradableMock3__factory.ts +27 -1
  723. package/types/factories/UpgradableMock4__factory.ts +27 -1
  724. package/types/factories/UpgradableMock__factory.ts +27 -1
  725. package/types/hardhat.d.ts +432 -0
  726. package/types/index.ts +92 -0
  727. package/yarn.lock +2348 -864
@@ -0,0 +1,1759 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "SuperToken",
4
+ "sourceName": "contracts/token/superfluid/SuperToken.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract ISuperfluid",
10
+ "name": "host",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "SF_TOKEN_AGREEMENT_ALREADY_EXISTS",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "SF_TOKEN_BURN_INSUFFICIENT_BALANCE",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "SF_TOKEN_ONLY_HOST",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "SF_TOKEN_ONLY_LISTED_AGREEMENT",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",
55
+ "type": "error"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",
60
+ "type": "error"
61
+ },
62
+ {
63
+ "inputs": [],
64
+ "name": "SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [],
74
+ "name": "SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [],
79
+ "name": "SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [],
84
+ "name": "SUPER_TOKEN_NO_UNDERLYING_TOKEN",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "SUPER_TOKEN_ONLY_HOST",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [],
94
+ "name": "SUPER_TOKEN_ONLY_SELF",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [],
104
+ "name": "SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "agreementClass",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": false,
118
+ "internalType": "bytes32",
119
+ "name": "id",
120
+ "type": "bytes32"
121
+ },
122
+ {
123
+ "indexed": false,
124
+ "internalType": "bytes32[]",
125
+ "name": "data",
126
+ "type": "bytes32[]"
127
+ }
128
+ ],
129
+ "name": "AgreementCreated",
130
+ "type": "event"
131
+ },
132
+ {
133
+ "anonymous": false,
134
+ "inputs": [
135
+ {
136
+ "indexed": true,
137
+ "internalType": "address",
138
+ "name": "agreementClass",
139
+ "type": "address"
140
+ },
141
+ {
142
+ "indexed": false,
143
+ "internalType": "bytes32",
144
+ "name": "id",
145
+ "type": "bytes32"
146
+ },
147
+ {
148
+ "indexed": true,
149
+ "internalType": "address",
150
+ "name": "penaltyAccount",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": true,
155
+ "internalType": "address",
156
+ "name": "rewardAccount",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "rewardAmount",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "AgreementLiquidated",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "anonymous": false,
171
+ "inputs": [
172
+ {
173
+ "indexed": false,
174
+ "internalType": "address",
175
+ "name": "liquidatorAccount",
176
+ "type": "address"
177
+ },
178
+ {
179
+ "indexed": true,
180
+ "internalType": "address",
181
+ "name": "agreementClass",
182
+ "type": "address"
183
+ },
184
+ {
185
+ "indexed": false,
186
+ "internalType": "bytes32",
187
+ "name": "id",
188
+ "type": "bytes32"
189
+ },
190
+ {
191
+ "indexed": true,
192
+ "internalType": "address",
193
+ "name": "penaltyAccount",
194
+ "type": "address"
195
+ },
196
+ {
197
+ "indexed": true,
198
+ "internalType": "address",
199
+ "name": "bondAccount",
200
+ "type": "address"
201
+ },
202
+ {
203
+ "indexed": false,
204
+ "internalType": "uint256",
205
+ "name": "rewardAmount",
206
+ "type": "uint256"
207
+ },
208
+ {
209
+ "indexed": false,
210
+ "internalType": "uint256",
211
+ "name": "bailoutAmount",
212
+ "type": "uint256"
213
+ }
214
+ ],
215
+ "name": "AgreementLiquidatedBy",
216
+ "type": "event"
217
+ },
218
+ {
219
+ "anonymous": false,
220
+ "inputs": [
221
+ {
222
+ "indexed": true,
223
+ "internalType": "address",
224
+ "name": "agreementClass",
225
+ "type": "address"
226
+ },
227
+ {
228
+ "indexed": false,
229
+ "internalType": "bytes32",
230
+ "name": "id",
231
+ "type": "bytes32"
232
+ },
233
+ {
234
+ "indexed": true,
235
+ "internalType": "address",
236
+ "name": "liquidatorAccount",
237
+ "type": "address"
238
+ },
239
+ {
240
+ "indexed": true,
241
+ "internalType": "address",
242
+ "name": "targetAccount",
243
+ "type": "address"
244
+ },
245
+ {
246
+ "indexed": false,
247
+ "internalType": "address",
248
+ "name": "rewardAmountReceiver",
249
+ "type": "address"
250
+ },
251
+ {
252
+ "indexed": false,
253
+ "internalType": "uint256",
254
+ "name": "rewardAmount",
255
+ "type": "uint256"
256
+ },
257
+ {
258
+ "indexed": false,
259
+ "internalType": "int256",
260
+ "name": "targetAccountBalanceDelta",
261
+ "type": "int256"
262
+ },
263
+ {
264
+ "indexed": false,
265
+ "internalType": "bytes",
266
+ "name": "liquidationTypeData",
267
+ "type": "bytes"
268
+ }
269
+ ],
270
+ "name": "AgreementLiquidatedV2",
271
+ "type": "event"
272
+ },
273
+ {
274
+ "anonymous": false,
275
+ "inputs": [
276
+ {
277
+ "indexed": true,
278
+ "internalType": "address",
279
+ "name": "agreementClass",
280
+ "type": "address"
281
+ },
282
+ {
283
+ "indexed": true,
284
+ "internalType": "address",
285
+ "name": "account",
286
+ "type": "address"
287
+ },
288
+ {
289
+ "indexed": false,
290
+ "internalType": "uint256",
291
+ "name": "slotId",
292
+ "type": "uint256"
293
+ }
294
+ ],
295
+ "name": "AgreementStateUpdated",
296
+ "type": "event"
297
+ },
298
+ {
299
+ "anonymous": false,
300
+ "inputs": [
301
+ {
302
+ "indexed": true,
303
+ "internalType": "address",
304
+ "name": "agreementClass",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "bytes32",
310
+ "name": "id",
311
+ "type": "bytes32"
312
+ }
313
+ ],
314
+ "name": "AgreementTerminated",
315
+ "type": "event"
316
+ },
317
+ {
318
+ "anonymous": false,
319
+ "inputs": [
320
+ {
321
+ "indexed": true,
322
+ "internalType": "address",
323
+ "name": "agreementClass",
324
+ "type": "address"
325
+ },
326
+ {
327
+ "indexed": false,
328
+ "internalType": "bytes32",
329
+ "name": "id",
330
+ "type": "bytes32"
331
+ },
332
+ {
333
+ "indexed": false,
334
+ "internalType": "bytes32[]",
335
+ "name": "data",
336
+ "type": "bytes32[]"
337
+ }
338
+ ],
339
+ "name": "AgreementUpdated",
340
+ "type": "event"
341
+ },
342
+ {
343
+ "anonymous": false,
344
+ "inputs": [
345
+ {
346
+ "indexed": true,
347
+ "internalType": "address",
348
+ "name": "owner",
349
+ "type": "address"
350
+ },
351
+ {
352
+ "indexed": true,
353
+ "internalType": "address",
354
+ "name": "spender",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "indexed": false,
359
+ "internalType": "uint256",
360
+ "name": "value",
361
+ "type": "uint256"
362
+ }
363
+ ],
364
+ "name": "Approval",
365
+ "type": "event"
366
+ },
367
+ {
368
+ "anonymous": false,
369
+ "inputs": [
370
+ {
371
+ "indexed": true,
372
+ "internalType": "address",
373
+ "name": "operator",
374
+ "type": "address"
375
+ },
376
+ {
377
+ "indexed": true,
378
+ "internalType": "address",
379
+ "name": "tokenHolder",
380
+ "type": "address"
381
+ }
382
+ ],
383
+ "name": "AuthorizedOperator",
384
+ "type": "event"
385
+ },
386
+ {
387
+ "anonymous": false,
388
+ "inputs": [
389
+ {
390
+ "indexed": true,
391
+ "internalType": "address",
392
+ "name": "bailoutAccount",
393
+ "type": "address"
394
+ },
395
+ {
396
+ "indexed": false,
397
+ "internalType": "uint256",
398
+ "name": "bailoutAmount",
399
+ "type": "uint256"
400
+ }
401
+ ],
402
+ "name": "Bailout",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": true,
410
+ "internalType": "address",
411
+ "name": "operator",
412
+ "type": "address"
413
+ },
414
+ {
415
+ "indexed": true,
416
+ "internalType": "address",
417
+ "name": "from",
418
+ "type": "address"
419
+ },
420
+ {
421
+ "indexed": false,
422
+ "internalType": "uint256",
423
+ "name": "amount",
424
+ "type": "uint256"
425
+ },
426
+ {
427
+ "indexed": false,
428
+ "internalType": "bytes",
429
+ "name": "data",
430
+ "type": "bytes"
431
+ },
432
+ {
433
+ "indexed": false,
434
+ "internalType": "bytes",
435
+ "name": "operatorData",
436
+ "type": "bytes"
437
+ }
438
+ ],
439
+ "name": "Burned",
440
+ "type": "event"
441
+ },
442
+ {
443
+ "anonymous": false,
444
+ "inputs": [
445
+ {
446
+ "indexed": false,
447
+ "internalType": "bytes32",
448
+ "name": "uuid",
449
+ "type": "bytes32"
450
+ },
451
+ {
452
+ "indexed": false,
453
+ "internalType": "address",
454
+ "name": "codeAddress",
455
+ "type": "address"
456
+ }
457
+ ],
458
+ "name": "CodeUpdated",
459
+ "type": "event"
460
+ },
461
+ {
462
+ "anonymous": false,
463
+ "inputs": [
464
+ {
465
+ "indexed": false,
466
+ "internalType": "uint8",
467
+ "name": "version",
468
+ "type": "uint8"
469
+ }
470
+ ],
471
+ "name": "Initialized",
472
+ "type": "event"
473
+ },
474
+ {
475
+ "anonymous": false,
476
+ "inputs": [
477
+ {
478
+ "indexed": true,
479
+ "internalType": "address",
480
+ "name": "operator",
481
+ "type": "address"
482
+ },
483
+ {
484
+ "indexed": true,
485
+ "internalType": "address",
486
+ "name": "to",
487
+ "type": "address"
488
+ },
489
+ {
490
+ "indexed": false,
491
+ "internalType": "uint256",
492
+ "name": "amount",
493
+ "type": "uint256"
494
+ },
495
+ {
496
+ "indexed": false,
497
+ "internalType": "bytes",
498
+ "name": "data",
499
+ "type": "bytes"
500
+ },
501
+ {
502
+ "indexed": false,
503
+ "internalType": "bytes",
504
+ "name": "operatorData",
505
+ "type": "bytes"
506
+ }
507
+ ],
508
+ "name": "Minted",
509
+ "type": "event"
510
+ },
511
+ {
512
+ "anonymous": false,
513
+ "inputs": [
514
+ {
515
+ "indexed": true,
516
+ "internalType": "address",
517
+ "name": "operator",
518
+ "type": "address"
519
+ },
520
+ {
521
+ "indexed": true,
522
+ "internalType": "address",
523
+ "name": "tokenHolder",
524
+ "type": "address"
525
+ }
526
+ ],
527
+ "name": "RevokedOperator",
528
+ "type": "event"
529
+ },
530
+ {
531
+ "anonymous": false,
532
+ "inputs": [
533
+ {
534
+ "indexed": true,
535
+ "internalType": "address",
536
+ "name": "operator",
537
+ "type": "address"
538
+ },
539
+ {
540
+ "indexed": true,
541
+ "internalType": "address",
542
+ "name": "from",
543
+ "type": "address"
544
+ },
545
+ {
546
+ "indexed": true,
547
+ "internalType": "address",
548
+ "name": "to",
549
+ "type": "address"
550
+ },
551
+ {
552
+ "indexed": false,
553
+ "internalType": "uint256",
554
+ "name": "amount",
555
+ "type": "uint256"
556
+ },
557
+ {
558
+ "indexed": false,
559
+ "internalType": "bytes",
560
+ "name": "data",
561
+ "type": "bytes"
562
+ },
563
+ {
564
+ "indexed": false,
565
+ "internalType": "bytes",
566
+ "name": "operatorData",
567
+ "type": "bytes"
568
+ }
569
+ ],
570
+ "name": "Sent",
571
+ "type": "event"
572
+ },
573
+ {
574
+ "anonymous": false,
575
+ "inputs": [
576
+ {
577
+ "indexed": true,
578
+ "internalType": "address",
579
+ "name": "account",
580
+ "type": "address"
581
+ },
582
+ {
583
+ "indexed": false,
584
+ "internalType": "uint256",
585
+ "name": "amount",
586
+ "type": "uint256"
587
+ }
588
+ ],
589
+ "name": "TokenDowngraded",
590
+ "type": "event"
591
+ },
592
+ {
593
+ "anonymous": false,
594
+ "inputs": [
595
+ {
596
+ "indexed": true,
597
+ "internalType": "address",
598
+ "name": "account",
599
+ "type": "address"
600
+ },
601
+ {
602
+ "indexed": false,
603
+ "internalType": "uint256",
604
+ "name": "amount",
605
+ "type": "uint256"
606
+ }
607
+ ],
608
+ "name": "TokenUpgraded",
609
+ "type": "event"
610
+ },
611
+ {
612
+ "anonymous": false,
613
+ "inputs": [
614
+ {
615
+ "indexed": true,
616
+ "internalType": "address",
617
+ "name": "from",
618
+ "type": "address"
619
+ },
620
+ {
621
+ "indexed": true,
622
+ "internalType": "address",
623
+ "name": "to",
624
+ "type": "address"
625
+ },
626
+ {
627
+ "indexed": false,
628
+ "internalType": "uint256",
629
+ "name": "value",
630
+ "type": "uint256"
631
+ }
632
+ ],
633
+ "name": "Transfer",
634
+ "type": "event"
635
+ },
636
+ {
637
+ "inputs": [
638
+ {
639
+ "internalType": "address",
640
+ "name": "account",
641
+ "type": "address"
642
+ },
643
+ {
644
+ "internalType": "address",
645
+ "name": "spender",
646
+ "type": "address"
647
+ }
648
+ ],
649
+ "name": "allowance",
650
+ "outputs": [
651
+ {
652
+ "internalType": "uint256",
653
+ "name": "",
654
+ "type": "uint256"
655
+ }
656
+ ],
657
+ "stateMutability": "view",
658
+ "type": "function"
659
+ },
660
+ {
661
+ "inputs": [
662
+ {
663
+ "internalType": "address",
664
+ "name": "spender",
665
+ "type": "address"
666
+ },
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "amount",
670
+ "type": "uint256"
671
+ }
672
+ ],
673
+ "name": "approve",
674
+ "outputs": [
675
+ {
676
+ "internalType": "bool",
677
+ "name": "",
678
+ "type": "bool"
679
+ }
680
+ ],
681
+ "stateMutability": "nonpayable",
682
+ "type": "function"
683
+ },
684
+ {
685
+ "inputs": [
686
+ {
687
+ "internalType": "address",
688
+ "name": "operator",
689
+ "type": "address"
690
+ }
691
+ ],
692
+ "name": "authorizeOperator",
693
+ "outputs": [],
694
+ "stateMutability": "nonpayable",
695
+ "type": "function"
696
+ },
697
+ {
698
+ "inputs": [
699
+ {
700
+ "internalType": "address",
701
+ "name": "account",
702
+ "type": "address"
703
+ }
704
+ ],
705
+ "name": "balanceOf",
706
+ "outputs": [
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "balance",
710
+ "type": "uint256"
711
+ }
712
+ ],
713
+ "stateMutability": "view",
714
+ "type": "function"
715
+ },
716
+ {
717
+ "inputs": [
718
+ {
719
+ "internalType": "uint256",
720
+ "name": "amount",
721
+ "type": "uint256"
722
+ },
723
+ {
724
+ "internalType": "bytes",
725
+ "name": "data",
726
+ "type": "bytes"
727
+ }
728
+ ],
729
+ "name": "burn",
730
+ "outputs": [],
731
+ "stateMutability": "nonpayable",
732
+ "type": "function"
733
+ },
734
+ {
735
+ "inputs": [],
736
+ "name": "castrate",
737
+ "outputs": [],
738
+ "stateMutability": "nonpayable",
739
+ "type": "function"
740
+ },
741
+ {
742
+ "inputs": [
743
+ {
744
+ "internalType": "bytes32",
745
+ "name": "id",
746
+ "type": "bytes32"
747
+ },
748
+ {
749
+ "internalType": "bytes32[]",
750
+ "name": "data",
751
+ "type": "bytes32[]"
752
+ }
753
+ ],
754
+ "name": "createAgreement",
755
+ "outputs": [],
756
+ "stateMutability": "nonpayable",
757
+ "type": "function"
758
+ },
759
+ {
760
+ "inputs": [],
761
+ "name": "decimals",
762
+ "outputs": [
763
+ {
764
+ "internalType": "uint8",
765
+ "name": "",
766
+ "type": "uint8"
767
+ }
768
+ ],
769
+ "stateMutability": "pure",
770
+ "type": "function"
771
+ },
772
+ {
773
+ "inputs": [
774
+ {
775
+ "internalType": "address",
776
+ "name": "spender",
777
+ "type": "address"
778
+ },
779
+ {
780
+ "internalType": "uint256",
781
+ "name": "subtractedValue",
782
+ "type": "uint256"
783
+ }
784
+ ],
785
+ "name": "decreaseAllowance",
786
+ "outputs": [
787
+ {
788
+ "internalType": "bool",
789
+ "name": "",
790
+ "type": "bool"
791
+ }
792
+ ],
793
+ "stateMutability": "nonpayable",
794
+ "type": "function"
795
+ },
796
+ {
797
+ "inputs": [],
798
+ "name": "defaultOperators",
799
+ "outputs": [
800
+ {
801
+ "internalType": "address[]",
802
+ "name": "",
803
+ "type": "address[]"
804
+ }
805
+ ],
806
+ "stateMutability": "view",
807
+ "type": "function"
808
+ },
809
+ {
810
+ "inputs": [
811
+ {
812
+ "internalType": "uint256",
813
+ "name": "amount",
814
+ "type": "uint256"
815
+ }
816
+ ],
817
+ "name": "downgrade",
818
+ "outputs": [],
819
+ "stateMutability": "nonpayable",
820
+ "type": "function"
821
+ },
822
+ {
823
+ "inputs": [
824
+ {
825
+ "internalType": "address",
826
+ "name": "account",
827
+ "type": "address"
828
+ }
829
+ ],
830
+ "name": "getAccountActiveAgreements",
831
+ "outputs": [
832
+ {
833
+ "internalType": "contract ISuperAgreement[]",
834
+ "name": "",
835
+ "type": "address[]"
836
+ }
837
+ ],
838
+ "stateMutability": "view",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [
843
+ {
844
+ "internalType": "address",
845
+ "name": "agreementClass",
846
+ "type": "address"
847
+ },
848
+ {
849
+ "internalType": "bytes32",
850
+ "name": "id",
851
+ "type": "bytes32"
852
+ },
853
+ {
854
+ "internalType": "uint256",
855
+ "name": "dataLength",
856
+ "type": "uint256"
857
+ }
858
+ ],
859
+ "name": "getAgreementData",
860
+ "outputs": [
861
+ {
862
+ "internalType": "bytes32[]",
863
+ "name": "data",
864
+ "type": "bytes32[]"
865
+ }
866
+ ],
867
+ "stateMutability": "view",
868
+ "type": "function"
869
+ },
870
+ {
871
+ "inputs": [
872
+ {
873
+ "internalType": "address",
874
+ "name": "agreementClass",
875
+ "type": "address"
876
+ },
877
+ {
878
+ "internalType": "address",
879
+ "name": "account",
880
+ "type": "address"
881
+ },
882
+ {
883
+ "internalType": "uint256",
884
+ "name": "slotId",
885
+ "type": "uint256"
886
+ },
887
+ {
888
+ "internalType": "uint256",
889
+ "name": "dataLength",
890
+ "type": "uint256"
891
+ }
892
+ ],
893
+ "name": "getAgreementStateSlot",
894
+ "outputs": [
895
+ {
896
+ "internalType": "bytes32[]",
897
+ "name": "slotData",
898
+ "type": "bytes32[]"
899
+ }
900
+ ],
901
+ "stateMutability": "view",
902
+ "type": "function"
903
+ },
904
+ {
905
+ "inputs": [],
906
+ "name": "getCodeAddress",
907
+ "outputs": [
908
+ {
909
+ "internalType": "address",
910
+ "name": "codeAddress",
911
+ "type": "address"
912
+ }
913
+ ],
914
+ "stateMutability": "view",
915
+ "type": "function"
916
+ },
917
+ {
918
+ "inputs": [],
919
+ "name": "getHost",
920
+ "outputs": [
921
+ {
922
+ "internalType": "address",
923
+ "name": "host",
924
+ "type": "address"
925
+ }
926
+ ],
927
+ "stateMutability": "view",
928
+ "type": "function"
929
+ },
930
+ {
931
+ "inputs": [],
932
+ "name": "getUnderlyingToken",
933
+ "outputs": [
934
+ {
935
+ "internalType": "address",
936
+ "name": "",
937
+ "type": "address"
938
+ }
939
+ ],
940
+ "stateMutability": "view",
941
+ "type": "function"
942
+ },
943
+ {
944
+ "inputs": [],
945
+ "name": "granularity",
946
+ "outputs": [
947
+ {
948
+ "internalType": "uint256",
949
+ "name": "",
950
+ "type": "uint256"
951
+ }
952
+ ],
953
+ "stateMutability": "pure",
954
+ "type": "function"
955
+ },
956
+ {
957
+ "inputs": [
958
+ {
959
+ "internalType": "address",
960
+ "name": "spender",
961
+ "type": "address"
962
+ },
963
+ {
964
+ "internalType": "uint256",
965
+ "name": "addedValue",
966
+ "type": "uint256"
967
+ }
968
+ ],
969
+ "name": "increaseAllowance",
970
+ "outputs": [
971
+ {
972
+ "internalType": "bool",
973
+ "name": "",
974
+ "type": "bool"
975
+ }
976
+ ],
977
+ "stateMutability": "nonpayable",
978
+ "type": "function"
979
+ },
980
+ {
981
+ "inputs": [
982
+ {
983
+ "internalType": "contract IERC20",
984
+ "name": "underlyingToken",
985
+ "type": "address"
986
+ },
987
+ {
988
+ "internalType": "uint8",
989
+ "name": "underlyingDecimals",
990
+ "type": "uint8"
991
+ },
992
+ {
993
+ "internalType": "string",
994
+ "name": "n",
995
+ "type": "string"
996
+ },
997
+ {
998
+ "internalType": "string",
999
+ "name": "s",
1000
+ "type": "string"
1001
+ }
1002
+ ],
1003
+ "name": "initialize",
1004
+ "outputs": [],
1005
+ "stateMutability": "nonpayable",
1006
+ "type": "function"
1007
+ },
1008
+ {
1009
+ "inputs": [
1010
+ {
1011
+ "internalType": "address",
1012
+ "name": "account",
1013
+ "type": "address"
1014
+ },
1015
+ {
1016
+ "internalType": "uint256",
1017
+ "name": "timestamp",
1018
+ "type": "uint256"
1019
+ }
1020
+ ],
1021
+ "name": "isAccountCritical",
1022
+ "outputs": [
1023
+ {
1024
+ "internalType": "bool",
1025
+ "name": "isCritical",
1026
+ "type": "bool"
1027
+ }
1028
+ ],
1029
+ "stateMutability": "view",
1030
+ "type": "function"
1031
+ },
1032
+ {
1033
+ "inputs": [
1034
+ {
1035
+ "internalType": "address",
1036
+ "name": "account",
1037
+ "type": "address"
1038
+ }
1039
+ ],
1040
+ "name": "isAccountCriticalNow",
1041
+ "outputs": [
1042
+ {
1043
+ "internalType": "bool",
1044
+ "name": "isCritical",
1045
+ "type": "bool"
1046
+ }
1047
+ ],
1048
+ "stateMutability": "view",
1049
+ "type": "function"
1050
+ },
1051
+ {
1052
+ "inputs": [
1053
+ {
1054
+ "internalType": "address",
1055
+ "name": "account",
1056
+ "type": "address"
1057
+ },
1058
+ {
1059
+ "internalType": "uint256",
1060
+ "name": "timestamp",
1061
+ "type": "uint256"
1062
+ }
1063
+ ],
1064
+ "name": "isAccountSolvent",
1065
+ "outputs": [
1066
+ {
1067
+ "internalType": "bool",
1068
+ "name": "isSolvent",
1069
+ "type": "bool"
1070
+ }
1071
+ ],
1072
+ "stateMutability": "view",
1073
+ "type": "function"
1074
+ },
1075
+ {
1076
+ "inputs": [
1077
+ {
1078
+ "internalType": "address",
1079
+ "name": "account",
1080
+ "type": "address"
1081
+ }
1082
+ ],
1083
+ "name": "isAccountSolventNow",
1084
+ "outputs": [
1085
+ {
1086
+ "internalType": "bool",
1087
+ "name": "isSolvent",
1088
+ "type": "bool"
1089
+ }
1090
+ ],
1091
+ "stateMutability": "view",
1092
+ "type": "function"
1093
+ },
1094
+ {
1095
+ "inputs": [
1096
+ {
1097
+ "internalType": "address",
1098
+ "name": "operator",
1099
+ "type": "address"
1100
+ },
1101
+ {
1102
+ "internalType": "address",
1103
+ "name": "tokenHolder",
1104
+ "type": "address"
1105
+ }
1106
+ ],
1107
+ "name": "isOperatorFor",
1108
+ "outputs": [
1109
+ {
1110
+ "internalType": "bool",
1111
+ "name": "",
1112
+ "type": "bool"
1113
+ }
1114
+ ],
1115
+ "stateMutability": "view",
1116
+ "type": "function"
1117
+ },
1118
+ {
1119
+ "inputs": [
1120
+ {
1121
+ "internalType": "bytes32",
1122
+ "name": "id",
1123
+ "type": "bytes32"
1124
+ },
1125
+ {
1126
+ "internalType": "bytes",
1127
+ "name": "liquidationTypeData",
1128
+ "type": "bytes"
1129
+ },
1130
+ {
1131
+ "internalType": "address",
1132
+ "name": "liquidatorAccount",
1133
+ "type": "address"
1134
+ },
1135
+ {
1136
+ "internalType": "bool",
1137
+ "name": "useDefaultRewardAccount",
1138
+ "type": "bool"
1139
+ },
1140
+ {
1141
+ "internalType": "address",
1142
+ "name": "targetAccount",
1143
+ "type": "address"
1144
+ },
1145
+ {
1146
+ "internalType": "uint256",
1147
+ "name": "rewardAmount",
1148
+ "type": "uint256"
1149
+ },
1150
+ {
1151
+ "internalType": "int256",
1152
+ "name": "targetAccountBalanceDelta",
1153
+ "type": "int256"
1154
+ }
1155
+ ],
1156
+ "name": "makeLiquidationPayoutsV2",
1157
+ "outputs": [],
1158
+ "stateMutability": "nonpayable",
1159
+ "type": "function"
1160
+ },
1161
+ {
1162
+ "inputs": [],
1163
+ "name": "name",
1164
+ "outputs": [
1165
+ {
1166
+ "internalType": "string",
1167
+ "name": "",
1168
+ "type": "string"
1169
+ }
1170
+ ],
1171
+ "stateMutability": "view",
1172
+ "type": "function"
1173
+ },
1174
+ {
1175
+ "inputs": [
1176
+ {
1177
+ "internalType": "address",
1178
+ "name": "account",
1179
+ "type": "address"
1180
+ },
1181
+ {
1182
+ "internalType": "address",
1183
+ "name": "spender",
1184
+ "type": "address"
1185
+ },
1186
+ {
1187
+ "internalType": "uint256",
1188
+ "name": "amount",
1189
+ "type": "uint256"
1190
+ }
1191
+ ],
1192
+ "name": "operationApprove",
1193
+ "outputs": [],
1194
+ "stateMutability": "nonpayable",
1195
+ "type": "function"
1196
+ },
1197
+ {
1198
+ "inputs": [
1199
+ {
1200
+ "internalType": "address",
1201
+ "name": "account",
1202
+ "type": "address"
1203
+ },
1204
+ {
1205
+ "internalType": "uint256",
1206
+ "name": "amount",
1207
+ "type": "uint256"
1208
+ }
1209
+ ],
1210
+ "name": "operationDowngrade",
1211
+ "outputs": [],
1212
+ "stateMutability": "nonpayable",
1213
+ "type": "function"
1214
+ },
1215
+ {
1216
+ "inputs": [
1217
+ {
1218
+ "internalType": "address",
1219
+ "name": "account",
1220
+ "type": "address"
1221
+ },
1222
+ {
1223
+ "internalType": "address",
1224
+ "name": "spender",
1225
+ "type": "address"
1226
+ },
1227
+ {
1228
+ "internalType": "address",
1229
+ "name": "recipient",
1230
+ "type": "address"
1231
+ },
1232
+ {
1233
+ "internalType": "uint256",
1234
+ "name": "amount",
1235
+ "type": "uint256"
1236
+ }
1237
+ ],
1238
+ "name": "operationTransferFrom",
1239
+ "outputs": [],
1240
+ "stateMutability": "nonpayable",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [
1245
+ {
1246
+ "internalType": "address",
1247
+ "name": "account",
1248
+ "type": "address"
1249
+ },
1250
+ {
1251
+ "internalType": "uint256",
1252
+ "name": "amount",
1253
+ "type": "uint256"
1254
+ }
1255
+ ],
1256
+ "name": "operationUpgrade",
1257
+ "outputs": [],
1258
+ "stateMutability": "nonpayable",
1259
+ "type": "function"
1260
+ },
1261
+ {
1262
+ "inputs": [
1263
+ {
1264
+ "internalType": "address",
1265
+ "name": "account",
1266
+ "type": "address"
1267
+ },
1268
+ {
1269
+ "internalType": "uint256",
1270
+ "name": "amount",
1271
+ "type": "uint256"
1272
+ },
1273
+ {
1274
+ "internalType": "bytes",
1275
+ "name": "data",
1276
+ "type": "bytes"
1277
+ },
1278
+ {
1279
+ "internalType": "bytes",
1280
+ "name": "operatorData",
1281
+ "type": "bytes"
1282
+ }
1283
+ ],
1284
+ "name": "operatorBurn",
1285
+ "outputs": [],
1286
+ "stateMutability": "nonpayable",
1287
+ "type": "function"
1288
+ },
1289
+ {
1290
+ "inputs": [
1291
+ {
1292
+ "internalType": "address",
1293
+ "name": "sender",
1294
+ "type": "address"
1295
+ },
1296
+ {
1297
+ "internalType": "address",
1298
+ "name": "recipient",
1299
+ "type": "address"
1300
+ },
1301
+ {
1302
+ "internalType": "uint256",
1303
+ "name": "amount",
1304
+ "type": "uint256"
1305
+ },
1306
+ {
1307
+ "internalType": "bytes",
1308
+ "name": "data",
1309
+ "type": "bytes"
1310
+ },
1311
+ {
1312
+ "internalType": "bytes",
1313
+ "name": "operatorData",
1314
+ "type": "bytes"
1315
+ }
1316
+ ],
1317
+ "name": "operatorSend",
1318
+ "outputs": [],
1319
+ "stateMutability": "nonpayable",
1320
+ "type": "function"
1321
+ },
1322
+ {
1323
+ "inputs": [],
1324
+ "name": "proxiableUUID",
1325
+ "outputs": [
1326
+ {
1327
+ "internalType": "bytes32",
1328
+ "name": "",
1329
+ "type": "bytes32"
1330
+ }
1331
+ ],
1332
+ "stateMutability": "pure",
1333
+ "type": "function"
1334
+ },
1335
+ {
1336
+ "inputs": [
1337
+ {
1338
+ "internalType": "address",
1339
+ "name": "account",
1340
+ "type": "address"
1341
+ },
1342
+ {
1343
+ "internalType": "uint256",
1344
+ "name": "timestamp",
1345
+ "type": "uint256"
1346
+ }
1347
+ ],
1348
+ "name": "realtimeBalanceOf",
1349
+ "outputs": [
1350
+ {
1351
+ "internalType": "int256",
1352
+ "name": "availableBalance",
1353
+ "type": "int256"
1354
+ },
1355
+ {
1356
+ "internalType": "uint256",
1357
+ "name": "deposit",
1358
+ "type": "uint256"
1359
+ },
1360
+ {
1361
+ "internalType": "uint256",
1362
+ "name": "owedDeposit",
1363
+ "type": "uint256"
1364
+ }
1365
+ ],
1366
+ "stateMutability": "view",
1367
+ "type": "function"
1368
+ },
1369
+ {
1370
+ "inputs": [
1371
+ {
1372
+ "internalType": "address",
1373
+ "name": "account",
1374
+ "type": "address"
1375
+ }
1376
+ ],
1377
+ "name": "realtimeBalanceOfNow",
1378
+ "outputs": [
1379
+ {
1380
+ "internalType": "int256",
1381
+ "name": "availableBalance",
1382
+ "type": "int256"
1383
+ },
1384
+ {
1385
+ "internalType": "uint256",
1386
+ "name": "deposit",
1387
+ "type": "uint256"
1388
+ },
1389
+ {
1390
+ "internalType": "uint256",
1391
+ "name": "owedDeposit",
1392
+ "type": "uint256"
1393
+ },
1394
+ {
1395
+ "internalType": "uint256",
1396
+ "name": "timestamp",
1397
+ "type": "uint256"
1398
+ }
1399
+ ],
1400
+ "stateMutability": "view",
1401
+ "type": "function"
1402
+ },
1403
+ {
1404
+ "inputs": [
1405
+ {
1406
+ "internalType": "address",
1407
+ "name": "operator",
1408
+ "type": "address"
1409
+ }
1410
+ ],
1411
+ "name": "revokeOperator",
1412
+ "outputs": [],
1413
+ "stateMutability": "nonpayable",
1414
+ "type": "function"
1415
+ },
1416
+ {
1417
+ "inputs": [
1418
+ {
1419
+ "internalType": "address",
1420
+ "name": "account",
1421
+ "type": "address"
1422
+ },
1423
+ {
1424
+ "internalType": "address",
1425
+ "name": "spender",
1426
+ "type": "address"
1427
+ },
1428
+ {
1429
+ "internalType": "uint256",
1430
+ "name": "amount",
1431
+ "type": "uint256"
1432
+ }
1433
+ ],
1434
+ "name": "selfApproveFor",
1435
+ "outputs": [],
1436
+ "stateMutability": "nonpayable",
1437
+ "type": "function"
1438
+ },
1439
+ {
1440
+ "inputs": [
1441
+ {
1442
+ "internalType": "address",
1443
+ "name": "account",
1444
+ "type": "address"
1445
+ },
1446
+ {
1447
+ "internalType": "uint256",
1448
+ "name": "amount",
1449
+ "type": "uint256"
1450
+ },
1451
+ {
1452
+ "internalType": "bytes",
1453
+ "name": "userData",
1454
+ "type": "bytes"
1455
+ }
1456
+ ],
1457
+ "name": "selfBurn",
1458
+ "outputs": [],
1459
+ "stateMutability": "nonpayable",
1460
+ "type": "function"
1461
+ },
1462
+ {
1463
+ "inputs": [
1464
+ {
1465
+ "internalType": "address",
1466
+ "name": "account",
1467
+ "type": "address"
1468
+ },
1469
+ {
1470
+ "internalType": "uint256",
1471
+ "name": "amount",
1472
+ "type": "uint256"
1473
+ },
1474
+ {
1475
+ "internalType": "bytes",
1476
+ "name": "userData",
1477
+ "type": "bytes"
1478
+ }
1479
+ ],
1480
+ "name": "selfMint",
1481
+ "outputs": [],
1482
+ "stateMutability": "nonpayable",
1483
+ "type": "function"
1484
+ },
1485
+ {
1486
+ "inputs": [
1487
+ {
1488
+ "internalType": "address",
1489
+ "name": "holder",
1490
+ "type": "address"
1491
+ },
1492
+ {
1493
+ "internalType": "address",
1494
+ "name": "spender",
1495
+ "type": "address"
1496
+ },
1497
+ {
1498
+ "internalType": "address",
1499
+ "name": "recipient",
1500
+ "type": "address"
1501
+ },
1502
+ {
1503
+ "internalType": "uint256",
1504
+ "name": "amount",
1505
+ "type": "uint256"
1506
+ }
1507
+ ],
1508
+ "name": "selfTransferFrom",
1509
+ "outputs": [],
1510
+ "stateMutability": "nonpayable",
1511
+ "type": "function"
1512
+ },
1513
+ {
1514
+ "inputs": [
1515
+ {
1516
+ "internalType": "address",
1517
+ "name": "recipient",
1518
+ "type": "address"
1519
+ },
1520
+ {
1521
+ "internalType": "uint256",
1522
+ "name": "amount",
1523
+ "type": "uint256"
1524
+ },
1525
+ {
1526
+ "internalType": "bytes",
1527
+ "name": "data",
1528
+ "type": "bytes"
1529
+ }
1530
+ ],
1531
+ "name": "send",
1532
+ "outputs": [],
1533
+ "stateMutability": "nonpayable",
1534
+ "type": "function"
1535
+ },
1536
+ {
1537
+ "inputs": [
1538
+ {
1539
+ "internalType": "address",
1540
+ "name": "account",
1541
+ "type": "address"
1542
+ },
1543
+ {
1544
+ "internalType": "int256",
1545
+ "name": "delta",
1546
+ "type": "int256"
1547
+ }
1548
+ ],
1549
+ "name": "settleBalance",
1550
+ "outputs": [],
1551
+ "stateMutability": "nonpayable",
1552
+ "type": "function"
1553
+ },
1554
+ {
1555
+ "inputs": [],
1556
+ "name": "symbol",
1557
+ "outputs": [
1558
+ {
1559
+ "internalType": "string",
1560
+ "name": "",
1561
+ "type": "string"
1562
+ }
1563
+ ],
1564
+ "stateMutability": "view",
1565
+ "type": "function"
1566
+ },
1567
+ {
1568
+ "inputs": [
1569
+ {
1570
+ "internalType": "bytes32",
1571
+ "name": "id",
1572
+ "type": "bytes32"
1573
+ },
1574
+ {
1575
+ "internalType": "uint256",
1576
+ "name": "dataLength",
1577
+ "type": "uint256"
1578
+ }
1579
+ ],
1580
+ "name": "terminateAgreement",
1581
+ "outputs": [],
1582
+ "stateMutability": "nonpayable",
1583
+ "type": "function"
1584
+ },
1585
+ {
1586
+ "inputs": [],
1587
+ "name": "totalSupply",
1588
+ "outputs": [
1589
+ {
1590
+ "internalType": "uint256",
1591
+ "name": "",
1592
+ "type": "uint256"
1593
+ }
1594
+ ],
1595
+ "stateMutability": "view",
1596
+ "type": "function"
1597
+ },
1598
+ {
1599
+ "inputs": [
1600
+ {
1601
+ "internalType": "address",
1602
+ "name": "recipient",
1603
+ "type": "address"
1604
+ },
1605
+ {
1606
+ "internalType": "uint256",
1607
+ "name": "amount",
1608
+ "type": "uint256"
1609
+ }
1610
+ ],
1611
+ "name": "transfer",
1612
+ "outputs": [
1613
+ {
1614
+ "internalType": "bool",
1615
+ "name": "",
1616
+ "type": "bool"
1617
+ }
1618
+ ],
1619
+ "stateMutability": "nonpayable",
1620
+ "type": "function"
1621
+ },
1622
+ {
1623
+ "inputs": [
1624
+ {
1625
+ "internalType": "address",
1626
+ "name": "recipient",
1627
+ "type": "address"
1628
+ }
1629
+ ],
1630
+ "name": "transferAll",
1631
+ "outputs": [],
1632
+ "stateMutability": "nonpayable",
1633
+ "type": "function"
1634
+ },
1635
+ {
1636
+ "inputs": [
1637
+ {
1638
+ "internalType": "address",
1639
+ "name": "holder",
1640
+ "type": "address"
1641
+ },
1642
+ {
1643
+ "internalType": "address",
1644
+ "name": "recipient",
1645
+ "type": "address"
1646
+ },
1647
+ {
1648
+ "internalType": "uint256",
1649
+ "name": "amount",
1650
+ "type": "uint256"
1651
+ }
1652
+ ],
1653
+ "name": "transferFrom",
1654
+ "outputs": [
1655
+ {
1656
+ "internalType": "bool",
1657
+ "name": "",
1658
+ "type": "bool"
1659
+ }
1660
+ ],
1661
+ "stateMutability": "nonpayable",
1662
+ "type": "function"
1663
+ },
1664
+ {
1665
+ "inputs": [
1666
+ {
1667
+ "internalType": "bytes32",
1668
+ "name": "id",
1669
+ "type": "bytes32"
1670
+ },
1671
+ {
1672
+ "internalType": "bytes32[]",
1673
+ "name": "data",
1674
+ "type": "bytes32[]"
1675
+ }
1676
+ ],
1677
+ "name": "updateAgreementData",
1678
+ "outputs": [],
1679
+ "stateMutability": "nonpayable",
1680
+ "type": "function"
1681
+ },
1682
+ {
1683
+ "inputs": [
1684
+ {
1685
+ "internalType": "address",
1686
+ "name": "account",
1687
+ "type": "address"
1688
+ },
1689
+ {
1690
+ "internalType": "uint256",
1691
+ "name": "slotId",
1692
+ "type": "uint256"
1693
+ },
1694
+ {
1695
+ "internalType": "bytes32[]",
1696
+ "name": "slotData",
1697
+ "type": "bytes32[]"
1698
+ }
1699
+ ],
1700
+ "name": "updateAgreementStateSlot",
1701
+ "outputs": [],
1702
+ "stateMutability": "nonpayable",
1703
+ "type": "function"
1704
+ },
1705
+ {
1706
+ "inputs": [
1707
+ {
1708
+ "internalType": "address",
1709
+ "name": "newAddress",
1710
+ "type": "address"
1711
+ }
1712
+ ],
1713
+ "name": "updateCode",
1714
+ "outputs": [],
1715
+ "stateMutability": "nonpayable",
1716
+ "type": "function"
1717
+ },
1718
+ {
1719
+ "inputs": [
1720
+ {
1721
+ "internalType": "uint256",
1722
+ "name": "amount",
1723
+ "type": "uint256"
1724
+ }
1725
+ ],
1726
+ "name": "upgrade",
1727
+ "outputs": [],
1728
+ "stateMutability": "nonpayable",
1729
+ "type": "function"
1730
+ },
1731
+ {
1732
+ "inputs": [
1733
+ {
1734
+ "internalType": "address",
1735
+ "name": "to",
1736
+ "type": "address"
1737
+ },
1738
+ {
1739
+ "internalType": "uint256",
1740
+ "name": "amount",
1741
+ "type": "uint256"
1742
+ },
1743
+ {
1744
+ "internalType": "bytes",
1745
+ "name": "data",
1746
+ "type": "bytes"
1747
+ }
1748
+ ],
1749
+ "name": "upgradeTo",
1750
+ "outputs": [],
1751
+ "stateMutability": "nonpayable",
1752
+ "type": "function"
1753
+ }
1754
+ ],
1755
+ "bytecode": "0x60a06040523480156200001157600080fd5b5060405162003b2538038062003b25833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051613a2f620000f66000396000818161033d015281816108fc0152818161097801528181610c1e01528181610d1401528181610de301528181610ffe015281816110bd0152818161126001528181611609015281816116e101528181611c1801528181611cbf0152818161298f0152612af90152613a2f6000f3fe608060405234801561001057600080fd5b50600436106102725760003560e01c806306e485381461027757806306fdde0314610295578063090c415e146102aa578063095ea7b3146102bf57806311bcc81e146102e257806312a6a3f8146102f057806316d055d61461030357806318160ddd146103165780631863e8091461032857806320bc44251461033b57806323b872dd1461036a578063245887fc1461037d57806327048397146103905780632ec8eec7146103a3578063313ce567146103d6578063386fa221146103e557806339509351146103f857806341b706be1461040b57806342fe09801461041e57806345977d03146102e257806346951954146104315780634b61cc331461044457806350d75d251461046457806352d1902d1461046c578063556f0dc7146104745780635b9d09cc1461047b57806362aa52871461048957806362ad1b831461049c57806366a12fb6146104af5780636c2d9f2f146104c257806370a08231146104d557806379359f6f146104e8578063959b8c3f146104fb57806395d89b411461050e5780639903ad38146105165780639bd9bbc61461051e5780639d87674114610531578063a1b2bf8b14610544578063a3a7e7f314610557578063a457c2d71461056a578063a9059cbb1461057d578063b84cdd4a14610590578063bb0d196e146105a3578063c68d4283146105b6578063ca7894641461037d578063cf97256d146105c9578063d95b6371146105dc578063d9d078d6146105ef578063dd62ed3e14610602578063eb3537cc1461063b578063ee719bc814610669578063fad8b32a1461067a578063fc673c4f1461068d578063fe9d93031461069b575b600080fd5b61027f6106a9565b60405161028c9190612bf0565b60405180910390f35b61029d6106ba565b60405161028c9190612c83565b6102bd6102b8366004612cf6565b61074c565b005b6102d26102cd366004612d51565b610800565b604051901515815260200161028c565b6102bd610272366004612d7d565b6102bd6102fe366004612d96565b610817565b6102bd610311366004612de1565b6108fa565b6003545b60405190815260200161028c565b6102bd610336366004612ef5565b610961565b7f00000000000000000000000000000000000000000000000000000000000000005b60405161028c9190612f87565b6102d2610378366004612f9b565b610c06565b6102bd61038b366004612d51565b610c1c565b6102bd61039e366004612fdc565b610c70565b6103b66103b1366004612ffe565b610d0c565b60408051948552602085019390935291830152606082015260800161028c565b6040516012815260200161028c565b61027f6103f3366004612ffe565b610daf565b6102d2610406366004612d51565b610e52565b6102bd610419366004612de1565b610e8e565b6102bd61042c36600461305c565b610eba565b6102bd61043f366004612ffe565b610ff3565b6104576104523660046130f6565b611048565b60405161028c919061313c565b61035d61108d565b61031a611097565b600161031a565b6102bd610272366004613174565b6102bd610497366004612f9b565b6110bb565b6102bd6104aa3660046131c3565b61111f565b6102bd6104bd366004612f9b565b6111cd565b6104576104d0366004613261565b6111ed565b61031a6104e3366004612ffe565b61122f565b6102d26104f6366004612ffe565b611258565b6102bd610509366004612ffe565b6112e0565b61029d611331565b6102bd611340565b6102bd61052c366004613174565b6113f7565b6102bd61053f366004613296565b611451565b6102bd610552366004612d96565b611491565b6102bd610565366004612ffe565b61153b565b6102d2610578366004612d51565b611553565b6102d261058b366004612d51565b6115a2565b6102d261059e366004612d51565b6115b0565b6102d26105b1366004612ffe565b611601565b6102bd6105c4366004613296565b611689565b6102bd6105d7366004612d51565b6116ca565b6102d26105ea3660046132ee565b6117b8565b6102d26105fd366004612d51565b6117c6565b61031a6106103660046132ee565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b61064e610649366004612d51565b6117e0565b6040805193845260208401929092529082015260600161028c565b600e546001600160a01b031661035d565b6102bd610688366004612ffe565b61190f565b6102bd610272366004613327565b6102bd61027236600461336e565b60606106b56012611960565b905090565b6060600f80546106c9906133ac565b80601f01602080910402602001604051908101604052809291908181526020018280546106f5906133ac565b80156107425780601f1061071757610100808354040283529160200191610742565b820191906000526020600020905b81548152906001019060200180831161072557829003601f168201915b5050505050905090565b6000338585604051602001610763939291906133e6565b6040516020818303038152906040528051906020012090506107b8818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119c692505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d5985906020015b60405180910390a35050505050565b600061080d338484611a07565b5060015b92915050565b604051339060009061082f908390879060200161342f565b60408051601f19818403018152919052805160209091012090506108538184611ab7565b156108715760405163782a90fb60e11b815260040160405180910390fd5b6108ae818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119c692505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d8686866040516108eb9392919061346c565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633141580610930575060005b1561094e5760405163c51efddd60e01b815260040160405180910390fd5b61095a84848484611af3565b5050505050565b604051632329212160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638ca48484906109ad903390600401612f87565b602060405180830381865afa1580156109ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ee91906134ad565b610a0b5760405163327fd99160e21b815260040160405180910390fd5b6000610a15611c13565b90506001600160a01b038116610a285750845b600085610a355786610a37565b815b905060008313610ad457610a4a836134e0565b610a5385611d52565b14610a6057610a606134fc565b610a6984611d52565b6001600160a01b03821660009081526002602052604081208054909190610a91908490613512565b90915550506001600160a01b03851660009081526002602052604081208054859290610abe908490613512565b90915550610acf9050858286611dc0565b610b9e565b8515610ae257610ae26134fc565b82610aec85611d52565b610af69190613512565b6001600160a01b03831660009081526002602052604081208054909190610b1e90849061353a565b90915550610b2d905084611d52565b6001600160a01b03881660009081526002602052604081208054909190610b55908490613512565b90915550506001600160a01b03851660009081526002602052604081208054859290610b82908490613512565b90915550610b939050828886611dc0565b610b9e828685611dc0565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610bf395949392919061355a565b60405180910390a4505050505050505050565b6000610c1433858585611af3565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633141580610c52575060005b156102725760405163c51efddd60e01b815260040160405180910390fd5b6040513390600090610c88908390869060200161342f565b604051602081830303815290604052805190602001209050610caa8184611ab7565b610cc75760405163dae1880960e01b815260040160405180910390fd5b610cd18184611df3565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190613598565b9050610da085826117e0565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015610e2a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261081191908101906135b1565b3360008181526011602090815260408083206001600160a01b0387168452909152812054909161080d918590610e89908690613662565b611a07565b333014610eae57604051630fff4cc960e31b815260040160405180910390fd5b61095a83858484611af3565b600054610100900460ff1615808015610eda5750600054600160ff909116105b80610efb5750610ee930611e14565b158015610efb575060005460ff166001145b610f205760405162461bcd60e51b8152600401610f1790613675565b60405180910390fd5b6000805460ff191660011790558015610f43576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610f78858783613711565b506010610f86838583613711565b50610f9030611e23565b60405160008082529081906000805160206139ad8339815191529060200160405180910390a38015610fea576000805461ff00191690556040516001815260008051602061398d8339815191529060200160405180910390a15b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461103c5760405163263dcdc160e21b815260040160405180910390fd5b61104581611f39565b50565b60606000858585604051602001611061939291906133e6565b604051602081830303815290604052805190602001209050611083818461210b565b9695505050505050565b60006106b561219a565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001990565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331415806110f1575060005b1561110f5760405163c51efddd60e01b815260040160405180910390fd5b61111a838383611a07565b505050565b3361112c6012828a6121ad565b6111495760405163f7f0222760e01b815260040160405180910390fd5b6111c38189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525060019250612256915050565b5050505050505050565b33301461110f57604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161120492919061342f565b604051602081830303815290604052805190602001209050611226818461210b565b95945050505050565b60008061123b83610d0c565b50505090506000811261124e5780611251565b60005b9392505050565b6000610811827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190613598565b336112ed601282846122cf565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b6060601080546106c9906133ac565b600054610100900460ff16158080156113605750600054600160ff909116105b80611381575061136f30611e14565b158015611381575060005460ff166001145b61139d5760405162461bcd60e51b8152600401610f1790613675565b6000805460ff1916600117905580156113c0576000805461ff0019166101001790555b8015611045576000805461ff00191690556040516001815260008051602061398d833981519152906020015b60405180910390a150565b61144b3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506122569050565b50505050565b33301461147157604051630fff4cc960e31b815260040160405180910390fd5b60408051600081526020810190915261111a9033908590859085906123d3565b60405133906000906114a9908390879060200161342f565b6040516020818303038152906040528051906020012090506114fe818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119c692505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca8686866040516108eb9392919061346c565b61154f33338361154a3361122f565b611af3565b5050565b600061080d3384610e89856040518060600160405280602a8152602001613963602a91393360009081526011602090815260408083206001600160a01b038d168452909152902054919061248e565b600061125133338585611af3565b6000806000806115c086866117e0565b92509250925060006115e88284116115d9576000611d52565b6115e383856137d0565b611d52565b6115f29085613512565b60001315979650505050505050565b6000610811827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611665573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190613598565b3330146116a957604051630fff4cc960e31b815260040160405180910390fd5b6040805160008082526020820190925261111a9133918691869186906124ba565b604051632329212160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638ca4848490611716903390600401612f87565b602060405180830381865afa158015611733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175791906134ad565b6117745760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054611798908290613512565b6001600160a01b0390921660009081526002602052604090209190915550565b6000611251601284846121ad565b6000806117d384846117e0565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061180586610daf565b905060005b815181101561190657600080600084848151811061182a5761182a6137e3565b60200260200101516001600160a01b0316639b2e48bc308c8c6040518463ffffffff1660e01b8152600401611861939291906137f9565b606060405180830381865afa15801561187e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a2919061381d565b919450925090506118b38288613662565b96506118bf8187613662565b95506118dc8183116118d2576000611d52565b6115e382846137d0565b6118e6848a613512565b6118f0919061353a565b9750505050806118ff9061384b565b905061180a565b50509250925092565b3361191c60128284612582565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156119ba57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161199c575b50505050509050919050565b60005b815181101561111a5760008282815181106119e6576119e66137e3565b6020026020010151905080828501555080611a009061384b565b90506119c9565b6001600160a01b038316611a2e57604051638163862760e01b815260040160405180910390fd5b6001600160a01b038216611a55576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000805b82811015611ae957838101548015611ad857600192505050610811565b50611ae28161384b565b9050611abb565b5060009392505050565b60006001600160a01b038416611b1c5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038316611b435760405163e219bd3960e01b815260040160405180910390fd5b6000339050611b7481868686604051806020016040528060008152506040518060200160405280600081525061267a565b846001600160a01b0316866001600160a01b031614611c0757611c078587610e89866040518060600160405280602d81526020016139cd602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b031681526020019081526020016000205461248e9092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c989190613864565b604051638369a0f160e01b81529091506001600160a01b03821690638369a0f190611d0b907f00000000000000000000000000000000000000000000000000000000000000009030907f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09906004016137f9565b602060405180830381865afa158015611d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4c9190613864565b91505090565b60006001600160ff1b03821115611dbc5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610f17565b5090565b816001600160a01b0316836001600160a01b03166000805160206139ad83398151915283604051611aaa91815260200190565b60005b8181101561111a57600083820155611e0d8161384b565b9050611df6565b6001600160a01b03163b151590565b6040516329965a1d60e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90611e7e9084907fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054903090600401613881565b600060405180830381600087803b158015611e9857600080fd5b505af1158015611eac573d6000803e3d6000fd5b50506040516329965a1d60e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150611f0b9084907faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a903090600401613881565b600060405180830381600087803b158015611f2557600080fd5b505af115801561095a573d6000803e3d6000fd5b6000611f4361219a565b6001600160a01b031603611f995760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610f17565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffb9190613598565b612003611097565b1461205c5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610f17565b6001600160a01b03811630036120b05760405162461bcd60e51b815260206004820152601960248201527805555505350726f786961626c653a2070726f7879206c6f6f7603c1b6044820152606401610f17565b6120c68160008051602061394383398151915255565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc6120ef611097565b604080519182526001600160a01b0384166020830152016113ec565b6060816001600160401b0381111561212557612125612e32565b60405190808252806020026020018201604052801561214e578160200160208202803683370190505b50905060005b8281101561219357600081850154905080838381518110612177576121776137e3565b60209081029190910101525061218c8161384b565b9050612154565b5092915050565b6000805160206139438339815191525490565b6000816001600160a01b0316836001600160a01b0316148061221c57506001600160a01b038316600090815260018501602052604090205460ff16801561221c57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610c1457506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661227d5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166122a45760405163e219bd3960e01b815260040160405180910390fd5b6122b2878787878787612719565b6122c087878787878761267a565b610fea87878787878787612838565b806001600160a01b0316826001600160a01b0316036123465760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401610f17565b6001600160a01b038116600090815260018401602052604090205460ff161561239c576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b0384166123fa57604051632e8aac6160e21b815260040160405180910390fd5b61240985856000868686612719565b6124138484612987565b836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409885858560405161245a939291906138a4565b60405180910390a36040518381526000906001600160a01b038616906000805160206139ad833981519152906020016107f1565b600081848411156124b25760405162461bcd60e51b8152600401610f179190612c83565b505050900390565b6001600160a01b0385166124e157604051630d24315760e01b815260040160405180910390fd5b6124eb8585612a97565b6124fb8660008787868689612838565b846001600160a01b0316866001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d868585604051612542939291906138a4565b60405180910390a36040518481526001600160a01b038616906000906000805160206139ad833981519152906020015b60405180910390a3505050505050565b336001600160a01b038216036125ed5760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401610f17565b6001600160a01b038116600090815260018401602052604090205460ff1615612647576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b61268d858561268886611d52565b612af1565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516126de939291906138a4565b60405180910390a4836001600160a01b0316856001600160a01b03166000805160206139ad8339815191528560405161257291815260200190565b60405163555ddc6560e11b8152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca906127759089907f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895906004016138cf565b602060405180830381865afa158015612792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127b69190613864565b90506001600160a01b03811615610fea57604051633ad5cbc160e11b81526001600160a01b038216906375ab9782906127fd908a908a908a908a908a908a906004016138e8565b600060405180830381600087803b15801561281757600080fd5b505af115801561282b573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b8152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca906128949089907fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b906004016138cf565b602060405180830381865afa1580156128b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d59190613864565b90506001600160a01b03811615612951576040516223de2960e01b81526001600160a01b038216906223de299061291a908b908b908b908b908b908b906004016138e8565b600060405180830381600087803b15801561293457600080fd5b505af1158015612948573d6000803e3d6000fd5b505050506111c3565b81156111c357612969866001600160a01b0316611e14565b156111c35760405163fe737d0560e01b815260040160405180910390fd5b6000612a0f837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129eb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106499190613598565b50509050612a1c82611d52565b811215612a3c5760405163043b37d160e21b815260040160405180910390fd5b612a4582611d52565b6001600160a01b038416600090815260026020526040902054612a68919061353a565b6001600160a01b038416600090815260026020526040902055600354612a8f9083906137d0565b600355505050565b612aa081611d52565b6001600160a01b038316600090815260026020526040902054612ac39190613512565b6001600160a01b038316600090815260026020526040902055600354612aea908290613662565b6003555050565b6000612b55847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129eb573d6000803e3d6000fd5b5050905081811215612b7a57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054612b9e90839061353a565b6001600160a01b038086166000908152600260205260408082209390935590851681522054612bce908390613512565b6001600160a01b03909316600090815260026020526040902092909255505050565b6020808252825182820181905260009190848201906040850190845b81811015612c315783516001600160a01b031683529284019291840191600101612c0c565b50909695505050505050565b6000815180845260005b81811015612c6357602081850181015186830182015201612c47565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006112516020830184612c3d565b6001600160a01b038116811461104557600080fd5b60008083601f840112612cbd57600080fd5b5081356001600160401b03811115612cd457600080fd5b6020830191508360208260051b8501011115612cef57600080fd5b9250929050565b60008060008060608587031215612d0c57600080fd5b8435612d1781612c96565b93506020850135925060408501356001600160401b03811115612d3957600080fd5b612d4587828801612cab565b95989497509550505050565b60008060408385031215612d6457600080fd5b8235612d6f81612c96565b946020939093013593505050565b600060208284031215612d8f57600080fd5b5035919050565b600080600060408486031215612dab57600080fd5b8335925060208401356001600160401b03811115612dc857600080fd5b612dd486828701612cab565b9497909650939450505050565b60008060008060808587031215612df757600080fd5b8435612e0281612c96565b93506020850135612e1281612c96565b92506040850135612e2281612c96565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612e7057612e70612e32565b604052919050565b600082601f830112612e8957600080fd5b81356001600160401b03811115612ea257612ea2612e32565b612eb5601f8201601f1916602001612e48565b818152846020838601011115612eca57600080fd5b816020850160208301376000918101602001919091529392505050565b801515811461104557600080fd5b600080600080600080600060e0888a031215612f1057600080fd5b8735965060208801356001600160401b03811115612f2d57600080fd5b612f398a828b01612e78565b9650506040880135612f4a81612c96565b94506060880135612f5a81612ee7565b93506080880135612f6a81612c96565b9699959850939692959460a0840135945060c09093013592915050565b6001600160a01b0391909116815260200190565b600080600060608486031215612fb057600080fd5b8335612fbb81612c96565b92506020840135612fcb81612c96565b929592945050506040919091013590565b60008060408385031215612fef57600080fd5b50508035926020909101359150565b60006020828403121561301057600080fd5b813561125181612c96565b60008083601f84011261302d57600080fd5b5081356001600160401b0381111561304457600080fd5b602083019150836020828501011115612cef57600080fd5b6000806000806000806080878903121561307557600080fd5b863561308081612c96565b9550602087013560ff8116811461309657600080fd5b945060408701356001600160401b03808211156130b257600080fd5b6130be8a838b0161301b565b909650945060608901359150808211156130d757600080fd5b506130e489828a0161301b565b979a9699509497509295939492505050565b6000806000806080858703121561310c57600080fd5b843561311781612c96565b9350602085013561312781612c96565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015612c3157835183529284019291840191600101613158565b6000806000806060858703121561318a57600080fd5b843561319581612c96565b93506020850135925060408501356001600160401b038111156131b757600080fd5b612d458782880161301b565b600080600080600080600060a0888a0312156131de57600080fd5b87356131e981612c96565b965060208801356131f981612c96565b95506040880135945060608801356001600160401b038082111561321c57600080fd5b6132288b838c0161301b565b909650945060808a013591508082111561324157600080fd5b5061324e8a828b0161301b565b989b979a50959850939692959293505050565b60008060006060848603121561327657600080fd5b833561328181612c96565b95602085013595506040909401359392505050565b6000806000606084860312156132ab57600080fd5b83356132b681612c96565b92506020840135915060408401356001600160401b038111156132d857600080fd5b6132e486828701612e78565b9150509250925092565b6000806040838503121561330157600080fd5b823561330c81612c96565b9150602083013561331c81612c96565b809150509250929050565b6000806000806000806080878903121561334057600080fd5b863561334b81612c96565b95506020870135945060408701356001600160401b03808211156130b257600080fd5b60008060006040848603121561338357600080fd5b8335925060208401356001600160401b038111156133a057600080fd5b612dd48682870161301b565b600181811c908216806133c057607f821691505b6020821081036133e057634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561349357600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156134bf57600080fd5b815161125181612ee7565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016134f5576134f56134ca565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715613532576135326134ca565b505092915050565b8181036000831280158383131683831282161715612193576121936134ca565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061358d60a0830184612c3d565b979650505050505050565b6000602082840312156135aa57600080fd5b5051919050565b600060208083850312156135c457600080fd5b82516001600160401b03808211156135db57600080fd5b818501915085601f8301126135ef57600080fd5b81518181111561360157613601612e32565b8060051b9150613612848301612e48565b818152918301840191848101908884111561362c57600080fd5b938501935b83851015613656578451925061364683612c96565b8282529385019390850190613631565b98975050505050505050565b80820180821115610811576108116134ca565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561111a57600081815260208120601f850160051c810160208610156136ea5750805b601f850160051c820191505b81811015613709578281556001016136f6565b505050505050565b6001600160401b0383111561372857613728612e32565b61373c8361373683546133ac565b836136c3565b6000601f84116001811461377057600085156137585750838201355b600019600387901b1c1916600186901b17835561095a565b600083815260209020601f19861690835b828110156137a15786850135825560209485019460019092019101613781565b50868210156137be5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81810381811115610811576108116134ca565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b60008060006060848603121561383257600080fd5b8351925060208401519150604084015190509250925092565b60006001820161385d5761385d6134ca565b5060010190565b60006020828403121561387657600080fd5b815161125181612c96565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8381526060602082015260006138bd6060830185612c3d565b82810360408401526110838185612c3d565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c06080820181905260009061392390830185612c3d565b82810360a08401526139358185612c3d565b999850505050505050505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a3ceb0a4b5a950a73c147d1888169ed6b02cafffdbae69273071be330a5086f964736f6c63430008100033",
1756
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102725760003560e01c806306e485381461027757806306fdde0314610295578063090c415e146102aa578063095ea7b3146102bf57806311bcc81e146102e257806312a6a3f8146102f057806316d055d61461030357806318160ddd146103165780631863e8091461032857806320bc44251461033b57806323b872dd1461036a578063245887fc1461037d57806327048397146103905780632ec8eec7146103a3578063313ce567146103d6578063386fa221146103e557806339509351146103f857806341b706be1461040b57806342fe09801461041e57806345977d03146102e257806346951954146104315780634b61cc331461044457806350d75d251461046457806352d1902d1461046c578063556f0dc7146104745780635b9d09cc1461047b57806362aa52871461048957806362ad1b831461049c57806366a12fb6146104af5780636c2d9f2f146104c257806370a08231146104d557806379359f6f146104e8578063959b8c3f146104fb57806395d89b411461050e5780639903ad38146105165780639bd9bbc61461051e5780639d87674114610531578063a1b2bf8b14610544578063a3a7e7f314610557578063a457c2d71461056a578063a9059cbb1461057d578063b84cdd4a14610590578063bb0d196e146105a3578063c68d4283146105b6578063ca7894641461037d578063cf97256d146105c9578063d95b6371146105dc578063d9d078d6146105ef578063dd62ed3e14610602578063eb3537cc1461063b578063ee719bc814610669578063fad8b32a1461067a578063fc673c4f1461068d578063fe9d93031461069b575b600080fd5b61027f6106a9565b60405161028c9190612bf0565b60405180910390f35b61029d6106ba565b60405161028c9190612c83565b6102bd6102b8366004612cf6565b61074c565b005b6102d26102cd366004612d51565b610800565b604051901515815260200161028c565b6102bd610272366004612d7d565b6102bd6102fe366004612d96565b610817565b6102bd610311366004612de1565b6108fa565b6003545b60405190815260200161028c565b6102bd610336366004612ef5565b610961565b7f00000000000000000000000000000000000000000000000000000000000000005b60405161028c9190612f87565b6102d2610378366004612f9b565b610c06565b6102bd61038b366004612d51565b610c1c565b6102bd61039e366004612fdc565b610c70565b6103b66103b1366004612ffe565b610d0c565b60408051948552602085019390935291830152606082015260800161028c565b6040516012815260200161028c565b61027f6103f3366004612ffe565b610daf565b6102d2610406366004612d51565b610e52565b6102bd610419366004612de1565b610e8e565b6102bd61042c36600461305c565b610eba565b6102bd61043f366004612ffe565b610ff3565b6104576104523660046130f6565b611048565b60405161028c919061313c565b61035d61108d565b61031a611097565b600161031a565b6102bd610272366004613174565b6102bd610497366004612f9b565b6110bb565b6102bd6104aa3660046131c3565b61111f565b6102bd6104bd366004612f9b565b6111cd565b6104576104d0366004613261565b6111ed565b61031a6104e3366004612ffe565b61122f565b6102d26104f6366004612ffe565b611258565b6102bd610509366004612ffe565b6112e0565b61029d611331565b6102bd611340565b6102bd61052c366004613174565b6113f7565b6102bd61053f366004613296565b611451565b6102bd610552366004612d96565b611491565b6102bd610565366004612ffe565b61153b565b6102d2610578366004612d51565b611553565b6102d261058b366004612d51565b6115a2565b6102d261059e366004612d51565b6115b0565b6102d26105b1366004612ffe565b611601565b6102bd6105c4366004613296565b611689565b6102bd6105d7366004612d51565b6116ca565b6102d26105ea3660046132ee565b6117b8565b6102d26105fd366004612d51565b6117c6565b61031a6106103660046132ee565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b61064e610649366004612d51565b6117e0565b6040805193845260208401929092529082015260600161028c565b600e546001600160a01b031661035d565b6102bd610688366004612ffe565b61190f565b6102bd610272366004613327565b6102bd61027236600461336e565b60606106b56012611960565b905090565b6060600f80546106c9906133ac565b80601f01602080910402602001604051908101604052809291908181526020018280546106f5906133ac565b80156107425780601f1061071757610100808354040283529160200191610742565b820191906000526020600020905b81548152906001019060200180831161072557829003601f168201915b5050505050905090565b6000338585604051602001610763939291906133e6565b6040516020818303038152906040528051906020012090506107b8818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119c692505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d5985906020015b60405180910390a35050505050565b600061080d338484611a07565b5060015b92915050565b604051339060009061082f908390879060200161342f565b60408051601f19818403018152919052805160209091012090506108538184611ab7565b156108715760405163782a90fb60e11b815260040160405180910390fd5b6108ae818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119c692505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d8686866040516108eb9392919061346c565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633141580610930575060005b1561094e5760405163c51efddd60e01b815260040160405180910390fd5b61095a84848484611af3565b5050505050565b604051632329212160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638ca48484906109ad903390600401612f87565b602060405180830381865afa1580156109ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ee91906134ad565b610a0b5760405163327fd99160e21b815260040160405180910390fd5b6000610a15611c13565b90506001600160a01b038116610a285750845b600085610a355786610a37565b815b905060008313610ad457610a4a836134e0565b610a5385611d52565b14610a6057610a606134fc565b610a6984611d52565b6001600160a01b03821660009081526002602052604081208054909190610a91908490613512565b90915550506001600160a01b03851660009081526002602052604081208054859290610abe908490613512565b90915550610acf9050858286611dc0565b610b9e565b8515610ae257610ae26134fc565b82610aec85611d52565b610af69190613512565b6001600160a01b03831660009081526002602052604081208054909190610b1e90849061353a565b90915550610b2d905084611d52565b6001600160a01b03881660009081526002602052604081208054909190610b55908490613512565b90915550506001600160a01b03851660009081526002602052604081208054859290610b82908490613512565b90915550610b939050828886611dc0565b610b9e828685611dc0565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610bf395949392919061355a565b60405180910390a4505050505050505050565b6000610c1433858585611af3565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633141580610c52575060005b156102725760405163c51efddd60e01b815260040160405180910390fd5b6040513390600090610c88908390869060200161342f565b604051602081830303815290604052805190602001209050610caa8184611ab7565b610cc75760405163dae1880960e01b815260040160405180910390fd5b610cd18184611df3565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190613598565b9050610da085826117e0565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015610e2a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261081191908101906135b1565b3360008181526011602090815260408083206001600160a01b0387168452909152812054909161080d918590610e89908690613662565b611a07565b333014610eae57604051630fff4cc960e31b815260040160405180910390fd5b61095a83858484611af3565b600054610100900460ff1615808015610eda5750600054600160ff909116105b80610efb5750610ee930611e14565b158015610efb575060005460ff166001145b610f205760405162461bcd60e51b8152600401610f1790613675565b60405180910390fd5b6000805460ff191660011790558015610f43576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610f78858783613711565b506010610f86838583613711565b50610f9030611e23565b60405160008082529081906000805160206139ad8339815191529060200160405180910390a38015610fea576000805461ff00191690556040516001815260008051602061398d8339815191529060200160405180910390a15b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461103c5760405163263dcdc160e21b815260040160405180910390fd5b61104581611f39565b50565b60606000858585604051602001611061939291906133e6565b604051602081830303815290604052805190602001209050611083818461210b565b9695505050505050565b60006106b561219a565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001990565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331415806110f1575060005b1561110f5760405163c51efddd60e01b815260040160405180910390fd5b61111a838383611a07565b505050565b3361112c6012828a6121ad565b6111495760405163f7f0222760e01b815260040160405180910390fd5b6111c38189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525060019250612256915050565b5050505050505050565b33301461110f57604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161120492919061342f565b604051602081830303815290604052805190602001209050611226818461210b565b95945050505050565b60008061123b83610d0c565b50505090506000811261124e5780611251565b60005b9392505050565b6000610811827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190613598565b336112ed601282846122cf565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b6060601080546106c9906133ac565b600054610100900460ff16158080156113605750600054600160ff909116105b80611381575061136f30611e14565b158015611381575060005460ff166001145b61139d5760405162461bcd60e51b8152600401610f1790613675565b6000805460ff1916600117905580156113c0576000805461ff0019166101001790555b8015611045576000805461ff00191690556040516001815260008051602061398d833981519152906020015b60405180910390a150565b61144b3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506122569050565b50505050565b33301461147157604051630fff4cc960e31b815260040160405180910390fd5b60408051600081526020810190915261111a9033908590859085906123d3565b60405133906000906114a9908390879060200161342f565b6040516020818303038152906040528051906020012090506114fe818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119c692505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca8686866040516108eb9392919061346c565b61154f33338361154a3361122f565b611af3565b5050565b600061080d3384610e89856040518060600160405280602a8152602001613963602a91393360009081526011602090815260408083206001600160a01b038d168452909152902054919061248e565b600061125133338585611af3565b6000806000806115c086866117e0565b92509250925060006115e88284116115d9576000611d52565b6115e383856137d0565b611d52565b6115f29085613512565b60001315979650505050505050565b6000610811827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611665573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190613598565b3330146116a957604051630fff4cc960e31b815260040160405180910390fd5b6040805160008082526020820190925261111a9133918691869186906124ba565b604051632329212160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638ca4848490611716903390600401612f87565b602060405180830381865afa158015611733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175791906134ad565b6117745760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054611798908290613512565b6001600160a01b0390921660009081526002602052604090209190915550565b6000611251601284846121ad565b6000806117d384846117e0565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061180586610daf565b905060005b815181101561190657600080600084848151811061182a5761182a6137e3565b60200260200101516001600160a01b0316639b2e48bc308c8c6040518463ffffffff1660e01b8152600401611861939291906137f9565b606060405180830381865afa15801561187e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a2919061381d565b919450925090506118b38288613662565b96506118bf8187613662565b95506118dc8183116118d2576000611d52565b6115e382846137d0565b6118e6848a613512565b6118f0919061353a565b9750505050806118ff9061384b565b905061180a565b50509250925092565b3361191c60128284612582565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156119ba57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161199c575b50505050509050919050565b60005b815181101561111a5760008282815181106119e6576119e66137e3565b6020026020010151905080828501555080611a009061384b565b90506119c9565b6001600160a01b038316611a2e57604051638163862760e01b815260040160405180910390fd5b6001600160a01b038216611a55576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000805b82811015611ae957838101548015611ad857600192505050610811565b50611ae28161384b565b9050611abb565b5060009392505050565b60006001600160a01b038416611b1c5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038316611b435760405163e219bd3960e01b815260040160405180910390fd5b6000339050611b7481868686604051806020016040528060008152506040518060200160405280600081525061267a565b846001600160a01b0316866001600160a01b031614611c0757611c078587610e89866040518060600160405280602d81526020016139cd602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b031681526020019081526020016000205461248e9092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c989190613864565b604051638369a0f160e01b81529091506001600160a01b03821690638369a0f190611d0b907f00000000000000000000000000000000000000000000000000000000000000009030907f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09906004016137f9565b602060405180830381865afa158015611d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4c9190613864565b91505090565b60006001600160ff1b03821115611dbc5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610f17565b5090565b816001600160a01b0316836001600160a01b03166000805160206139ad83398151915283604051611aaa91815260200190565b60005b8181101561111a57600083820155611e0d8161384b565b9050611df6565b6001600160a01b03163b151590565b6040516329965a1d60e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90611e7e9084907fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054903090600401613881565b600060405180830381600087803b158015611e9857600080fd5b505af1158015611eac573d6000803e3d6000fd5b50506040516329965a1d60e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150611f0b9084907faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a903090600401613881565b600060405180830381600087803b158015611f2557600080fd5b505af115801561095a573d6000803e3d6000fd5b6000611f4361219a565b6001600160a01b031603611f995760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610f17565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffb9190613598565b612003611097565b1461205c5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610f17565b6001600160a01b03811630036120b05760405162461bcd60e51b815260206004820152601960248201527805555505350726f786961626c653a2070726f7879206c6f6f7603c1b6044820152606401610f17565b6120c68160008051602061394383398151915255565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc6120ef611097565b604080519182526001600160a01b0384166020830152016113ec565b6060816001600160401b0381111561212557612125612e32565b60405190808252806020026020018201604052801561214e578160200160208202803683370190505b50905060005b8281101561219357600081850154905080838381518110612177576121776137e3565b60209081029190910101525061218c8161384b565b9050612154565b5092915050565b6000805160206139438339815191525490565b6000816001600160a01b0316836001600160a01b0316148061221c57506001600160a01b038316600090815260018501602052604090205460ff16801561221c57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610c1457506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661227d5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166122a45760405163e219bd3960e01b815260040160405180910390fd5b6122b2878787878787612719565b6122c087878787878761267a565b610fea87878787878787612838565b806001600160a01b0316826001600160a01b0316036123465760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401610f17565b6001600160a01b038116600090815260018401602052604090205460ff161561239c576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b0384166123fa57604051632e8aac6160e21b815260040160405180910390fd5b61240985856000868686612719565b6124138484612987565b836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409885858560405161245a939291906138a4565b60405180910390a36040518381526000906001600160a01b038616906000805160206139ad833981519152906020016107f1565b600081848411156124b25760405162461bcd60e51b8152600401610f179190612c83565b505050900390565b6001600160a01b0385166124e157604051630d24315760e01b815260040160405180910390fd5b6124eb8585612a97565b6124fb8660008787868689612838565b846001600160a01b0316866001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d868585604051612542939291906138a4565b60405180910390a36040518481526001600160a01b038616906000906000805160206139ad833981519152906020015b60405180910390a3505050505050565b336001600160a01b038216036125ed5760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401610f17565b6001600160a01b038116600090815260018401602052604090205460ff1615612647576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b61268d858561268886611d52565b612af1565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516126de939291906138a4565b60405180910390a4836001600160a01b0316856001600160a01b03166000805160206139ad8339815191528560405161257291815260200190565b60405163555ddc6560e11b8152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca906127759089907f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895906004016138cf565b602060405180830381865afa158015612792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127b69190613864565b90506001600160a01b03811615610fea57604051633ad5cbc160e11b81526001600160a01b038216906375ab9782906127fd908a908a908a908a908a908a906004016138e8565b600060405180830381600087803b15801561281757600080fd5b505af115801561282b573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b8152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca906128949089907fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b906004016138cf565b602060405180830381865afa1580156128b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d59190613864565b90506001600160a01b03811615612951576040516223de2960e01b81526001600160a01b038216906223de299061291a908b908b908b908b908b908b906004016138e8565b600060405180830381600087803b15801561293457600080fd5b505af1158015612948573d6000803e3d6000fd5b505050506111c3565b81156111c357612969866001600160a01b0316611e14565b156111c35760405163fe737d0560e01b815260040160405180910390fd5b6000612a0f837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129eb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106499190613598565b50509050612a1c82611d52565b811215612a3c5760405163043b37d160e21b815260040160405180910390fd5b612a4582611d52565b6001600160a01b038416600090815260026020526040902054612a68919061353a565b6001600160a01b038416600090815260026020526040902055600354612a8f9083906137d0565b600355505050565b612aa081611d52565b6001600160a01b038316600090815260026020526040902054612ac39190613512565b6001600160a01b038316600090815260026020526040902055600354612aea908290613662565b6003555050565b6000612b55847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129eb573d6000803e3d6000fd5b5050905081811215612b7a57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054612b9e90839061353a565b6001600160a01b038086166000908152600260205260408082209390935590851681522054612bce908390613512565b6001600160a01b03909316600090815260026020526040902092909255505050565b6020808252825182820181905260009190848201906040850190845b81811015612c315783516001600160a01b031683529284019291840191600101612c0c565b50909695505050505050565b6000815180845260005b81811015612c6357602081850181015186830182015201612c47565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006112516020830184612c3d565b6001600160a01b038116811461104557600080fd5b60008083601f840112612cbd57600080fd5b5081356001600160401b03811115612cd457600080fd5b6020830191508360208260051b8501011115612cef57600080fd5b9250929050565b60008060008060608587031215612d0c57600080fd5b8435612d1781612c96565b93506020850135925060408501356001600160401b03811115612d3957600080fd5b612d4587828801612cab565b95989497509550505050565b60008060408385031215612d6457600080fd5b8235612d6f81612c96565b946020939093013593505050565b600060208284031215612d8f57600080fd5b5035919050565b600080600060408486031215612dab57600080fd5b8335925060208401356001600160401b03811115612dc857600080fd5b612dd486828701612cab565b9497909650939450505050565b60008060008060808587031215612df757600080fd5b8435612e0281612c96565b93506020850135612e1281612c96565b92506040850135612e2281612c96565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612e7057612e70612e32565b604052919050565b600082601f830112612e8957600080fd5b81356001600160401b03811115612ea257612ea2612e32565b612eb5601f8201601f1916602001612e48565b818152846020838601011115612eca57600080fd5b816020850160208301376000918101602001919091529392505050565b801515811461104557600080fd5b600080600080600080600060e0888a031215612f1057600080fd5b8735965060208801356001600160401b03811115612f2d57600080fd5b612f398a828b01612e78565b9650506040880135612f4a81612c96565b94506060880135612f5a81612ee7565b93506080880135612f6a81612c96565b9699959850939692959460a0840135945060c09093013592915050565b6001600160a01b0391909116815260200190565b600080600060608486031215612fb057600080fd5b8335612fbb81612c96565b92506020840135612fcb81612c96565b929592945050506040919091013590565b60008060408385031215612fef57600080fd5b50508035926020909101359150565b60006020828403121561301057600080fd5b813561125181612c96565b60008083601f84011261302d57600080fd5b5081356001600160401b0381111561304457600080fd5b602083019150836020828501011115612cef57600080fd5b6000806000806000806080878903121561307557600080fd5b863561308081612c96565b9550602087013560ff8116811461309657600080fd5b945060408701356001600160401b03808211156130b257600080fd5b6130be8a838b0161301b565b909650945060608901359150808211156130d757600080fd5b506130e489828a0161301b565b979a9699509497509295939492505050565b6000806000806080858703121561310c57600080fd5b843561311781612c96565b9350602085013561312781612c96565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015612c3157835183529284019291840191600101613158565b6000806000806060858703121561318a57600080fd5b843561319581612c96565b93506020850135925060408501356001600160401b038111156131b757600080fd5b612d458782880161301b565b600080600080600080600060a0888a0312156131de57600080fd5b87356131e981612c96565b965060208801356131f981612c96565b95506040880135945060608801356001600160401b038082111561321c57600080fd5b6132288b838c0161301b565b909650945060808a013591508082111561324157600080fd5b5061324e8a828b0161301b565b989b979a50959850939692959293505050565b60008060006060848603121561327657600080fd5b833561328181612c96565b95602085013595506040909401359392505050565b6000806000606084860312156132ab57600080fd5b83356132b681612c96565b92506020840135915060408401356001600160401b038111156132d857600080fd5b6132e486828701612e78565b9150509250925092565b6000806040838503121561330157600080fd5b823561330c81612c96565b9150602083013561331c81612c96565b809150509250929050565b6000806000806000806080878903121561334057600080fd5b863561334b81612c96565b95506020870135945060408701356001600160401b03808211156130b257600080fd5b60008060006040848603121561338357600080fd5b8335925060208401356001600160401b038111156133a057600080fd5b612dd48682870161301b565b600181811c908216806133c057607f821691505b6020821081036133e057634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561349357600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156134bf57600080fd5b815161125181612ee7565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016134f5576134f56134ca565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715613532576135326134ca565b505092915050565b8181036000831280158383131683831282161715612193576121936134ca565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061358d60a0830184612c3d565b979650505050505050565b6000602082840312156135aa57600080fd5b5051919050565b600060208083850312156135c457600080fd5b82516001600160401b03808211156135db57600080fd5b818501915085601f8301126135ef57600080fd5b81518181111561360157613601612e32565b8060051b9150613612848301612e48565b818152918301840191848101908884111561362c57600080fd5b938501935b83851015613656578451925061364683612c96565b8282529385019390850190613631565b98975050505050505050565b80820180821115610811576108116134ca565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561111a57600081815260208120601f850160051c810160208610156136ea5750805b601f850160051c820191505b81811015613709578281556001016136f6565b505050505050565b6001600160401b0383111561372857613728612e32565b61373c8361373683546133ac565b836136c3565b6000601f84116001811461377057600085156137585750838201355b600019600387901b1c1916600186901b17835561095a565b600083815260209020601f19861690835b828110156137a15786850135825560209485019460019092019101613781565b50868210156137be5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81810381811115610811576108116134ca565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b60008060006060848603121561383257600080fd5b8351925060208401519150604084015190509250925092565b60006001820161385d5761385d6134ca565b5060010190565b60006020828403121561387657600080fd5b815161125181612c96565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8381526060602082015260006138bd6060830185612c3d565b82810360408401526110838185612c3d565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c06080820181905260009061392390830185612c3d565b82810360a08401526139358185612c3d565b999850505050505050505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a3ceb0a4b5a950a73c147d1888169ed6b02cafffdbae69273071be330a5086f964736f6c63430008100033",
1757
+ "linkReferences": {},
1758
+ "deployedLinkReferences": {}
1759
+ }