@gooddollar/goodprotocol 1.0.31-beta.0 → 2.0.1

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