@gooddollar/goodprotocol 1.0.19-beta.3 → 1.0.20

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 (414) hide show
  1. package/artifacts/abis/ERC20.min.json +1 -1
  2. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  3. package/artifacts/abis/IERC2917.min.json +1 -1
  4. package/artifacts/abis/cERC20.min.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/ERC20.json +0 -13
  14. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IERC2917.json +0 -13
  19. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/cERC20.json +0 -13
  35. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  36. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  37. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  38. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  39. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  40. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  41. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  42. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  43. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  44. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  45. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  46. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  47. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  48. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  49. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  50. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  51. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  53. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  55. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  59. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  61. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  64. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  67. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  69. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  71. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  73. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  81. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  82. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  83. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  84. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  85. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  86. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  87. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -65
  88. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  89. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  90. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  91. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  92. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  93. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  94. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  95. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  96. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  97. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  98. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  99. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  100. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  101. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  102. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  103. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  104. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  105. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  106. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  107. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  108. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  109. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  110. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  111. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  112. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  113. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  114. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  115. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  116. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  117. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  118. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  119. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  120. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  121. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  122. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  123. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  124. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  125. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  126. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  127. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  128. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  129. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  130. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  131. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  132. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  133. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  134. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  135. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  136. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  137. package/contracts/Interfaces.sol +0 -12
  138. package/contracts/reserve/GoodReserveCDai.sol +1 -28
  139. package/package.json +3 -2
  140. package/releases/deployment.json +13 -6
  141. package/scripts/multichain-deploy/basicdao-deploy.ts +20 -22
  142. package/scripts/multichain-deploy/helpers.ts +3 -5
  143. package/types/AaveMock.ts +1022 -0
  144. package/types/AaveStakingFactory.ts +290 -0
  145. package/types/AaveUSDMockOracle.ts +89 -0
  146. package/types/AccessControlEnumerableUpgradeable.ts +435 -0
  147. package/types/AccessControlUpgradeable.ts +362 -0
  148. package/types/AggregatorV3Interface.ts +192 -0
  149. package/types/Avatar.ts +121 -0
  150. package/types/BancorFormula.ts +974 -0
  151. package/types/BaseShareField.ts +442 -0
  152. package/types/BaseShareFieldV2.ts +361 -0
  153. package/types/BatUSDMockOracle.ts +89 -0
  154. package/types/BulkProof.ts +111 -0
  155. package/types/CBATMock.ts +1194 -0
  156. package/types/CDAILowWorthMock.ts +1160 -0
  157. package/types/CDAIMock.ts +1210 -0
  158. package/types/CDAINonMintableMock.ts +1160 -0
  159. package/types/CDecimalsMock.ts +1194 -0
  160. package/types/CERC20.ts +527 -0
  161. package/types/CSDTMock.ts +1194 -0
  162. package/types/CUSDCMock.ts +1194 -0
  163. package/types/ClaimersDistribution.ts +606 -0
  164. package/types/CompUSDMockOracle.ts +89 -0
  165. package/types/CompoundStakingFactory.ts +261 -0
  166. package/types/CompoundVotingMachine.ts +1690 -0
  167. package/types/ContributionCalc.ts +164 -0
  168. package/types/Controller.ts +547 -0
  169. package/types/DAIMock.ts +1083 -0
  170. package/types/DAOContract.ts +162 -0
  171. package/types/DAOUpgradeableContract.ts +271 -0
  172. package/types/DaiEthPriceMockOracle.ts +89 -0
  173. package/types/DecimalsMock.ts +1022 -0
  174. package/types/DonationsStaking.ts +777 -0
  175. package/types/ERC165Upgradeable.ts +104 -0
  176. package/types/ERC1967Proxy.ts +147 -0
  177. package/types/ERC1967Upgrade.ts +106 -0
  178. package/types/ERC1967UpgradeUpgradeable.ts +107 -0
  179. package/types/ERC20.ts +365 -0
  180. package/types/ERC20BurnableUpgradeable.ts +479 -0
  181. package/types/ERC20PausableUpgradeable.ts +449 -0
  182. package/types/ERC20PresetMinterPauserUpgradeable.ts +1023 -0
  183. package/types/ERC20Upgradeable.ts +417 -0
  184. package/types/EthUSDMockOracle.ts +138 -0
  185. package/types/ExchangeHelper.ts +522 -0
  186. package/types/GReputation.ts +2020 -0
  187. package/types/GasPriceMockOracle.ts +89 -0
  188. package/types/GlobalConstraintInterface.ts +134 -0
  189. package/types/GoodAaveStaking.ts +1752 -0
  190. package/types/GoodAaveStakingV2.ts +1722 -0
  191. package/types/GoodCompoundStaking.ts +1838 -0
  192. package/types/GoodCompoundStakingTest.ts +1948 -0
  193. package/types/GoodCompoundStakingV2.ts +1636 -0
  194. package/types/GoodFundManager.ts +1098 -0
  195. package/types/GoodFundManagerTest.ts +1137 -0
  196. package/types/GoodMarketMaker.ts +974 -0
  197. package/types/GoodReserveCDai.ts +1938 -0
  198. package/types/GovernanceStaking.ts +1267 -0
  199. package/types/IAaveIncentivesController.ts +155 -0
  200. package/types/IAccessControlEnumerableUpgradeable.ts +380 -0
  201. package/types/IAccessControlUpgradeable.ts +307 -0
  202. package/types/IAdminWallet.ts +171 -0
  203. package/types/IBeacon.ts +89 -0
  204. package/types/IBeaconUpgradeable.ts +89 -0
  205. package/types/IDonationStaking.ts +98 -0
  206. package/types/IERC165Upgradeable.ts +104 -0
  207. package/types/IERC1822Proxiable.ts +89 -0
  208. package/types/IERC20MetadataUpgradeable.ts +340 -0
  209. package/types/IERC20Upgradeable.ts +300 -0
  210. package/types/IERC2917.ts +636 -0
  211. package/types/IFirstClaimPool.ts +115 -0
  212. package/types/IGoodDollar.ts +579 -0
  213. package/types/IGoodStaking.ts +264 -0
  214. package/types/IHasRouter.ts +83 -0
  215. package/types/IIdentity.ts +281 -0
  216. package/types/ILendingPool.ts +241 -0
  217. package/types/INameService.ts +86 -0
  218. package/types/IUBIScheme.ts +121 -0
  219. package/types/IncentiveControllerMock.ts +207 -0
  220. package/types/IntVoteInterface.ts +468 -0
  221. package/types/LendingPoolMock.ts +1250 -0
  222. package/types/MultiBaseGovernanceShareField.ts +411 -0
  223. package/types/Multicall.ts +298 -0
  224. package/types/NameService.ts +358 -0
  225. package/types/OldMarketMaker.ts +113 -0
  226. package/types/OverMintTester.ts +176 -0
  227. package/types/OverMintTesterRegularStake.ts +177 -0
  228. package/types/PausableUpgradeable.ts +103 -0
  229. package/types/ProtocolUpgrade.ts +272 -0
  230. package/types/ProtocolUpgradeFuse.ts +166 -0
  231. package/types/ProtocolUpgradeFuseRecover.ts +167 -0
  232. package/types/ProtocolUpgradeRecover.ts +264 -0
  233. package/types/Proxy.ts +66 -0
  234. package/types/ProxyAdmin.ts +210 -0
  235. package/types/ProxyFactory1967.ts +284 -0
  236. package/types/Reputation.ts +936 -0
  237. package/types/ReputationInterface.ts +261 -0
  238. package/types/ReputationTestHelper.ts +175 -0
  239. package/types/Reserve.ts +112 -0
  240. package/types/SchemeRegistrar.ts +164 -0
  241. package/types/SimpleStaking.ts +1514 -0
  242. package/types/SimpleStakingV2.ts +1418 -0
  243. package/types/SixteenDecimalsTokenMock.ts +1023 -0
  244. package/types/StakersDistribution.ts +921 -0
  245. package/types/Staking.ts +158 -0
  246. package/types/SwapHelperTest.ts +120 -0
  247. package/types/TwentyDecimalsTokenMock.ts +1023 -0
  248. package/types/UBIScheme.ts +1361 -0
  249. package/types/USDCMock.ts +1022 -0
  250. package/types/UUPSUpgradeable.ts +179 -0
  251. package/types/Uniswap.ts +423 -0
  252. package/types/UniswapFactory.ts +106 -0
  253. package/types/UniswapPair.ts +187 -0
  254. package/types/UniswapV2SwapHelper.ts +124 -0
  255. package/types/UpgradableMock.ts +321 -0
  256. package/types/UpgradableMock2.ts +283 -0
  257. package/types/UpgradableMock3.ts +308 -0
  258. package/types/UpgradableMock4.ts +308 -0
  259. package/types/common.ts +44 -0
  260. package/types/factories/AaveMock__factory.ts +727 -0
  261. package/types/factories/AaveStakingFactory__factory.ts +262 -0
  262. package/types/factories/AaveUSDMockOracle__factory.ts +75 -0
  263. package/types/factories/AccessControlEnumerableUpgradeable__factory.ts +279 -0
  264. package/types/factories/AccessControlUpgradeable__factory.ts +234 -0
  265. package/types/factories/AggregatorV3Interface__factory.ts +121 -0
  266. package/types/factories/Avatar__factory.ts +59 -0
  267. package/types/factories/BancorFormula__factory.ts +674 -0
  268. package/types/factories/BaseShareFieldV2__factory.ts +251 -0
  269. package/types/factories/BaseShareField__factory.ts +307 -0
  270. package/types/factories/BatUSDMockOracle__factory.ts +75 -0
  271. package/types/factories/BulkProof__factory.ts +89 -0
  272. package/types/factories/CBATMock__factory.ts +831 -0
  273. package/types/factories/CDAILowWorthMock__factory.ts +821 -0
  274. package/types/factories/CDAIMock__factory.ts +844 -0
  275. package/types/factories/CDAINonMintableMock__factory.ts +821 -0
  276. package/types/factories/CDecimalsMock__factory.ts +831 -0
  277. package/types/factories/CERC20__factory.ts +368 -0
  278. package/types/factories/CSDTMock__factory.ts +831 -0
  279. package/types/factories/CUSDCMock__factory.ts +831 -0
  280. package/types/factories/ClaimersDistribution__factory.ts +404 -0
  281. package/types/factories/CompUSDMockOracle__factory.ts +75 -0
  282. package/types/factories/CompoundStakingFactory__factory.ts +249 -0
  283. package/types/factories/CompoundVotingMachine__factory.ts +1182 -0
  284. package/types/factories/ContributionCalc__factory.ts +83 -0
  285. package/types/factories/Controller__factory.ts +359 -0
  286. package/types/factories/DAIMock__factory.ts +770 -0
  287. package/types/factories/DAOContract__factory.ts +118 -0
  288. package/types/factories/DAOUpgradeableContract__factory.ts +201 -0
  289. package/types/factories/DaiEthPriceMockOracle__factory.ts +79 -0
  290. package/types/factories/DecimalsMock__factory.ts +742 -0
  291. package/types/factories/DonationsStaking__factory.ts +554 -0
  292. package/types/factories/ERC165Upgradeable__factory.ts +45 -0
  293. package/types/factories/ERC1967Proxy__factory.ts +130 -0
  294. package/types/factories/ERC1967UpgradeUpgradeable__factory.ts +75 -0
  295. package/types/factories/ERC1967Upgrade__factory.ts +71 -0
  296. package/types/factories/ERC20BurnableUpgradeable__factory.ts +331 -0
  297. package/types/factories/ERC20PausableUpgradeable__factory.ts +339 -0
  298. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +733 -0
  299. package/types/factories/ERC20Upgradeable__factory.ts +332 -0
  300. package/types/factories/ERC20__factory.ts +272 -0
  301. package/types/factories/EthUSDMockOracle__factory.ts +108 -0
  302. package/types/factories/ExchangeHelper__factory.ts +401 -0
  303. package/types/factories/GReputation__factory.ts +1415 -0
  304. package/types/factories/GasPriceMockOracle__factory.ts +75 -0
  305. package/types/factories/GlobalConstraintInterface__factory.ts +72 -0
  306. package/types/factories/GoodAaveStakingV2__factory.ts +1227 -0
  307. package/types/factories/GoodAaveStaking__factory.ts +1263 -0
  308. package/types/factories/GoodCompoundStakingTest__factory.ts +1457 -0
  309. package/types/factories/GoodCompoundStakingV2__factory.ts +1169 -0
  310. package/types/factories/GoodCompoundStaking__factory.ts +1303 -0
  311. package/types/factories/GoodFundManagerTest__factory.ts +775 -0
  312. package/types/factories/GoodFundManager__factory.ts +733 -0
  313. package/types/factories/GoodMarketMaker__factory.ts +661 -0
  314. package/types/factories/GoodReserveCDai__factory.ts +1391 -0
  315. package/types/factories/GovernanceStaking__factory.ts +922 -0
  316. package/types/factories/IAaveIncentivesController__factory.ts +83 -0
  317. package/types/factories/IAccessControlEnumerableUpgradeable__factory.ts +247 -0
  318. package/types/factories/IAccessControlUpgradeable__factory.ts +202 -0
  319. package/types/factories/IAdminWallet__factory.ts +75 -0
  320. package/types/factories/IBeaconUpgradeable__factory.ts +39 -0
  321. package/types/factories/IBeacon__factory.ts +36 -0
  322. package/types/factories/IDonationStaking__factory.ts +33 -0
  323. package/types/factories/IERC165Upgradeable__factory.ts +45 -0
  324. package/types/factories/IERC1822Proxiable__factory.ts +39 -0
  325. package/types/factories/IERC20MetadataUpgradeable__factory.ts +252 -0
  326. package/types/factories/IERC20Upgradeable__factory.ts +209 -0
  327. package/types/factories/IERC2917__factory.ts +480 -0
  328. package/types/factories/IFirstClaimPool__factory.ts +58 -0
  329. package/types/factories/IGoodDollar__factory.ts +411 -0
  330. package/types/factories/IGoodStaking__factory.ts +175 -0
  331. package/types/factories/IHasRouter__factory.ts +36 -0
  332. package/types/factories/IIdentity__factory.ts +150 -0
  333. package/types/factories/ILendingPool__factory.ts +168 -0
  334. package/types/factories/INameService__factory.ts +42 -0
  335. package/types/factories/IUBIScheme__factory.ts +68 -0
  336. package/types/factories/IncentiveControllerMock__factory.ts +166 -0
  337. package/types/factories/IntVoteInterface__factory.ts +349 -0
  338. package/types/factories/LendingPoolMock__factory.ts +914 -0
  339. package/types/factories/MultiBaseGovernanceShareField__factory.ts +240 -0
  340. package/types/factories/Multicall__factory.ts +215 -0
  341. package/types/factories/NameService__factory.ts +264 -0
  342. package/types/factories/OldMarketMaker__factory.ts +62 -0
  343. package/types/factories/OverMintTesterRegularStake__factory.ts +156 -0
  344. package/types/factories/OverMintTester__factory.ts +152 -0
  345. package/types/factories/PausableUpgradeable__factory.ts +65 -0
  346. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +146 -0
  347. package/types/factories/ProtocolUpgradeFuse__factory.ts +142 -0
  348. package/types/factories/ProtocolUpgradeRecover__factory.ts +184 -0
  349. package/types/factories/ProtocolUpgrade__factory.ts +207 -0
  350. package/types/factories/ProxyAdmin__factory.ts +105 -0
  351. package/types/factories/ProxyFactory1967__factory.ts +223 -0
  352. package/types/factories/Proxy__factory.ts +28 -0
  353. package/types/factories/ReputationInterface__factory.ts +168 -0
  354. package/types/factories/ReputationTestHelper__factory.ts +141 -0
  355. package/types/factories/Reputation__factory.ts +667 -0
  356. package/types/factories/Reserve__factory.ts +52 -0
  357. package/types/factories/SchemeRegistrar__factory.ts +114 -0
  358. package/types/factories/SimpleStakingV2__factory.ts +986 -0
  359. package/types/factories/SimpleStaking__factory.ts +1045 -0
  360. package/types/factories/SixteenDecimalsTokenMock__factory.ts +734 -0
  361. package/types/factories/StakersDistribution__factory.ts +591 -0
  362. package/types/factories/Staking__factory.ts +74 -0
  363. package/types/factories/SwapHelperTest__factory.ts +96 -0
  364. package/types/factories/TwentyDecimalsTokenMock__factory.ts +734 -0
  365. package/types/factories/UBIScheme__factory.ts +969 -0
  366. package/types/factories/USDCMock__factory.ts +727 -0
  367. package/types/factories/UUPSUpgradeable__factory.ts +102 -0
  368. package/types/factories/UniswapFactory__factory.ts +50 -0
  369. package/types/factories/UniswapPair__factory.ts +117 -0
  370. package/types/factories/UniswapV2SwapHelper__factory.ts +101 -0
  371. package/types/factories/Uniswap__factory.ts +272 -0
  372. package/types/factories/UpgradableMock2__factory.ts +210 -0
  373. package/types/factories/UpgradableMock3__factory.ts +223 -0
  374. package/types/factories/UpgradableMock4__factory.ts +223 -0
  375. package/types/factories/UpgradableMock__factory.ts +236 -0
  376. package/types/hardhat.d.ts +1077 -0
  377. package/types/index.ts +236 -0
  378. package/artifacts/abis/DistributionHelper.min.json +0 -1
  379. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +0 -1
  380. package/artifacts/abis/GoodDollarStaking.min.json +0 -1
  381. package/artifacts/abis/IMultichainRouter.min.json +0 -1
  382. package/artifacts/abis/IRouter.min.json +0 -1
  383. package/artifacts/abis/Math64x64.min.json +0 -1
  384. package/artifacts/abis/PausableControl.min.json +0 -1
  385. package/artifacts/abis/RewardsMinter.min.json +0 -1
  386. package/artifacts/abis/StakingRewardsFixedAPY.min.json +0 -1
  387. package/artifacts/abis/TokenOperation.min.json +0 -1
  388. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +0 -4
  389. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.json +0 -39
  390. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +0 -4
  391. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +0 -1028
  392. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +0 -4
  393. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.json +0 -35
  394. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +0 -4
  395. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +0 -574
  396. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +0 -4
  397. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +0 -10
  398. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +0 -4
  399. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.json +0 -153
  400. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +0 -4
  401. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +0 -954
  402. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +0 -4
  403. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.json +0 -59
  404. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +0 -4
  405. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.json +0 -69
  406. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +0 -4
  407. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +0 -10
  408. package/contracts/governance/GoodDollarStaking.sol +0 -260
  409. package/contracts/reserve/DistributionHelper.sol +0 -118
  410. package/contracts/staking/utils/Math64X64.sol +0 -268
  411. package/contracts/staking/utils/StakingRewardsFixedAPY.sol +0 -141
  412. package/contracts/utils/GoodDollarMintBurnWrapper.sol +0 -417
  413. package/scripts/multichain-deploy/multichainWrapper-deploy.ts +0 -67
  414. package/scripts/voltageswaps.ts +0 -47
@@ -1,1028 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "GoodDollarStaking",
4
- "sourceName": "contracts/governance/GoodDollarStaking.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "contract INameService",
10
- "name": "_ns",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "uint128",
15
- "name": "_interestRatePerBlock",
16
- "type": "uint128"
17
- },
18
- {
19
- "internalType": "uint128",
20
- "name": "_numberOfBlocksPerYear",
21
- "type": "uint128"
22
- }
23
- ],
24
- "stateMutability": "nonpayable",
25
- "type": "constructor"
26
- },
27
- {
28
- "anonymous": false,
29
- "inputs": [
30
- {
31
- "indexed": false,
32
- "internalType": "address",
33
- "name": "previousAdmin",
34
- "type": "address"
35
- },
36
- {
37
- "indexed": false,
38
- "internalType": "address",
39
- "name": "newAdmin",
40
- "type": "address"
41
- }
42
- ],
43
- "name": "AdminChanged",
44
- "type": "event"
45
- },
46
- {
47
- "anonymous": false,
48
- "inputs": [
49
- {
50
- "indexed": true,
51
- "internalType": "address",
52
- "name": "owner",
53
- "type": "address"
54
- },
55
- {
56
- "indexed": true,
57
- "internalType": "address",
58
- "name": "spender",
59
- "type": "address"
60
- },
61
- {
62
- "indexed": false,
63
- "internalType": "uint256",
64
- "name": "value",
65
- "type": "uint256"
66
- }
67
- ],
68
- "name": "Approval",
69
- "type": "event"
70
- },
71
- {
72
- "anonymous": false,
73
- "inputs": [
74
- {
75
- "indexed": true,
76
- "internalType": "address",
77
- "name": "beacon",
78
- "type": "address"
79
- }
80
- ],
81
- "name": "BeaconUpgraded",
82
- "type": "event"
83
- },
84
- {
85
- "anonymous": false,
86
- "inputs": [
87
- {
88
- "indexed": true,
89
- "internalType": "address",
90
- "name": "staker",
91
- "type": "address"
92
- },
93
- {
94
- "indexed": false,
95
- "internalType": "uint256",
96
- "name": "amount",
97
- "type": "uint256"
98
- }
99
- ],
100
- "name": "ReputationEarned",
101
- "type": "event"
102
- },
103
- {
104
- "anonymous": false,
105
- "inputs": [
106
- {
107
- "indexed": true,
108
- "internalType": "address",
109
- "name": "staker",
110
- "type": "address"
111
- },
112
- {
113
- "indexed": false,
114
- "internalType": "uint256",
115
- "name": "amount",
116
- "type": "uint256"
117
- }
118
- ],
119
- "name": "StakeWithdraw",
120
- "type": "event"
121
- },
122
- {
123
- "anonymous": false,
124
- "inputs": [
125
- {
126
- "indexed": true,
127
- "internalType": "address",
128
- "name": "staker",
129
- "type": "address"
130
- },
131
- {
132
- "indexed": false,
133
- "internalType": "uint256",
134
- "name": "amount",
135
- "type": "uint256"
136
- }
137
- ],
138
- "name": "Staked",
139
- "type": "event"
140
- },
141
- {
142
- "anonymous": false,
143
- "inputs": [
144
- {
145
- "indexed": true,
146
- "internalType": "address",
147
- "name": "from",
148
- "type": "address"
149
- },
150
- {
151
- "indexed": true,
152
- "internalType": "address",
153
- "name": "to",
154
- "type": "address"
155
- },
156
- {
157
- "indexed": false,
158
- "internalType": "uint256",
159
- "name": "value",
160
- "type": "uint256"
161
- }
162
- ],
163
- "name": "Transfer",
164
- "type": "event"
165
- },
166
- {
167
- "anonymous": false,
168
- "inputs": [
169
- {
170
- "indexed": true,
171
- "internalType": "address",
172
- "name": "implementation",
173
- "type": "address"
174
- }
175
- ],
176
- "name": "Upgraded",
177
- "type": "event"
178
- },
179
- {
180
- "inputs": [],
181
- "name": "PRECISION",
182
- "outputs": [
183
- {
184
- "internalType": "uint128",
185
- "name": "",
186
- "type": "uint128"
187
- }
188
- ],
189
- "stateMutability": "view",
190
- "type": "function"
191
- },
192
- {
193
- "inputs": [
194
- {
195
- "internalType": "address",
196
- "name": "owner",
197
- "type": "address"
198
- },
199
- {
200
- "internalType": "address",
201
- "name": "spender",
202
- "type": "address"
203
- }
204
- ],
205
- "name": "allowance",
206
- "outputs": [
207
- {
208
- "internalType": "uint256",
209
- "name": "",
210
- "type": "uint256"
211
- }
212
- ],
213
- "stateMutability": "view",
214
- "type": "function"
215
- },
216
- {
217
- "inputs": [
218
- {
219
- "internalType": "address",
220
- "name": "spender",
221
- "type": "address"
222
- },
223
- {
224
- "internalType": "uint256",
225
- "name": "amount",
226
- "type": "uint256"
227
- }
228
- ],
229
- "name": "approve",
230
- "outputs": [
231
- {
232
- "internalType": "bool",
233
- "name": "",
234
- "type": "bool"
235
- }
236
- ],
237
- "stateMutability": "nonpayable",
238
- "type": "function"
239
- },
240
- {
241
- "inputs": [],
242
- "name": "avatar",
243
- "outputs": [
244
- {
245
- "internalType": "address",
246
- "name": "",
247
- "type": "address"
248
- }
249
- ],
250
- "stateMutability": "view",
251
- "type": "function"
252
- },
253
- {
254
- "inputs": [
255
- {
256
- "internalType": "address",
257
- "name": "account",
258
- "type": "address"
259
- }
260
- ],
261
- "name": "balanceOf",
262
- "outputs": [
263
- {
264
- "internalType": "uint256",
265
- "name": "",
266
- "type": "uint256"
267
- }
268
- ],
269
- "stateMutability": "view",
270
- "type": "function"
271
- },
272
- {
273
- "inputs": [
274
- {
275
- "internalType": "address",
276
- "name": "",
277
- "type": "address"
278
- },
279
- {
280
- "internalType": "address",
281
- "name": "",
282
- "type": "address"
283
- }
284
- ],
285
- "name": "contractToUsers",
286
- "outputs": [
287
- {
288
- "internalType": "uint128",
289
- "name": "amount",
290
- "type": "uint128"
291
- },
292
- {
293
- "internalType": "uint128",
294
- "name": "rewardDebt",
295
- "type": "uint128"
296
- },
297
- {
298
- "internalType": "uint128",
299
- "name": "rewardEarn",
300
- "type": "uint128"
301
- },
302
- {
303
- "internalType": "uint128",
304
- "name": "rewardMinted",
305
- "type": "uint128"
306
- }
307
- ],
308
- "stateMutability": "view",
309
- "type": "function"
310
- },
311
- {
312
- "inputs": [],
313
- "name": "dao",
314
- "outputs": [
315
- {
316
- "internalType": "contract Controller",
317
- "name": "",
318
- "type": "address"
319
- }
320
- ],
321
- "stateMutability": "view",
322
- "type": "function"
323
- },
324
- {
325
- "inputs": [],
326
- "name": "decimals",
327
- "outputs": [
328
- {
329
- "internalType": "uint8",
330
- "name": "",
331
- "type": "uint8"
332
- }
333
- ],
334
- "stateMutability": "view",
335
- "type": "function"
336
- },
337
- {
338
- "inputs": [
339
- {
340
- "internalType": "address",
341
- "name": "spender",
342
- "type": "address"
343
- },
344
- {
345
- "internalType": "uint256",
346
- "name": "subtractedValue",
347
- "type": "uint256"
348
- }
349
- ],
350
- "name": "decreaseAllowance",
351
- "outputs": [
352
- {
353
- "internalType": "bool",
354
- "name": "",
355
- "type": "bool"
356
- }
357
- ],
358
- "stateMutability": "nonpayable",
359
- "type": "function"
360
- },
361
- {
362
- "inputs": [
363
- {
364
- "internalType": "address",
365
- "name": "account",
366
- "type": "address"
367
- }
368
- ],
369
- "name": "earned",
370
- "outputs": [
371
- {
372
- "internalType": "uint256",
373
- "name": "",
374
- "type": "uint256"
375
- }
376
- ],
377
- "stateMutability": "nonpayable",
378
- "type": "function"
379
- },
380
- {
381
- "inputs": [],
382
- "name": "getChainBlocksPerMonth",
383
- "outputs": [
384
- {
385
- "internalType": "uint256",
386
- "name": "",
387
- "type": "uint256"
388
- }
389
- ],
390
- "stateMutability": "view",
391
- "type": "function"
392
- },
393
- {
394
- "inputs": [
395
- {
396
- "internalType": "address",
397
- "name": "_contract",
398
- "type": "address"
399
- },
400
- {
401
- "internalType": "address",
402
- "name": "_user",
403
- "type": "address"
404
- }
405
- ],
406
- "name": "getProductivity",
407
- "outputs": [
408
- {
409
- "internalType": "uint256",
410
- "name": "",
411
- "type": "uint256"
412
- },
413
- {
414
- "internalType": "uint256",
415
- "name": "",
416
- "type": "uint256"
417
- }
418
- ],
419
- "stateMutability": "view",
420
- "type": "function"
421
- },
422
- {
423
- "inputs": [],
424
- "name": "getRewardsPerBlock",
425
- "outputs": [
426
- {
427
- "internalType": "uint256",
428
- "name": "",
429
- "type": "uint256"
430
- }
431
- ],
432
- "stateMutability": "view",
433
- "type": "function"
434
- },
435
- {
436
- "inputs": [
437
- {
438
- "internalType": "address",
439
- "name": "_user",
440
- "type": "address"
441
- }
442
- ],
443
- "name": "getStaked",
444
- "outputs": [
445
- {
446
- "internalType": "uint256",
447
- "name": "",
448
- "type": "uint256"
449
- },
450
- {
451
- "internalType": "uint256",
452
- "name": "",
453
- "type": "uint256"
454
- }
455
- ],
456
- "stateMutability": "view",
457
- "type": "function"
458
- },
459
- {
460
- "inputs": [
461
- {
462
- "internalType": "address",
463
- "name": "_contract",
464
- "type": "address"
465
- },
466
- {
467
- "internalType": "uint256",
468
- "name": "_blockStart",
469
- "type": "uint256"
470
- },
471
- {
472
- "internalType": "uint256",
473
- "name": "_blockEnd",
474
- "type": "uint256"
475
- },
476
- {
477
- "internalType": "address",
478
- "name": "_user",
479
- "type": "address"
480
- }
481
- ],
482
- "name": "getUserPendingReward",
483
- "outputs": [
484
- {
485
- "internalType": "uint256",
486
- "name": "",
487
- "type": "uint256"
488
- }
489
- ],
490
- "stateMutability": "view",
491
- "type": "function"
492
- },
493
- {
494
- "inputs": [
495
- {
496
- "internalType": "address",
497
- "name": "_user",
498
- "type": "address"
499
- }
500
- ],
501
- "name": "getUserPendingReward",
502
- "outputs": [
503
- {
504
- "internalType": "uint256",
505
- "name": "",
506
- "type": "uint256"
507
- }
508
- ],
509
- "stateMutability": "view",
510
- "type": "function"
511
- },
512
- {
513
- "inputs": [
514
- {
515
- "internalType": "address",
516
- "name": "_user",
517
- "type": "address"
518
- }
519
- ],
520
- "name": "goodStakerInfo",
521
- "outputs": [
522
- {
523
- "components": [
524
- {
525
- "internalType": "uint128",
526
- "name": "amount",
527
- "type": "uint128"
528
- },
529
- {
530
- "internalType": "uint128",
531
- "name": "rewardDebt",
532
- "type": "uint128"
533
- },
534
- {
535
- "internalType": "uint128",
536
- "name": "rewardEarn",
537
- "type": "uint128"
538
- },
539
- {
540
- "internalType": "uint128",
541
- "name": "rewardMinted",
542
- "type": "uint128"
543
- }
544
- ],
545
- "internalType": "struct MultiBaseGovernanceShareField.UserInfo",
546
- "name": "",
547
- "type": "tuple"
548
- }
549
- ],
550
- "stateMutability": "view",
551
- "type": "function"
552
- },
553
- {
554
- "inputs": [
555
- {
556
- "internalType": "address",
557
- "name": "spender",
558
- "type": "address"
559
- },
560
- {
561
- "internalType": "uint256",
562
- "name": "addedValue",
563
- "type": "uint256"
564
- }
565
- ],
566
- "name": "increaseAllowance",
567
- "outputs": [
568
- {
569
- "internalType": "bool",
570
- "name": "",
571
- "type": "bool"
572
- }
573
- ],
574
- "stateMutability": "nonpayable",
575
- "type": "function"
576
- },
577
- {
578
- "inputs": [],
579
- "name": "interestRatePerBlockX64",
580
- "outputs": [
581
- {
582
- "internalType": "int128",
583
- "name": "",
584
- "type": "int128"
585
- }
586
- ],
587
- "stateMutability": "view",
588
- "type": "function"
589
- },
590
- {
591
- "inputs": [
592
- {
593
- "internalType": "address",
594
- "name": "",
595
- "type": "address"
596
- }
597
- ],
598
- "name": "lastRewardBlock",
599
- "outputs": [
600
- {
601
- "internalType": "uint256",
602
- "name": "",
603
- "type": "uint256"
604
- }
605
- ],
606
- "stateMutability": "view",
607
- "type": "function"
608
- },
609
- {
610
- "inputs": [],
611
- "name": "lastUpdateBlock",
612
- "outputs": [
613
- {
614
- "internalType": "uint128",
615
- "name": "",
616
- "type": "uint128"
617
- }
618
- ],
619
- "stateMutability": "view",
620
- "type": "function"
621
- },
622
- {
623
- "inputs": [],
624
- "name": "name",
625
- "outputs": [
626
- {
627
- "internalType": "string",
628
- "name": "",
629
- "type": "string"
630
- }
631
- ],
632
- "stateMutability": "view",
633
- "type": "function"
634
- },
635
- {
636
- "inputs": [],
637
- "name": "nameService",
638
- "outputs": [
639
- {
640
- "internalType": "contract INameService",
641
- "name": "",
642
- "type": "address"
643
- }
644
- ],
645
- "stateMutability": "view",
646
- "type": "function"
647
- },
648
- {
649
- "inputs": [],
650
- "name": "nativeToken",
651
- "outputs": [
652
- {
653
- "internalType": "contract IGoodDollar",
654
- "name": "",
655
- "type": "address"
656
- }
657
- ],
658
- "stateMutability": "view",
659
- "type": "function"
660
- },
661
- {
662
- "inputs": [],
663
- "name": "numberOfBlocksPerYear",
664
- "outputs": [
665
- {
666
- "internalType": "uint128",
667
- "name": "",
668
- "type": "uint128"
669
- }
670
- ],
671
- "stateMutability": "view",
672
- "type": "function"
673
- },
674
- {
675
- "inputs": [],
676
- "name": "principle",
677
- "outputs": [
678
- {
679
- "internalType": "uint256",
680
- "name": "",
681
- "type": "uint256"
682
- }
683
- ],
684
- "stateMutability": "view",
685
- "type": "function"
686
- },
687
- {
688
- "inputs": [],
689
- "name": "rewardPerTokenStored",
690
- "outputs": [
691
- {
692
- "internalType": "uint128",
693
- "name": "",
694
- "type": "uint128"
695
- }
696
- ],
697
- "stateMutability": "view",
698
- "type": "function"
699
- },
700
- {
701
- "inputs": [
702
- {
703
- "internalType": "address",
704
- "name": "",
705
- "type": "address"
706
- }
707
- ],
708
- "name": "rewardsMintedSoFar",
709
- "outputs": [
710
- {
711
- "internalType": "uint256",
712
- "name": "",
713
- "type": "uint256"
714
- }
715
- ],
716
- "stateMutability": "view",
717
- "type": "function"
718
- },
719
- {
720
- "inputs": [
721
- {
722
- "internalType": "address",
723
- "name": "",
724
- "type": "address"
725
- }
726
- ],
727
- "name": "rewardsPerBlock",
728
- "outputs": [
729
- {
730
- "internalType": "uint256",
731
- "name": "",
732
- "type": "uint256"
733
- }
734
- ],
735
- "stateMutability": "view",
736
- "type": "function"
737
- },
738
- {
739
- "inputs": [
740
- {
741
- "internalType": "uint128",
742
- "name": "_interestRatePerBlock",
743
- "type": "uint128"
744
- }
745
- ],
746
- "name": "setGdApy",
747
- "outputs": [],
748
- "stateMutability": "nonpayable",
749
- "type": "function"
750
- },
751
- {
752
- "inputs": [
753
- {
754
- "internalType": "uint256",
755
- "name": "_monthlyAmount",
756
- "type": "uint256"
757
- }
758
- ],
759
- "name": "setMonthlyGOODRewards",
760
- "outputs": [],
761
- "stateMutability": "nonpayable",
762
- "type": "function"
763
- },
764
- {
765
- "inputs": [
766
- {
767
- "internalType": "uint256",
768
- "name": "_amount",
769
- "type": "uint256"
770
- }
771
- ],
772
- "name": "stake",
773
- "outputs": [],
774
- "stateMutability": "nonpayable",
775
- "type": "function"
776
- },
777
- {
778
- "inputs": [
779
- {
780
- "internalType": "address",
781
- "name": "",
782
- "type": "address"
783
- }
784
- ],
785
- "name": "stakersInfo",
786
- "outputs": [
787
- {
788
- "internalType": "uint128",
789
- "name": "reward",
790
- "type": "uint128"
791
- },
792
- {
793
- "internalType": "uint128",
794
- "name": "balance",
795
- "type": "uint128"
796
- },
797
- {
798
- "internalType": "uint128",
799
- "name": "rewardPerTokenPaid",
800
- "type": "uint128"
801
- },
802
- {
803
- "internalType": "uint128",
804
- "name": "rewardsMinted",
805
- "type": "uint128"
806
- }
807
- ],
808
- "stateMutability": "view",
809
- "type": "function"
810
- },
811
- {
812
- "inputs": [],
813
- "name": "symbol",
814
- "outputs": [
815
- {
816
- "internalType": "string",
817
- "name": "",
818
- "type": "string"
819
- }
820
- ],
821
- "stateMutability": "view",
822
- "type": "function"
823
- },
824
- {
825
- "inputs": [
826
- {
827
- "internalType": "address",
828
- "name": "",
829
- "type": "address"
830
- }
831
- ],
832
- "name": "totalRewardsAccumulated",
833
- "outputs": [
834
- {
835
- "internalType": "uint256",
836
- "name": "",
837
- "type": "uint256"
838
- }
839
- ],
840
- "stateMutability": "view",
841
- "type": "function"
842
- },
843
- {
844
- "inputs": [
845
- {
846
- "internalType": "address",
847
- "name": "_contract",
848
- "type": "address"
849
- }
850
- ],
851
- "name": "totalRewardsPerShare",
852
- "outputs": [
853
- {
854
- "internalType": "uint256",
855
- "name": "",
856
- "type": "uint256"
857
- }
858
- ],
859
- "stateMutability": "view",
860
- "type": "function"
861
- },
862
- {
863
- "inputs": [],
864
- "name": "totalRewardsPerShare",
865
- "outputs": [
866
- {
867
- "internalType": "uint256",
868
- "name": "",
869
- "type": "uint256"
870
- }
871
- ],
872
- "stateMutability": "view",
873
- "type": "function"
874
- },
875
- {
876
- "inputs": [],
877
- "name": "totalStaked",
878
- "outputs": [
879
- {
880
- "internalType": "uint128",
881
- "name": "",
882
- "type": "uint128"
883
- }
884
- ],
885
- "stateMutability": "view",
886
- "type": "function"
887
- },
888
- {
889
- "inputs": [],
890
- "name": "totalSupply",
891
- "outputs": [
892
- {
893
- "internalType": "uint256",
894
- "name": "",
895
- "type": "uint256"
896
- }
897
- ],
898
- "stateMutability": "view",
899
- "type": "function"
900
- },
901
- {
902
- "inputs": [
903
- {
904
- "internalType": "address",
905
- "name": "recipient",
906
- "type": "address"
907
- },
908
- {
909
- "internalType": "uint256",
910
- "name": "amount",
911
- "type": "uint256"
912
- }
913
- ],
914
- "name": "transfer",
915
- "outputs": [
916
- {
917
- "internalType": "bool",
918
- "name": "",
919
- "type": "bool"
920
- }
921
- ],
922
- "stateMutability": "nonpayable",
923
- "type": "function"
924
- },
925
- {
926
- "inputs": [
927
- {
928
- "internalType": "address",
929
- "name": "sender",
930
- "type": "address"
931
- },
932
- {
933
- "internalType": "address",
934
- "name": "recipient",
935
- "type": "address"
936
- },
937
- {
938
- "internalType": "uint256",
939
- "name": "amount",
940
- "type": "uint256"
941
- }
942
- ],
943
- "name": "transferFrom",
944
- "outputs": [
945
- {
946
- "internalType": "bool",
947
- "name": "",
948
- "type": "bool"
949
- }
950
- ],
951
- "stateMutability": "nonpayable",
952
- "type": "function"
953
- },
954
- {
955
- "inputs": [],
956
- "name": "updateAvatar",
957
- "outputs": [],
958
- "stateMutability": "nonpayable",
959
- "type": "function"
960
- },
961
- {
962
- "inputs": [
963
- {
964
- "internalType": "address",
965
- "name": "newImplementation",
966
- "type": "address"
967
- }
968
- ],
969
- "name": "upgradeTo",
970
- "outputs": [],
971
- "stateMutability": "nonpayable",
972
- "type": "function"
973
- },
974
- {
975
- "inputs": [
976
- {
977
- "internalType": "address",
978
- "name": "newImplementation",
979
- "type": "address"
980
- },
981
- {
982
- "internalType": "bytes",
983
- "name": "data",
984
- "type": "bytes"
985
- }
986
- ],
987
- "name": "upgradeToAndCall",
988
- "outputs": [],
989
- "stateMutability": "payable",
990
- "type": "function"
991
- },
992
- {
993
- "inputs": [],
994
- "name": "withdrawRewards",
995
- "outputs": [
996
- {
997
- "internalType": "uint256",
998
- "name": "goodRewards",
999
- "type": "uint256"
1000
- },
1001
- {
1002
- "internalType": "uint256",
1003
- "name": "gdRewards",
1004
- "type": "uint256"
1005
- }
1006
- ],
1007
- "stateMutability": "nonpayable",
1008
- "type": "function"
1009
- },
1010
- {
1011
- "inputs": [
1012
- {
1013
- "internalType": "uint256",
1014
- "name": "_amount",
1015
- "type": "uint256"
1016
- }
1017
- ],
1018
- "name": "withdrawStake",
1019
- "outputs": [],
1020
- "stateMutability": "nonpayable",
1021
- "type": "function"
1022
- }
1023
- ],
1024
- "bytecode": "0x60a06040523060601b6080523480156200001857600080fd5b5060405162004859380380620048598339810160408190526200003b9162000e14565b816200004781620002ab565b50620000538362000305565b6101045460405163bf40fac160e01b815260206004820152600f60248201526e26b4b73a213ab9372bb930b83832b960891b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b158015620000b957600080fd5b505afa158015620000ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f4919062000e60565b6001600160a01b03161415620001515760405162461bcd60e51b815260206004820152601660248201527f72657761726473206d696e746572206e6f74207365740000000000000000000060448201526064015b60405180910390fd5b61016f80546001600160801b0319166001600160801b0383161790556101045460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015620001cd57600080fd5b505afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000208919062000e60565b61016e80546001600160a01b0319166001600160a01b0392909216919091179055604080518082018252600a815269472420536176696e677360b01b602080830191909152825180840190935260048352631cdd91c960e21b9083015262000270916200032e565b6200027a620003b8565b62000291906a01a784379d99db4200000062000eac565b306000908152606a60205260409020555062001012915050565b6000620002b881620003e4565b620002e0826001600160801b0316670de0b6b3a7640000620004c160201b620016311760201c565b61016d80546001600160801b0319166001600160801b03929092169190911790555050565b61010480546001600160a01b0319166001600160a01b0383161790556200032b62000505565b50565b600054610100900460ff168062000348575060005460ff16155b620003675760405162461bcd60e51b8152600401620001489062000ec3565b600054610100900460ff161580156200038a576000805461ffff19166101011790555b6200039462000655565b620003a08383620006c6565b8015620003b3576000805461ff00191690555b505050565b61016f54600090620003d690600c906001600160801b031662000f11565b6001600160801b0316905090565b620003ee62000765565b436001600160801b039081169116600160801b026001600160801b0319161761016a556001600160a01b038116156200032b576200042c816200087e565b6001600160a01b0382166000908152610169602052604081208054909190620004609084906001600160801b031662000f3a565b82546001600160801b039182166101009390930a92830292820219169190911790915561016a546001600160a01b03841660009081526101696020526040902060010180546001600160801b031916600160801b9092049092161790555050565b600081620004ce57600080fd5b6000620004dc848462000906565b905060016001607f1b036001600160801b0382161115620004fc57600080fd5b90505b92915050565b6101045460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156200056557600080fd5b505afa1580156200057a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a0919062000e60565b61010280546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b158015620005f757600080fd5b505afa1580156200060c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000632919062000e60565b61010380546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16806200066f575060005460ff16155b6200068e5760405162461bcd60e51b8152600401620001489062000ec3565b600054610100900460ff16158015620006b1576000805461ffff19166101011790555b80156200032b576000805461ff001916905550565b600054610100900460ff1680620006e0575060005460ff16155b620006ff5760405162461bcd60e51b8152600401620001489062000ec3565b600054610100900460ff1615801562000722576000805461ffff19166101011790555b82516200073790603690602086019062000d3b565b5081516200074d90603790602085019062000d3b565b508015620003b3576000805461ff0019169055505050565b61016b546000906001600160801b031662000792575061016a54600160801b90046001600160801b031690565b61016a54600090620007cd90620007b3906001600160801b03164362000f68565b61016d54600f0b9062000a81602090811b6200166817901c565b90506000620007f161016c5483600f0b62000cce60201b620018811790919060201c565b90508061016c600082825462000808919062000f82565b909155505061016b5462000826906001600160801b03168262000eac565b61016a80546010906200084b908490600160801b90046001600160801b031662000f3a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b03169250505090565b6001600160a01b03811660009081526101696020526040812060010154670de0b6b3a7640000906001600160801b0316620008b862000765565b620008c4919062000f68565b6001600160a01b03841660009081526101696020526040902054620008fa9190600160801b90046001600160801b031662000f9d565b620004ff919062000eac565b6000816200091357600080fd5b60006001600160c01b038411620009435782604085901b816200093a576200093a62000e80565b04905062000a6c565b60c084811c64010000000081106200095d576020918201911c5b62010000811062000970576010918201911c5b610100811062000982576008918201911c5b6010811062000993576004918201911c5b60048110620009a4576002918201911c5b60028110620009b4576001820191505b60bf820360018603901c6001018260ff0387901b81620009d857620009d862000e80565b0492506001600160801b03831115620009f057600080fd5b608085901c83026001600160801b038616840260c088901c604089901b8281101562000a1d576001820391505b608084901b9290038281101562000a35576001820391505b829003608084901c821462000a4e5762000a4e62000fbf565b88818162000a605762000a6062000e80565b04870196505050505050505b6001600160801b03811115620004fc57600080fd5b600080600084600f0b12801562000a9b5750826001166001145b905060008085600f0b1262000ab1578462000ab6565b846000035b6001600160801b03169050600160801b68010000000000000000821162000b5857603f82901b91505b841562000b4f57600185161562000af6578102607f1c5b908002607f1c90600285161562000b0d578102607f1c5b908002607f1c90600485161562000b24578102607f1c5b908002607f1c90600885161562000b3b578102607f1c5b60049490941c93908002607f1c9062000adf565b60401c62000c84565b603f6c0100000000000000000000000083101562000b7c5760209290921b91601f19015b600160701b83101562000b955760109290921b91600f19015b600160781b83101562000bae5760089290921b91600719015b6001607c1b83101562000bc75760049290921b91600319015b6001607e1b83101562000be05760029290921b91600119015b6001607f1b83101562000bf95760019290921b91600019015b60005b861562000c6c576040821062000c1157600080fd5b600187161562000c3957918302607f1c918101600160801b83111562000c3957600192831c92015b928002607f1c9260019190911b90600160801b841062000c5f57600193841c9391909101905b600187901c965062000bfc565b6040811062000c7a57600080fd5b6040039190911c90505b60008362000c93578162000c98565b816000035b905060016001607f1b0319811280159062000cba575060016001607f1b038113155b62000cc457600080fd5b9695505050505050565b60008162000cdf57506000620004ff565b600083600f0b121562000cf157600080fd5b600f83900b6001600160801b038316810260401c90608084901c026001600160c01b0381111562000d2157600080fd5b60401b811981111562000d3357600080fd5b019392505050565b82805462000d499062000fd5565b90600052602060002090601f01602090048101928262000d6d576000855562000db8565b82601f1062000d8857805160ff191683800117855562000db8565b8280016001018555821562000db8579182015b8281111562000db857825182559160200191906001019062000d9b565b5062000dc692915062000dca565b5090565b5b8082111562000dc6576000815560010162000dcb565b6001600160a01b03811681146200032b57600080fd5b80516001600160801b038116811462000e0f57600080fd5b919050565b60008060006060848603121562000e2a57600080fd5b835162000e378162000de1565b925062000e476020850162000df7565b915062000e576040850162000df7565b90509250925092565b60006020828403121562000e7357600080fd5b8151620004fc8162000de1565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008262000ebe5762000ebe62000e80565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60006001600160801b038381168062000f2e5762000f2e62000e80565b92169190910492915050565b60006001600160801b0382811684821680830382111562000f5f5762000f5f62000e96565b01949350505050565b60008282101562000f7d5762000f7d62000e96565b500390565b6000821982111562000f985762000f9862000e96565b500190565b600081600019048311821515161562000fba5762000fba62000e96565b500290565b634e487b7160e01b600052600160045260246000fd5b600181811c9082168062000fea57607f821691505b602082108114156200100c57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c6138136200104660003960008181610f6a01528181610faa015281816111bc01526111fc01526138136000f3fe60806040526004361061020c5760003560e01c80628cc26214610211578063016a42841461024457806306fdde031461025b578063095ea7b31461027d5780630c1cd7f3146102ad57806318160ddd146102cf5780631b3c90a8146102e4578063213b329e146102fb57806322dec37b1461031057806323b872dd1461033d57806325d5971f1461035d5780632e42a8961461037d578063313ce5671461040f57806331903da11461042b5780633659cfe6146104585780633950935114610478578063399080ec146104985780633d9a12cc146104cd5780633e6326fc146104ed5780634162169f1461051b57806347b3e7e81461053c5780634f1db7f6146105695780634f1ef286146105895780635aef7de61461059c5780636eb62984146105bd57806370a08231146105dd578063777d6641146106135780637bcbb9ff14610641578063817b1cd214610661578063846141b31461069a57806395d89b41146106c7578063a218141b146106dc578063a457c2d7146106fd578063a694fc3a1461071d578063a9059cbb1461073d578063aaf5eb681461075d578063aba78c1614610779578063b20b9979146107ce578063b86543ba146107ee578063bf8e9b6e1461080f578063c671062914610824578063c7b8981c14610844578063dd62ed3e14610859578063df136d651461089f578063e1758bd8146108c7578063ebe91644146108dc575b600080fd5b34801561021d57600080fd5b5061023161022c366004613231565b6109ca565b6040519081526020015b60405180910390f35b34801561025057600080fd5b5061023161016c5481565b34801561026757600080fd5b50610270610a50565b60405161023b919061327a565b34801561028957600080fd5b5061029d6102983660046132ad565b610ae2565b604051901515815260200161023b565b3480156102b957600080fd5b50306000908152606a6020526040902054610231565b3480156102db57600080fd5b50603554610231565b3480156102f057600080fd5b506102f9610af8565b005b34801561030757600080fd5b50610231610c40565b34801561031c57600080fd5b5061023161032b366004613231565b60676020526000908152604090205481565b34801561034957600080fd5b5061029d6103583660046132d9565b610c6a565b34801561036957600080fd5b506102f961037836600461331a565b610d1b565b34801561038957600080fd5b506103dc610398366004613333565b606b602090815260009283526040808420909152908252902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b039586168152938516602085015291841691830191909152909116606082015260800161023b565b34801561041b57600080fd5b506040516002815260200161023b565b34801561043757600080fd5b50610231610446366004613231565b60686020526000908152604090205481565b34801561046457600080fd5b506102f9610473366004613231565b610f5f565b34801561048457600080fd5b5061029d6104933660046132ad565b611028565b3480156104a457600080fd5b506104b86104b3366004613231565b611064565b6040805192835260208301919091520161023b565b3480156104d957600080fd5b506102316104e836600461336c565b61107a565b3480156104f957600080fd5b506101045461050e906001600160a01b031681565b60405161023b91906133b6565b34801561052757600080fd5b506101025461050e906001600160a01b031681565b34801561054857600080fd5b50610231610557366004613231565b606a6020526000908152604090205481565b34801561057557600080fd5b506104b8610584366004613333565b61116e565b6102f96105973660046133e0565b6111b1565b3480156105a857600080fd5b506101035461050e906001600160a01b031681565b3480156105c957600080fd5b506102f96105d836600461331a565b61126b565b3480156105e957600080fd5b506102316105f8366004613231565b6001600160a01b031660009081526033602052604090205490565b34801561061f57600080fd5b5061016d5461062e90600f0b81565b604051600f9190910b815260200161023b565b34801561064d57600080fd5b5061023161065c366004613231565b61127d565b34801561066d57600080fd5b5061016b54610682906001600160801b031681565b6040516001600160801b03909116815260200161023b565b3480156106a657600080fd5b506102316106b5366004613231565b60696020526000908152604090205481565b3480156106d357600080fd5b50610270611298565b3480156106e857600080fd5b5061016a54610682906001600160801b031681565b34801561070957600080fd5b5061029d6107183660046132ad565b6112a7565b34801561072957600080fd5b506102f961073836600461331a565b611340565b34801561074957600080fd5b5061029d6107583660046132ad565b61150f565b34801561076957600080fd5b50610682670de0b6b3a764000081565b34801561078557600080fd5b506103dc610794366004613231565b61016960205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b3480156107da57600080fd5b506102f96107e93660046134a3565b61151c565b3480156107fa57600080fd5b5061016f54610682906001600160801b031681565b34801561081b57600080fd5b5061023161152d565b34801561083057600080fd5b5061023161083f366004613231565b61153d565b34801561085057600080fd5b506104b861154c565b34801561086557600080fd5b50610231610874366004613333565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b3480156108ab57600080fd5b5061016a5461068290600160801b90046001600160801b031681565b3480156108d357600080fd5b5061050e611599565b3480156108e857600080fd5b506109876108f7366004613231565b60408051608081018252600080825260208201819052918101829052606081019190915250306000908152606b602090815260408083206001600160a01b0394909416835292815290829020825160808101845281546001600160801b038082168352600160801b9182900481169483019490945260019092015480841694820194909452920416606082015290565b60405161023b919081516001600160801b039081168252602080840151821690830152604080840151821690830152606092830151169181019190915260800190565b6001600160a01b03811660009081526101696020526040812060010154670de0b6b3a7640000906001600160801b0316610a026118e9565b610a0c91906134e2565b6001600160a01b03841660009081526101696020526040902054610a409190600160801b90046001600160801b03166134f9565b610a4a919061352e565b92915050565b606060368054610a5f90613542565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8b90613542565b8015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b5050505050905090565b6000610aef3384846119e4565b50600192915050565b6101045460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610b5757600080fd5b505afa158015610b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8f9190613577565b61010280546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b158015610be557600080fd5b505afa158015610bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1d9190613577565b61010380546001600160a01b0319166001600160a01b0392909216919091179055565b61016f54600090610c5c90600c906001600160801b0316613594565b6001600160801b0316905090565b6000610c77848484611b08565b6001600160a01b038416600090815260346020908152604080832033845290915290205482811015610d015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610d0e85338584036119e4565b60019150505b9392505050565b6002610137541415610d3f5760405162461bcd60e51b8152600401610cf8906135ba565b6002610137556000610d51303361116e565b50905081610d5d578091505b60008211610dad5760405162461bcd60e51b815260206004820152601f60248201527f53686f756c6420776974686472617720706f73697469766520616d6f756e74006044820152606401610cf8565b81811015610df75760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da081d1bdad95b881cdd185ad959604a1b6044820152606401610cf8565b81610e023384611b97565b610e10303385600043611cd3565b50610e1a33611d70565b50610e253382611eda565b3360009081526101696020526040902054600160801b90046001600160801b0316610e5557610e5333612004565b505b61016e546001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610e869291906135f1565b602060405180830381600087803b158015610ea057600080fd5b505af1158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed8919061360a565b610f1f5760405162461bcd60e51b81526020600482015260186024820152771dda5d1a191c985dc81d1c985b9cd9995c8819985a5b195960421b6044820152606401610cf8565b60405183815233907f1248d48e2de900a1010c7fce73506969ecec243600bfc08b641b158f26d857cd9060200160405180910390a2505060016101375550565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610fa85760405162461bcd60e51b8152600401610cf89061362c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fda612155565b6001600160a01b0316146110005760405162461bcd60e51b8152600401610cf890613666565b61100981612171565b6040805160008082526020820190925261102591839190612179565b50565b3360008181526034602090815260408083206001600160a01b03871684529091528120549091610aef91859061105f9086906136a0565b6119e4565b600080611071308461116e565b91509150915091565b6001600160a01b038085166000818152606b602090815260408083209486168352938152838220845160808101865281546001600160801b038082168352600160801b918290048116838601526001909301548084168389015204909116606082015292825260659052918220548290156111645760006110fc8888886122c0565b91505082604001516001600160801b0316915082602001516001600160801b0316676765c793fa10079d601b1b8285600001516001600160801b031661114291906134f9565b61114c919061352e565b61115691906134e2565b61116090836136a0565b9150505b9695505050505050565b6001600160a01b039182166000818152606b60209081526040808320949095168252928352838120549181526065909252919020546001600160801b0390911691565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156111fa5760405162461bcd60e51b8152600401610cf89061362c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661122c612155565b6001600160a01b0316146112525760405162461bcd60e51b8152600401610cf890613666565b61125b82612171565b61126782826001612179565b5050565b6112736123b8565b611025308261248d565b6001600160a01b031660009081526066602052604090205490565b606060378054610a5f90613542565b3360009081526034602090815260408083206001600160a01b0386168452909152812054828110156113295760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610cf8565b61133633858584036119e4565b5060019392505050565b600081116113a25760405162461bcd60e51b815260206004820152602960248201527f596f75206e65656420746f207374616b65206120706f73697469766520746f6b604482015268195b88185b5bdd5b9d60ba1b6064820152608401610cf8565b61016e546001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101849052606401602060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143b919061360a565b6114aa5760405162461bcd60e51b815260206004820152603a60248201527f7472616e7366657246726f6d206661696c65642c206d616b652073757265207960448201527937ba9030b8383937bb32b2103a37b5b2b7103a3930b739b332b960311b6064820152608401610cf8565b6114b83033836000436124bf565b506114c33382612532565b6114cc33611d70565b506114d733826125ff565b60405181815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d9060200160405180910390a250565b6000610aef338484611b08565b6115246123b8565b611025816126fd565b60006115383061127d565b905090565b6000610a4a306000438561107a565b60008060026101375414156115735760405162461bcd60e51b8152600401610cf8906135ba565b60026101375561158233611d70565b915061158d33612004565b60016101375591929050565b6101045460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156115f957600080fd5b505afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115389190613577565b60008161163d57600080fd5b60006116498484612748565b905060016001607f1b036001600160801b0382161115610d1457600080fd5b600080600084600f0b1280156116815750826001166001145b905060008085600f0b12611695578461169a565b846000035b6001600160801b03169050600160801b600160401b821161172f57603f82901b91505b84156117275760018516156116d2578102607f1c5b908002607f1c9060028516156116e8578102607f1c5b908002607f1c9060048516156116fe578102607f1c5b908002607f1c906008851615611714578102607f1c5b60049490941c93908002607f1c906116bd565b60401c611845565b603f600160601b8310156117495760209290921b91601f19015b600160701b8310156117615760109290921b91600f19015b600160781b8310156117795760089290921b91600719015b6001607c1b8310156117915760049290921b91600319015b6001607e1b8310156117a95760029290921b91600119015b6001607f1b8310156117c15760019290921b91600019015b60005b861561182e57604082106117d757600080fd5b60018716156117fd57918302607f1c918101600160801b8311156117fd57600192831c92015b928002607f1c9260019190911b90600160801b841061182257600193841c9391909101905b600187901c96506117c4565b6040811061183b57600080fd5b6040039190911c90505b6000836118525781611857565b816000035b905060016001607f1b03198112801590611878575060016001607f1b038113155b61116457600080fd5b60008161189057506000610a4a565b600083600f0b12156118a157600080fd5b600f83900b6001600160801b038316810260401c90608084901c026001600160c01b038111156118d057600080fd5b60401b81198111156118e157600080fd5b019392505050565b61016b546000906001600160801b0316611915575061016a54600160801b90046001600160801b031690565b61016a5460009061194090611933906001600160801b0316436134e2565b61016d54600f0b90611668565b9050600061195d61016c5483600f0b61188190919063ffffffff16565b90508061016c600082825461197291906136a0565b909155505061016b5461198e906001600160801b03168261352e565b61016a80546010906119b1908490600160801b90046001600160801b03166136b8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b03169250505090565b6001600160a01b038316611a465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610cf8565b6001600160a01b038216611aa75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610cf8565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b611b16308483600043611cd3565b50611b218382611eda565b611b2f3083836000436124bf565b50611b3a82826125ff565b611b4383611d70565b50611b4d82611d70565b506001600160a01b03831660009081526101696020526040902054600160801b90046001600160801b0316611b8757611b8583612004565b505b611b928383836128a9565b505050565b6001600160a01b038216611bf75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610cf8565b6001600160a01b03821660009081526033602052604090205481811015611c6b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610cf8565b6001600160a01b0383166000908152603360205260408120838303905560358054849290611c9a9084906134e2565b90915550506040518281526000906001600160a01b038516906000805160206137be8339815191529060200160405180910390a3505050565b6000611ce0868484612a67565b6001600160a01b038087166000908152606b6020908152604080832093891683529290522054611d279087908790611d229088906001600160801b03166134e2565b612ae2565b6001600160a01b038616600090815260656020526040902054611d4b9085906134e2565b6001600160a01b03871660009081526065602052604090205550600195945050505050565b600080611d803084600043612c5e565b90508015610a4a576101045460405163bf40fac160e01b815260206004820152600a6024820152692922a82aaa20aa24a7a760b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015611de757600080fd5b505afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190613577565b6001600160a01b03166340c10f1984836040518363ffffffff1660e01b8152600401611e4c9291906135f1565b602060405180830381600087803b158015611e6657600080fd5b505af1158015611e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9e91906136e3565b5060405181815233907f43848d0574703c28d68ae8958e0571521618f60c4bcacfb094cff2156eaae0f19060200160405180910390a292915050565b81611ee481612d93565b60008211611f285760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b6044820152606401610cf8565b61016b8054839190600090611f479084906001600160801b03166136fc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b031682611f8891906134f9565b61016c6000828254611f9a91906134e2565b90915550506001600160a01b0383166000908152610169602052604090208054839190601090611fdb908490600160801b90046001600160801b03166136fc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b60008061201083612e69565b6101045460405163bf40fac160e01b815260206004820152600f60248201526e26b4b73a213ab9372bb930b83832b960891b60448201529192506001600160a01b03169063bf40fac19060640160206040518083038186803b15801561207557600080fd5b505afa158015612089573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ad9190613577565b6001600160a01b03166317eebf2184836040518363ffffffff1660e01b81526004016120da9291906135f1565b602060405180830381600087803b1580156120f457600080fd5b505af1925050508015612124575060408051601f3d908101601f19168201909252612121918101906136e3565b60015b6121315760009150612134565b91505b8082101561214f5761214f8361214a84846134e2565b612f28565b50919050565b600080516020613777833981519152546001600160a01b031690565b6110256123b8565b6000612183612155565b905061218e84613025565b60008351118061219b5750815b156121ac576121aa84846130b8565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166122b957805460ff191660011781556040516122279086906121f89085906024016133b6565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526130b8565b50805460ff19168155612238612155565b6001600160a01b0316826001600160a01b0316146122b05760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610cf8565b6122b9856131a3565b5050505050565b6001600160a01b0383166000908152606660209081526040808320546069909252909120549083821080156122f55750834310155b6122ff5781612301565b835b915060008343116123125743612314565b835b9050848110806123245750838310155b1561232f57506123b0565b600061233b84836134e2565b6001600160a01b0388166000908152606a60205260408120549192509061236290836134f9565b6001600160a01b03891660009081526065602052604090205490915061239382676765c793fa10079d601b1b6134f9565b61239d919061352e565b6123a790856136a0565b93508294505050505b935093915050565b6101025460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b1580156123fd57600080fd5b505afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124359190613577565b6001600160a01b03161461248b5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610cf8565b565b612495610c40565b61249f908261352e565b6001600160a01b039092166000908152606a602052604090209190915550565b60006124cc868484612a67565b6001600160a01b038087166000908152606b602090815260408083209389168352929052205461250e9087908790611d229088906001600160801b03166136a0565b6001600160a01b038616600090815260656020526040902054611d4b9085906136a0565b6001600160a01b0382166125885760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610cf8565b806035600082825461259a91906136a0565b90915550506001600160a01b038216600090815260336020526040812080548392906125c79084906136a0565b90915550506040518181526001600160a01b038316906000906000805160206137be8339815191529060200160405180910390a35050565b8161260981612d93565b6000821161264a5760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b6044820152606401610cf8565b61016b80548391906000906126699084906001600160801b03166136b8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b0316826126aa91906134f9565b61016c60008282546126bc91906136a0565b90915550506001600160a01b0383166000908152610169602052604090208054839190601090611fdb908490600160801b90046001600160801b03166136b8565b600061270881612d93565b612723826001600160801b0316670de0b6b3a7640000611631565b61016d80546001600160801b0319166001600160801b03929092169190911790555050565b60008161275457600080fd5b60006001600160c01b03841161277f5782604085901b8161277757612777613518565b049050612895565b60c084811c600160201b8110612797576020918201911c5b6201000081106127a9576010918201911c5b61010081106127ba576008918201911c5b601081106127ca576004918201911c5b600481106127da576002918201911c5b600281106127e9576001820191505b60bf820360018603901c6001018260ff0387901b8161280a5761280a613518565b0492506001600160801b0383111561282157600080fd5b608085901c83026001600160801b038616840260c088901c604089901b8281101561284d576001820391505b608084901b92900382811015612864576001820391505b829003608084901c821461287a5761287a613724565b88818161288957612889613518565b04870196505050505050505b6001600160801b03811115610d1457600080fd5b6001600160a01b03831661290d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610cf8565b6001600160a01b03821661296f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610cf8565b6001600160a01b038316600090815260336020526040902054818110156129e75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610cf8565b6001600160a01b03808516600090815260336020526040808220858503905591851681529081208054849290612a1e9084906136a0565b92505081905550826001600160a01b0316846001600160a01b03166000805160206137be83398151915284604051612a5891815260200190565b60405180910390a35b50505050565b6001600160a01b038316600090815260656020526040902054612aa25750506001600160a01b03166000908152606960205260409020439055565b600080612ab08585856122c0565b6001600160a01b0390961660009081526066602090815260408083209890985560699052959095209490945550505050565b6001600160a01b038084166000908152606b6020908152604080832093861683529290522080546001600160801b031615612bee5780546001600160a01b03851660009081526066602052604081205490916001600160801b03600160801b8204811692676765c793fa10079d601b1b92612b5d92166134f9565b612b67919061352e565b612b7191906134e2565b6001830154909150612b8d9082906001600160801b03166136b8565b6001830180546001600160801b0319166001600160801b03929092169190911790556001600160a01b038516600090815260686020526040902054612bd39082906136a0565b6001600160a01b038616600090815260686020526040902055505b80546001600160801b0319166001600160801b0383161781556001600160a01b038416600090815260666020526040902054676765c793fa10079d601b1b90612c3790846134f9565b612c41919061352e565b81546001600160801b03918216600160801b029116179055505050565b6000612c6b858484612a67565b6001600160a01b038086166000908152606b6020908152604080832093881683529290522054612ca790869086906001600160801b0316612ae2565b6001600160a01b038581166000908152606b6020908152604080832093881683529290522060010180546001600160801b038082169283929091601091612cf7918591600160801b9004166136b8565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b038881166000818152606b60209081526040808320948c16835293815283822060010180546001600160801b031916905591815260679091522054612d679250908316906136a0565b6001600160a01b0387166000908152606760205260409020556001600160801b03169050949350505050565b612d9b6118e9565b436001600160801b039081169116600160801b026001600160801b0319161761016a556001600160a01b0381161561102557612dd6816109ca565b6001600160a01b0382166000908152610169602052604081208054909190612e089084906001600160801b03166136b8565b82546001600160801b039182166101009390930a92830292820219169190911790915561016a546001600160a01b03841660009081526101696020526040902060010180546001600160801b031916600160801b9092049092161790555050565b600081612e7581612d93565b6001600160a01b03831660009081526101696020526040902080546001600160801b031981168255600190910180546001600160801b0392831694508492601091612ec9918591600160801b9004166136b8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b031682612f0a91906134f9565b61016c6000828254612f1c91906134e2565b90915550919392505050565b6001600160a01b0382166000908152610169602052604081208054839290612f5a9084906001600160801b03166136b8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550806101696000846001600160a01b03166001600160a01b0316815260200190815260200160002060010160108282829054906101000a90046001600160801b0316612fc991906136fc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b03168161300a91906134f9565b61016c600082825461301c91906136a0565b90915550505050565b803b6130895760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610cf8565b60008051602061377783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6131175760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610cf8565b600080846001600160a01b031684604051613132919061373a565b600060405180830381855af49150503d806000811461316d576040519150601f19603f3d011682016040523d82523d6000602084013e613172565b606091505b509150915061319a8282604051806060016040528060278152602001613797602791396131e3565b95945050505050565b6131ac81613025565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156131f2575081610d14565b8251156132025782518084602001fd5b8160405162461bcd60e51b8152600401610cf8919061327a565b6001600160a01b038116811461102557600080fd5b60006020828403121561324357600080fd5b8135610d148161321c565b60005b83811015613269578181015183820152602001613251565b83811115612a615750506000910152565b602081526000825180602084015261329981604085016020870161324e565b601f01601f19169190910160400192915050565b600080604083850312156132c057600080fd5b82356132cb8161321c565b946020939093013593505050565b6000806000606084860312156132ee57600080fd5b83356132f98161321c565b925060208401356133098161321c565b929592945050506040919091013590565b60006020828403121561332c57600080fd5b5035919050565b6000806040838503121561334657600080fd5b82356133518161321c565b915060208301356133618161321c565b809150509250929050565b6000806000806080858703121561338257600080fd5b843561338d8161321c565b9350602085013592506040850135915060608501356133ab8161321c565b939692955090935050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156133f357600080fd5b82356133fe8161321c565b915060208301356001600160401b038082111561341a57600080fd5b818501915085601f83011261342e57600080fd5b813581811115613440576134406133ca565b604051601f8201601f19908116603f01168101908382118183101715613468576134686133ca565b8160405282815288602084870101111561348157600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156134b557600080fd5b81356001600160801b0381168114610d1457600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156134f4576134f46134cc565b500390565b6000816000190483118215151615613513576135136134cc565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261353d5761353d613518565b500490565b600181811c9082168061355657607f821691505b6020821081141561214f57634e487b7160e01b600052602260045260246000fd5b60006020828403121561358957600080fd5b8151610d148161321c565b60006001600160801b03838116806135ae576135ae613518565b92169190910492915050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6001600160a01b03929092168252602082015260400190565b60006020828403121561361c57600080fd5b81518015158114610d1457600080fd5b6020808252602c9082015260008051602061375783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061375783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600082198211156136b3576136b36134cc565b500190565b60006001600160801b038281168482168083038211156136da576136da6134cc565b01949350505050565b6000602082840312156136f557600080fd5b5051919050565b60006001600160801b038381169083168181101561371c5761371c6134cc565b039392505050565b634e487b7160e01b600052600160045260246000fd5b6000825161374c81846020870161324e565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b18bc0c5d411e9b4341729578cc19a45f6d073dfbab5d4cec67878d2422ebc1a64736f6c63430008080033",
1025
- "deployedBytecode": "0x60806040526004361061020c5760003560e01c80628cc26214610211578063016a42841461024457806306fdde031461025b578063095ea7b31461027d5780630c1cd7f3146102ad57806318160ddd146102cf5780631b3c90a8146102e4578063213b329e146102fb57806322dec37b1461031057806323b872dd1461033d57806325d5971f1461035d5780632e42a8961461037d578063313ce5671461040f57806331903da11461042b5780633659cfe6146104585780633950935114610478578063399080ec146104985780633d9a12cc146104cd5780633e6326fc146104ed5780634162169f1461051b57806347b3e7e81461053c5780634f1db7f6146105695780634f1ef286146105895780635aef7de61461059c5780636eb62984146105bd57806370a08231146105dd578063777d6641146106135780637bcbb9ff14610641578063817b1cd214610661578063846141b31461069a57806395d89b41146106c7578063a218141b146106dc578063a457c2d7146106fd578063a694fc3a1461071d578063a9059cbb1461073d578063aaf5eb681461075d578063aba78c1614610779578063b20b9979146107ce578063b86543ba146107ee578063bf8e9b6e1461080f578063c671062914610824578063c7b8981c14610844578063dd62ed3e14610859578063df136d651461089f578063e1758bd8146108c7578063ebe91644146108dc575b600080fd5b34801561021d57600080fd5b5061023161022c366004613231565b6109ca565b6040519081526020015b60405180910390f35b34801561025057600080fd5b5061023161016c5481565b34801561026757600080fd5b50610270610a50565b60405161023b919061327a565b34801561028957600080fd5b5061029d6102983660046132ad565b610ae2565b604051901515815260200161023b565b3480156102b957600080fd5b50306000908152606a6020526040902054610231565b3480156102db57600080fd5b50603554610231565b3480156102f057600080fd5b506102f9610af8565b005b34801561030757600080fd5b50610231610c40565b34801561031c57600080fd5b5061023161032b366004613231565b60676020526000908152604090205481565b34801561034957600080fd5b5061029d6103583660046132d9565b610c6a565b34801561036957600080fd5b506102f961037836600461331a565b610d1b565b34801561038957600080fd5b506103dc610398366004613333565b606b602090815260009283526040808420909152908252902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b039586168152938516602085015291841691830191909152909116606082015260800161023b565b34801561041b57600080fd5b506040516002815260200161023b565b34801561043757600080fd5b50610231610446366004613231565b60686020526000908152604090205481565b34801561046457600080fd5b506102f9610473366004613231565b610f5f565b34801561048457600080fd5b5061029d6104933660046132ad565b611028565b3480156104a457600080fd5b506104b86104b3366004613231565b611064565b6040805192835260208301919091520161023b565b3480156104d957600080fd5b506102316104e836600461336c565b61107a565b3480156104f957600080fd5b506101045461050e906001600160a01b031681565b60405161023b91906133b6565b34801561052757600080fd5b506101025461050e906001600160a01b031681565b34801561054857600080fd5b50610231610557366004613231565b606a6020526000908152604090205481565b34801561057557600080fd5b506104b8610584366004613333565b61116e565b6102f96105973660046133e0565b6111b1565b3480156105a857600080fd5b506101035461050e906001600160a01b031681565b3480156105c957600080fd5b506102f96105d836600461331a565b61126b565b3480156105e957600080fd5b506102316105f8366004613231565b6001600160a01b031660009081526033602052604090205490565b34801561061f57600080fd5b5061016d5461062e90600f0b81565b604051600f9190910b815260200161023b565b34801561064d57600080fd5b5061023161065c366004613231565b61127d565b34801561066d57600080fd5b5061016b54610682906001600160801b031681565b6040516001600160801b03909116815260200161023b565b3480156106a657600080fd5b506102316106b5366004613231565b60696020526000908152604090205481565b3480156106d357600080fd5b50610270611298565b3480156106e857600080fd5b5061016a54610682906001600160801b031681565b34801561070957600080fd5b5061029d6107183660046132ad565b6112a7565b34801561072957600080fd5b506102f961073836600461331a565b611340565b34801561074957600080fd5b5061029d6107583660046132ad565b61150f565b34801561076957600080fd5b50610682670de0b6b3a764000081565b34801561078557600080fd5b506103dc610794366004613231565b61016960205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b3480156107da57600080fd5b506102f96107e93660046134a3565b61151c565b3480156107fa57600080fd5b5061016f54610682906001600160801b031681565b34801561081b57600080fd5b5061023161152d565b34801561083057600080fd5b5061023161083f366004613231565b61153d565b34801561085057600080fd5b506104b861154c565b34801561086557600080fd5b50610231610874366004613333565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b3480156108ab57600080fd5b5061016a5461068290600160801b90046001600160801b031681565b3480156108d357600080fd5b5061050e611599565b3480156108e857600080fd5b506109876108f7366004613231565b60408051608081018252600080825260208201819052918101829052606081019190915250306000908152606b602090815260408083206001600160a01b0394909416835292815290829020825160808101845281546001600160801b038082168352600160801b9182900481169483019490945260019092015480841694820194909452920416606082015290565b60405161023b919081516001600160801b039081168252602080840151821690830152604080840151821690830152606092830151169181019190915260800190565b6001600160a01b03811660009081526101696020526040812060010154670de0b6b3a7640000906001600160801b0316610a026118e9565b610a0c91906134e2565b6001600160a01b03841660009081526101696020526040902054610a409190600160801b90046001600160801b03166134f9565b610a4a919061352e565b92915050565b606060368054610a5f90613542565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8b90613542565b8015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b5050505050905090565b6000610aef3384846119e4565b50600192915050565b6101045460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610b5757600080fd5b505afa158015610b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8f9190613577565b61010280546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b158015610be557600080fd5b505afa158015610bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1d9190613577565b61010380546001600160a01b0319166001600160a01b0392909216919091179055565b61016f54600090610c5c90600c906001600160801b0316613594565b6001600160801b0316905090565b6000610c77848484611b08565b6001600160a01b038416600090815260346020908152604080832033845290915290205482811015610d015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610d0e85338584036119e4565b60019150505b9392505050565b6002610137541415610d3f5760405162461bcd60e51b8152600401610cf8906135ba565b6002610137556000610d51303361116e565b50905081610d5d578091505b60008211610dad5760405162461bcd60e51b815260206004820152601f60248201527f53686f756c6420776974686472617720706f73697469766520616d6f756e74006044820152606401610cf8565b81811015610df75760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da081d1bdad95b881cdd185ad959604a1b6044820152606401610cf8565b81610e023384611b97565b610e10303385600043611cd3565b50610e1a33611d70565b50610e253382611eda565b3360009081526101696020526040902054600160801b90046001600160801b0316610e5557610e5333612004565b505b61016e546001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610e869291906135f1565b602060405180830381600087803b158015610ea057600080fd5b505af1158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed8919061360a565b610f1f5760405162461bcd60e51b81526020600482015260186024820152771dda5d1a191c985dc81d1c985b9cd9995c8819985a5b195960421b6044820152606401610cf8565b60405183815233907f1248d48e2de900a1010c7fce73506969ecec243600bfc08b641b158f26d857cd9060200160405180910390a2505060016101375550565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610fa85760405162461bcd60e51b8152600401610cf89061362c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fda612155565b6001600160a01b0316146110005760405162461bcd60e51b8152600401610cf890613666565b61100981612171565b6040805160008082526020820190925261102591839190612179565b50565b3360008181526034602090815260408083206001600160a01b03871684529091528120549091610aef91859061105f9086906136a0565b6119e4565b600080611071308461116e565b91509150915091565b6001600160a01b038085166000818152606b602090815260408083209486168352938152838220845160808101865281546001600160801b038082168352600160801b918290048116838601526001909301548084168389015204909116606082015292825260659052918220548290156111645760006110fc8888886122c0565b91505082604001516001600160801b0316915082602001516001600160801b0316676765c793fa10079d601b1b8285600001516001600160801b031661114291906134f9565b61114c919061352e565b61115691906134e2565b61116090836136a0565b9150505b9695505050505050565b6001600160a01b039182166000818152606b60209081526040808320949095168252928352838120549181526065909252919020546001600160801b0390911691565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156111fa5760405162461bcd60e51b8152600401610cf89061362c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661122c612155565b6001600160a01b0316146112525760405162461bcd60e51b8152600401610cf890613666565b61125b82612171565b61126782826001612179565b5050565b6112736123b8565b611025308261248d565b6001600160a01b031660009081526066602052604090205490565b606060378054610a5f90613542565b3360009081526034602090815260408083206001600160a01b0386168452909152812054828110156113295760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610cf8565b61133633858584036119e4565b5060019392505050565b600081116113a25760405162461bcd60e51b815260206004820152602960248201527f596f75206e65656420746f207374616b65206120706f73697469766520746f6b604482015268195b88185b5bdd5b9d60ba1b6064820152608401610cf8565b61016e546001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101849052606401602060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143b919061360a565b6114aa5760405162461bcd60e51b815260206004820152603a60248201527f7472616e7366657246726f6d206661696c65642c206d616b652073757265207960448201527937ba9030b8383937bb32b2103a37b5b2b7103a3930b739b332b960311b6064820152608401610cf8565b6114b83033836000436124bf565b506114c33382612532565b6114cc33611d70565b506114d733826125ff565b60405181815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d9060200160405180910390a250565b6000610aef338484611b08565b6115246123b8565b611025816126fd565b60006115383061127d565b905090565b6000610a4a306000438561107a565b60008060026101375414156115735760405162461bcd60e51b8152600401610cf8906135ba565b60026101375561158233611d70565b915061158d33612004565b60016101375591929050565b6101045460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156115f957600080fd5b505afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115389190613577565b60008161163d57600080fd5b60006116498484612748565b905060016001607f1b036001600160801b0382161115610d1457600080fd5b600080600084600f0b1280156116815750826001166001145b905060008085600f0b12611695578461169a565b846000035b6001600160801b03169050600160801b600160401b821161172f57603f82901b91505b84156117275760018516156116d2578102607f1c5b908002607f1c9060028516156116e8578102607f1c5b908002607f1c9060048516156116fe578102607f1c5b908002607f1c906008851615611714578102607f1c5b60049490941c93908002607f1c906116bd565b60401c611845565b603f600160601b8310156117495760209290921b91601f19015b600160701b8310156117615760109290921b91600f19015b600160781b8310156117795760089290921b91600719015b6001607c1b8310156117915760049290921b91600319015b6001607e1b8310156117a95760029290921b91600119015b6001607f1b8310156117c15760019290921b91600019015b60005b861561182e57604082106117d757600080fd5b60018716156117fd57918302607f1c918101600160801b8311156117fd57600192831c92015b928002607f1c9260019190911b90600160801b841061182257600193841c9391909101905b600187901c96506117c4565b6040811061183b57600080fd5b6040039190911c90505b6000836118525781611857565b816000035b905060016001607f1b03198112801590611878575060016001607f1b038113155b61116457600080fd5b60008161189057506000610a4a565b600083600f0b12156118a157600080fd5b600f83900b6001600160801b038316810260401c90608084901c026001600160c01b038111156118d057600080fd5b60401b81198111156118e157600080fd5b019392505050565b61016b546000906001600160801b0316611915575061016a54600160801b90046001600160801b031690565b61016a5460009061194090611933906001600160801b0316436134e2565b61016d54600f0b90611668565b9050600061195d61016c5483600f0b61188190919063ffffffff16565b90508061016c600082825461197291906136a0565b909155505061016b5461198e906001600160801b03168261352e565b61016a80546010906119b1908490600160801b90046001600160801b03166136b8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b03169250505090565b6001600160a01b038316611a465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610cf8565b6001600160a01b038216611aa75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610cf8565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b611b16308483600043611cd3565b50611b218382611eda565b611b2f3083836000436124bf565b50611b3a82826125ff565b611b4383611d70565b50611b4d82611d70565b506001600160a01b03831660009081526101696020526040902054600160801b90046001600160801b0316611b8757611b8583612004565b505b611b928383836128a9565b505050565b6001600160a01b038216611bf75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610cf8565b6001600160a01b03821660009081526033602052604090205481811015611c6b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610cf8565b6001600160a01b0383166000908152603360205260408120838303905560358054849290611c9a9084906134e2565b90915550506040518281526000906001600160a01b038516906000805160206137be8339815191529060200160405180910390a3505050565b6000611ce0868484612a67565b6001600160a01b038087166000908152606b6020908152604080832093891683529290522054611d279087908790611d229088906001600160801b03166134e2565b612ae2565b6001600160a01b038616600090815260656020526040902054611d4b9085906134e2565b6001600160a01b03871660009081526065602052604090205550600195945050505050565b600080611d803084600043612c5e565b90508015610a4a576101045460405163bf40fac160e01b815260206004820152600a6024820152692922a82aaa20aa24a7a760b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015611de757600080fd5b505afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190613577565b6001600160a01b03166340c10f1984836040518363ffffffff1660e01b8152600401611e4c9291906135f1565b602060405180830381600087803b158015611e6657600080fd5b505af1158015611e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9e91906136e3565b5060405181815233907f43848d0574703c28d68ae8958e0571521618f60c4bcacfb094cff2156eaae0f19060200160405180910390a292915050565b81611ee481612d93565b60008211611f285760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b6044820152606401610cf8565b61016b8054839190600090611f479084906001600160801b03166136fc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b031682611f8891906134f9565b61016c6000828254611f9a91906134e2565b90915550506001600160a01b0383166000908152610169602052604090208054839190601090611fdb908490600160801b90046001600160801b03166136fc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b60008061201083612e69565b6101045460405163bf40fac160e01b815260206004820152600f60248201526e26b4b73a213ab9372bb930b83832b960891b60448201529192506001600160a01b03169063bf40fac19060640160206040518083038186803b15801561207557600080fd5b505afa158015612089573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ad9190613577565b6001600160a01b03166317eebf2184836040518363ffffffff1660e01b81526004016120da9291906135f1565b602060405180830381600087803b1580156120f457600080fd5b505af1925050508015612124575060408051601f3d908101601f19168201909252612121918101906136e3565b60015b6121315760009150612134565b91505b8082101561214f5761214f8361214a84846134e2565b612f28565b50919050565b600080516020613777833981519152546001600160a01b031690565b6110256123b8565b6000612183612155565b905061218e84613025565b60008351118061219b5750815b156121ac576121aa84846130b8565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166122b957805460ff191660011781556040516122279086906121f89085906024016133b6565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526130b8565b50805460ff19168155612238612155565b6001600160a01b0316826001600160a01b0316146122b05760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610cf8565b6122b9856131a3565b5050505050565b6001600160a01b0383166000908152606660209081526040808320546069909252909120549083821080156122f55750834310155b6122ff5781612301565b835b915060008343116123125743612314565b835b9050848110806123245750838310155b1561232f57506123b0565b600061233b84836134e2565b6001600160a01b0388166000908152606a60205260408120549192509061236290836134f9565b6001600160a01b03891660009081526065602052604090205490915061239382676765c793fa10079d601b1b6134f9565b61239d919061352e565b6123a790856136a0565b93508294505050505b935093915050565b6101025460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b1580156123fd57600080fd5b505afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124359190613577565b6001600160a01b03161461248b5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610cf8565b565b612495610c40565b61249f908261352e565b6001600160a01b039092166000908152606a602052604090209190915550565b60006124cc868484612a67565b6001600160a01b038087166000908152606b602090815260408083209389168352929052205461250e9087908790611d229088906001600160801b03166136a0565b6001600160a01b038616600090815260656020526040902054611d4b9085906136a0565b6001600160a01b0382166125885760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610cf8565b806035600082825461259a91906136a0565b90915550506001600160a01b038216600090815260336020526040812080548392906125c79084906136a0565b90915550506040518181526001600160a01b038316906000906000805160206137be8339815191529060200160405180910390a35050565b8161260981612d93565b6000821161264a5760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b6044820152606401610cf8565b61016b80548391906000906126699084906001600160801b03166136b8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b0316826126aa91906134f9565b61016c60008282546126bc91906136a0565b90915550506001600160a01b0383166000908152610169602052604090208054839190601090611fdb908490600160801b90046001600160801b03166136b8565b600061270881612d93565b612723826001600160801b0316670de0b6b3a7640000611631565b61016d80546001600160801b0319166001600160801b03929092169190911790555050565b60008161275457600080fd5b60006001600160c01b03841161277f5782604085901b8161277757612777613518565b049050612895565b60c084811c600160201b8110612797576020918201911c5b6201000081106127a9576010918201911c5b61010081106127ba576008918201911c5b601081106127ca576004918201911c5b600481106127da576002918201911c5b600281106127e9576001820191505b60bf820360018603901c6001018260ff0387901b8161280a5761280a613518565b0492506001600160801b0383111561282157600080fd5b608085901c83026001600160801b038616840260c088901c604089901b8281101561284d576001820391505b608084901b92900382811015612864576001820391505b829003608084901c821461287a5761287a613724565b88818161288957612889613518565b04870196505050505050505b6001600160801b03811115610d1457600080fd5b6001600160a01b03831661290d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610cf8565b6001600160a01b03821661296f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610cf8565b6001600160a01b038316600090815260336020526040902054818110156129e75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610cf8565b6001600160a01b03808516600090815260336020526040808220858503905591851681529081208054849290612a1e9084906136a0565b92505081905550826001600160a01b0316846001600160a01b03166000805160206137be83398151915284604051612a5891815260200190565b60405180910390a35b50505050565b6001600160a01b038316600090815260656020526040902054612aa25750506001600160a01b03166000908152606960205260409020439055565b600080612ab08585856122c0565b6001600160a01b0390961660009081526066602090815260408083209890985560699052959095209490945550505050565b6001600160a01b038084166000908152606b6020908152604080832093861683529290522080546001600160801b031615612bee5780546001600160a01b03851660009081526066602052604081205490916001600160801b03600160801b8204811692676765c793fa10079d601b1b92612b5d92166134f9565b612b67919061352e565b612b7191906134e2565b6001830154909150612b8d9082906001600160801b03166136b8565b6001830180546001600160801b0319166001600160801b03929092169190911790556001600160a01b038516600090815260686020526040902054612bd39082906136a0565b6001600160a01b038616600090815260686020526040902055505b80546001600160801b0319166001600160801b0383161781556001600160a01b038416600090815260666020526040902054676765c793fa10079d601b1b90612c3790846134f9565b612c41919061352e565b81546001600160801b03918216600160801b029116179055505050565b6000612c6b858484612a67565b6001600160a01b038086166000908152606b6020908152604080832093881683529290522054612ca790869086906001600160801b0316612ae2565b6001600160a01b038581166000908152606b6020908152604080832093881683529290522060010180546001600160801b038082169283929091601091612cf7918591600160801b9004166136b8565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b038881166000818152606b60209081526040808320948c16835293815283822060010180546001600160801b031916905591815260679091522054612d679250908316906136a0565b6001600160a01b0387166000908152606760205260409020556001600160801b03169050949350505050565b612d9b6118e9565b436001600160801b039081169116600160801b026001600160801b0319161761016a556001600160a01b0381161561102557612dd6816109ca565b6001600160a01b0382166000908152610169602052604081208054909190612e089084906001600160801b03166136b8565b82546001600160801b039182166101009390930a92830292820219169190911790915561016a546001600160a01b03841660009081526101696020526040902060010180546001600160801b031916600160801b9092049092161790555050565b600081612e7581612d93565b6001600160a01b03831660009081526101696020526040902080546001600160801b031981168255600190910180546001600160801b0392831694508492601091612ec9918591600160801b9004166136b8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b031682612f0a91906134f9565b61016c6000828254612f1c91906134e2565b90915550919392505050565b6001600160a01b0382166000908152610169602052604081208054839290612f5a9084906001600160801b03166136b8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550806101696000846001600160a01b03166001600160a01b0316815260200190815260200160002060010160108282829054906101000a90046001600160801b0316612fc991906136fc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550670de0b6b3a76400006001600160801b03168161300a91906134f9565b61016c600082825461301c91906136a0565b90915550505050565b803b6130895760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610cf8565b60008051602061377783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6131175760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610cf8565b600080846001600160a01b031684604051613132919061373a565b600060405180830381855af49150503d806000811461316d576040519150601f19603f3d011682016040523d82523d6000602084013e613172565b606091505b509150915061319a8282604051806060016040528060278152602001613797602791396131e3565b95945050505050565b6131ac81613025565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156131f2575081610d14565b8251156132025782518084602001fd5b8160405162461bcd60e51b8152600401610cf8919061327a565b6001600160a01b038116811461102557600080fd5b60006020828403121561324357600080fd5b8135610d148161321c565b60005b83811015613269578181015183820152602001613251565b83811115612a615750506000910152565b602081526000825180602084015261329981604085016020870161324e565b601f01601f19169190910160400192915050565b600080604083850312156132c057600080fd5b82356132cb8161321c565b946020939093013593505050565b6000806000606084860312156132ee57600080fd5b83356132f98161321c565b925060208401356133098161321c565b929592945050506040919091013590565b60006020828403121561332c57600080fd5b5035919050565b6000806040838503121561334657600080fd5b82356133518161321c565b915060208301356133618161321c565b809150509250929050565b6000806000806080858703121561338257600080fd5b843561338d8161321c565b9350602085013592506040850135915060608501356133ab8161321c565b939692955090935050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156133f357600080fd5b82356133fe8161321c565b915060208301356001600160401b038082111561341a57600080fd5b818501915085601f83011261342e57600080fd5b813581811115613440576134406133ca565b604051601f8201601f19908116603f01168101908382118183101715613468576134686133ca565b8160405282815288602084870101111561348157600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156134b557600080fd5b81356001600160801b0381168114610d1457600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156134f4576134f46134cc565b500390565b6000816000190483118215151615613513576135136134cc565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261353d5761353d613518565b500490565b600181811c9082168061355657607f821691505b6020821081141561214f57634e487b7160e01b600052602260045260246000fd5b60006020828403121561358957600080fd5b8151610d148161321c565b60006001600160801b03838116806135ae576135ae613518565b92169190910492915050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6001600160a01b03929092168252602082015260400190565b60006020828403121561361c57600080fd5b81518015158114610d1457600080fd5b6020808252602c9082015260008051602061375783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061375783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600082198211156136b3576136b36134cc565b500190565b60006001600160801b038281168482168083038211156136da576136da6134cc565b01949350505050565b6000602082840312156136f557600080fd5b5051919050565b60006001600160801b038381169083168181101561371c5761371c6134cc565b039392505050565b634e487b7160e01b600052600160045260246000fd5b6000825161374c81846020870161324e565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b18bc0c5d411e9b4341729578cc19a45f6d073dfbab5d4cec67878d2422ebc1a64736f6c63430008080033",
1026
- "linkReferences": {},
1027
- "deployedLinkReferences": {}
1028
- }