@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,954 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "GoodDollarMintBurnWrapper",
4
- "sourceName": "contracts/utils/GoodDollarMintBurnWrapper.sol",
5
- "abi": [
6
- {
7
- "anonymous": false,
8
- "inputs": [
9
- {
10
- "indexed": false,
11
- "internalType": "address",
12
- "name": "previousAdmin",
13
- "type": "address"
14
- },
15
- {
16
- "indexed": false,
17
- "internalType": "address",
18
- "name": "newAdmin",
19
- "type": "address"
20
- }
21
- ],
22
- "name": "AdminChanged",
23
- "type": "event"
24
- },
25
- {
26
- "anonymous": false,
27
- "inputs": [
28
- {
29
- "indexed": true,
30
- "internalType": "address",
31
- "name": "beacon",
32
- "type": "address"
33
- }
34
- ],
35
- "name": "BeaconUpgraded",
36
- "type": "event"
37
- },
38
- {
39
- "anonymous": false,
40
- "inputs": [
41
- {
42
- "indexed": false,
43
- "internalType": "bytes32",
44
- "name": "role",
45
- "type": "bytes32"
46
- }
47
- ],
48
- "name": "Paused",
49
- "type": "event"
50
- },
51
- {
52
- "anonymous": false,
53
- "inputs": [
54
- {
55
- "indexed": true,
56
- "internalType": "bytes32",
57
- "name": "role",
58
- "type": "bytes32"
59
- },
60
- {
61
- "indexed": true,
62
- "internalType": "bytes32",
63
- "name": "previousAdminRole",
64
- "type": "bytes32"
65
- },
66
- {
67
- "indexed": true,
68
- "internalType": "bytes32",
69
- "name": "newAdminRole",
70
- "type": "bytes32"
71
- }
72
- ],
73
- "name": "RoleAdminChanged",
74
- "type": "event"
75
- },
76
- {
77
- "anonymous": false,
78
- "inputs": [
79
- {
80
- "indexed": true,
81
- "internalType": "bytes32",
82
- "name": "role",
83
- "type": "bytes32"
84
- },
85
- {
86
- "indexed": true,
87
- "internalType": "address",
88
- "name": "account",
89
- "type": "address"
90
- },
91
- {
92
- "indexed": true,
93
- "internalType": "address",
94
- "name": "sender",
95
- "type": "address"
96
- }
97
- ],
98
- "name": "RoleGranted",
99
- "type": "event"
100
- },
101
- {
102
- "anonymous": false,
103
- "inputs": [
104
- {
105
- "indexed": true,
106
- "internalType": "bytes32",
107
- "name": "role",
108
- "type": "bytes32"
109
- },
110
- {
111
- "indexed": true,
112
- "internalType": "address",
113
- "name": "account",
114
- "type": "address"
115
- },
116
- {
117
- "indexed": true,
118
- "internalType": "address",
119
- "name": "sender",
120
- "type": "address"
121
- }
122
- ],
123
- "name": "RoleRevoked",
124
- "type": "event"
125
- },
126
- {
127
- "anonymous": false,
128
- "inputs": [
129
- {
130
- "indexed": false,
131
- "internalType": "address",
132
- "name": "to",
133
- "type": "address"
134
- },
135
- {
136
- "indexed": false,
137
- "internalType": "uint256",
138
- "name": "amount",
139
- "type": "uint256"
140
- },
141
- {
142
- "indexed": false,
143
- "internalType": "uint256",
144
- "name": "sent",
145
- "type": "uint256"
146
- },
147
- {
148
- "indexed": false,
149
- "internalType": "uint256",
150
- "name": "minted",
151
- "type": "uint256"
152
- }
153
- ],
154
- "name": "SendOrMint",
155
- "type": "event"
156
- },
157
- {
158
- "anonymous": false,
159
- "inputs": [
160
- {
161
- "indexed": false,
162
- "internalType": "bytes32",
163
- "name": "role",
164
- "type": "bytes32"
165
- }
166
- ],
167
- "name": "Unpaused",
168
- "type": "event"
169
- },
170
- {
171
- "anonymous": false,
172
- "inputs": [
173
- {
174
- "indexed": true,
175
- "internalType": "address",
176
- "name": "implementation",
177
- "type": "address"
178
- }
179
- ],
180
- "name": "Upgraded",
181
- "type": "event"
182
- },
183
- {
184
- "inputs": [],
185
- "name": "BRIDGE_ROLE",
186
- "outputs": [
187
- {
188
- "internalType": "bytes32",
189
- "name": "",
190
- "type": "bytes32"
191
- }
192
- ],
193
- "stateMutability": "view",
194
- "type": "function"
195
- },
196
- {
197
- "inputs": [],
198
- "name": "DEFAULT_ADMIN_ROLE",
199
- "outputs": [
200
- {
201
- "internalType": "bytes32",
202
- "name": "",
203
- "type": "bytes32"
204
- }
205
- ],
206
- "stateMutability": "view",
207
- "type": "function"
208
- },
209
- {
210
- "inputs": [],
211
- "name": "MINTER_ROLE",
212
- "outputs": [
213
- {
214
- "internalType": "bytes32",
215
- "name": "",
216
- "type": "bytes32"
217
- }
218
- ],
219
- "stateMutability": "view",
220
- "type": "function"
221
- },
222
- {
223
- "inputs": [],
224
- "name": "PAUSE_ALL_ROLE",
225
- "outputs": [
226
- {
227
- "internalType": "bytes32",
228
- "name": "",
229
- "type": "bytes32"
230
- }
231
- ],
232
- "stateMutability": "view",
233
- "type": "function"
234
- },
235
- {
236
- "inputs": [],
237
- "name": "PAUSE_BURN_ROLE",
238
- "outputs": [
239
- {
240
- "internalType": "bytes32",
241
- "name": "",
242
- "type": "bytes32"
243
- }
244
- ],
245
- "stateMutability": "view",
246
- "type": "function"
247
- },
248
- {
249
- "inputs": [],
250
- "name": "PAUSE_MINT_ROLE",
251
- "outputs": [
252
- {
253
- "internalType": "bytes32",
254
- "name": "",
255
- "type": "bytes32"
256
- }
257
- ],
258
- "stateMutability": "view",
259
- "type": "function"
260
- },
261
- {
262
- "inputs": [],
263
- "name": "PAUSE_REWARDS_ROLE",
264
- "outputs": [
265
- {
266
- "internalType": "bytes32",
267
- "name": "",
268
- "type": "bytes32"
269
- }
270
- ],
271
- "stateMutability": "view",
272
- "type": "function"
273
- },
274
- {
275
- "inputs": [],
276
- "name": "PAUSE_ROUTER_ROLE",
277
- "outputs": [
278
- {
279
- "internalType": "bytes32",
280
- "name": "",
281
- "type": "bytes32"
282
- }
283
- ],
284
- "stateMutability": "view",
285
- "type": "function"
286
- },
287
- {
288
- "inputs": [],
289
- "name": "REWARDS_ROLE",
290
- "outputs": [
291
- {
292
- "internalType": "bytes32",
293
- "name": "",
294
- "type": "bytes32"
295
- }
296
- ],
297
- "stateMutability": "view",
298
- "type": "function"
299
- },
300
- {
301
- "inputs": [],
302
- "name": "ROUTER_ROLE",
303
- "outputs": [
304
- {
305
- "internalType": "bytes32",
306
- "name": "",
307
- "type": "bytes32"
308
- }
309
- ],
310
- "stateMutability": "view",
311
- "type": "function"
312
- },
313
- {
314
- "inputs": [
315
- {
316
- "internalType": "address",
317
- "name": "minter",
318
- "type": "address"
319
- },
320
- {
321
- "internalType": "uint256",
322
- "name": "cap",
323
- "type": "uint256"
324
- },
325
- {
326
- "internalType": "uint256",
327
- "name": "max",
328
- "type": "uint256"
329
- },
330
- {
331
- "internalType": "uint32",
332
- "name": "bpsPerDay",
333
- "type": "uint32"
334
- },
335
- {
336
- "internalType": "bool",
337
- "name": "withRewardsRole",
338
- "type": "bool"
339
- }
340
- ],
341
- "name": "addMinter",
342
- "outputs": [],
343
- "stateMutability": "nonpayable",
344
- "type": "function"
345
- },
346
- {
347
- "inputs": [],
348
- "name": "avatar",
349
- "outputs": [
350
- {
351
- "internalType": "address",
352
- "name": "",
353
- "type": "address"
354
- }
355
- ],
356
- "stateMutability": "view",
357
- "type": "function"
358
- },
359
- {
360
- "inputs": [
361
- {
362
- "internalType": "address",
363
- "name": "from",
364
- "type": "address"
365
- },
366
- {
367
- "internalType": "uint256",
368
- "name": "amount",
369
- "type": "uint256"
370
- }
371
- ],
372
- "name": "burn",
373
- "outputs": [
374
- {
375
- "internalType": "bool",
376
- "name": "",
377
- "type": "bool"
378
- }
379
- ],
380
- "stateMutability": "nonpayable",
381
- "type": "function"
382
- },
383
- {
384
- "inputs": [],
385
- "name": "dao",
386
- "outputs": [
387
- {
388
- "internalType": "contract Controller",
389
- "name": "",
390
- "type": "address"
391
- }
392
- ],
393
- "stateMutability": "view",
394
- "type": "function"
395
- },
396
- {
397
- "inputs": [
398
- {
399
- "internalType": "bytes32",
400
- "name": "role",
401
- "type": "bytes32"
402
- }
403
- ],
404
- "name": "getRoleAdmin",
405
- "outputs": [
406
- {
407
- "internalType": "bytes32",
408
- "name": "",
409
- "type": "bytes32"
410
- }
411
- ],
412
- "stateMutability": "view",
413
- "type": "function"
414
- },
415
- {
416
- "inputs": [
417
- {
418
- "internalType": "bytes32",
419
- "name": "role",
420
- "type": "bytes32"
421
- },
422
- {
423
- "internalType": "uint256",
424
- "name": "index",
425
- "type": "uint256"
426
- }
427
- ],
428
- "name": "getRoleMember",
429
- "outputs": [
430
- {
431
- "internalType": "address",
432
- "name": "",
433
- "type": "address"
434
- }
435
- ],
436
- "stateMutability": "view",
437
- "type": "function"
438
- },
439
- {
440
- "inputs": [
441
- {
442
- "internalType": "bytes32",
443
- "name": "role",
444
- "type": "bytes32"
445
- }
446
- ],
447
- "name": "getRoleMemberCount",
448
- "outputs": [
449
- {
450
- "internalType": "uint256",
451
- "name": "",
452
- "type": "uint256"
453
- }
454
- ],
455
- "stateMutability": "view",
456
- "type": "function"
457
- },
458
- {
459
- "inputs": [
460
- {
461
- "internalType": "bytes32",
462
- "name": "role",
463
- "type": "bytes32"
464
- },
465
- {
466
- "internalType": "address",
467
- "name": "account",
468
- "type": "address"
469
- }
470
- ],
471
- "name": "grantRole",
472
- "outputs": [],
473
- "stateMutability": "nonpayable",
474
- "type": "function"
475
- },
476
- {
477
- "inputs": [
478
- {
479
- "internalType": "bytes32",
480
- "name": "role",
481
- "type": "bytes32"
482
- },
483
- {
484
- "internalType": "address",
485
- "name": "account",
486
- "type": "address"
487
- }
488
- ],
489
- "name": "hasRole",
490
- "outputs": [
491
- {
492
- "internalType": "bool",
493
- "name": "",
494
- "type": "bool"
495
- }
496
- ],
497
- "stateMutability": "view",
498
- "type": "function"
499
- },
500
- {
501
- "inputs": [
502
- {
503
- "internalType": "address",
504
- "name": "_token",
505
- "type": "address"
506
- },
507
- {
508
- "internalType": "enum GoodDollarMintBurnWrapper.TokenType",
509
- "name": "_tokenType",
510
- "type": "uint8"
511
- },
512
- {
513
- "internalType": "uint256",
514
- "name": "_totalMintCap",
515
- "type": "uint256"
516
- },
517
- {
518
- "internalType": "address",
519
- "name": "_admin",
520
- "type": "address"
521
- },
522
- {
523
- "internalType": "contract INameService",
524
- "name": "_nameService",
525
- "type": "address"
526
- }
527
- ],
528
- "name": "initialize",
529
- "outputs": [],
530
- "stateMutability": "nonpayable",
531
- "type": "function"
532
- },
533
- {
534
- "inputs": [
535
- {
536
- "internalType": "address",
537
- "name": "to",
538
- "type": "address"
539
- },
540
- {
541
- "internalType": "uint256",
542
- "name": "amount",
543
- "type": "uint256"
544
- }
545
- ],
546
- "name": "mint",
547
- "outputs": [
548
- {
549
- "internalType": "bool",
550
- "name": "",
551
- "type": "bool"
552
- }
553
- ],
554
- "stateMutability": "nonpayable",
555
- "type": "function"
556
- },
557
- {
558
- "inputs": [
559
- {
560
- "internalType": "address",
561
- "name": "",
562
- "type": "address"
563
- }
564
- ],
565
- "name": "minterSupply",
566
- "outputs": [
567
- {
568
- "internalType": "uint256",
569
- "name": "max",
570
- "type": "uint256"
571
- },
572
- {
573
- "internalType": "uint256",
574
- "name": "cap",
575
- "type": "uint256"
576
- },
577
- {
578
- "internalType": "uint256",
579
- "name": "total",
580
- "type": "uint256"
581
- },
582
- {
583
- "internalType": "uint128",
584
- "name": "dailyCap",
585
- "type": "uint128"
586
- },
587
- {
588
- "internalType": "uint128",
589
- "name": "mintedToday",
590
- "type": "uint128"
591
- },
592
- {
593
- "internalType": "uint128",
594
- "name": "lastUpdate",
595
- "type": "uint128"
596
- },
597
- {
598
- "internalType": "uint128",
599
- "name": "mintDebt",
600
- "type": "uint128"
601
- },
602
- {
603
- "internalType": "uint32",
604
- "name": "bpsPerDay",
605
- "type": "uint32"
606
- }
607
- ],
608
- "stateMutability": "view",
609
- "type": "function"
610
- },
611
- {
612
- "inputs": [],
613
- "name": "nameService",
614
- "outputs": [
615
- {
616
- "internalType": "contract INameService",
617
- "name": "",
618
- "type": "address"
619
- }
620
- ],
621
- "stateMutability": "view",
622
- "type": "function"
623
- },
624
- {
625
- "inputs": [],
626
- "name": "nativeToken",
627
- "outputs": [
628
- {
629
- "internalType": "contract IGoodDollar",
630
- "name": "",
631
- "type": "address"
632
- }
633
- ],
634
- "stateMutability": "view",
635
- "type": "function"
636
- },
637
- {
638
- "inputs": [
639
- {
640
- "internalType": "address",
641
- "name": "sender",
642
- "type": "address"
643
- },
644
- {
645
- "internalType": "uint256",
646
- "name": "amount",
647
- "type": "uint256"
648
- },
649
- {
650
- "internalType": "bytes",
651
- "name": "data",
652
- "type": "bytes"
653
- }
654
- ],
655
- "name": "onTokenTransfer",
656
- "outputs": [
657
- {
658
- "internalType": "bool",
659
- "name": "",
660
- "type": "bool"
661
- }
662
- ],
663
- "stateMutability": "nonpayable",
664
- "type": "function"
665
- },
666
- {
667
- "inputs": [],
668
- "name": "owner",
669
- "outputs": [
670
- {
671
- "internalType": "address",
672
- "name": "",
673
- "type": "address"
674
- }
675
- ],
676
- "stateMutability": "view",
677
- "type": "function"
678
- },
679
- {
680
- "inputs": [
681
- {
682
- "internalType": "bytes32",
683
- "name": "role",
684
- "type": "bytes32"
685
- }
686
- ],
687
- "name": "pause",
688
- "outputs": [],
689
- "stateMutability": "nonpayable",
690
- "type": "function"
691
- },
692
- {
693
- "inputs": [
694
- {
695
- "internalType": "bytes32",
696
- "name": "role",
697
- "type": "bytes32"
698
- }
699
- ],
700
- "name": "paused",
701
- "outputs": [
702
- {
703
- "internalType": "bool",
704
- "name": "",
705
- "type": "bool"
706
- }
707
- ],
708
- "stateMutability": "view",
709
- "type": "function"
710
- },
711
- {
712
- "inputs": [
713
- {
714
- "internalType": "bytes32",
715
- "name": "role",
716
- "type": "bytes32"
717
- },
718
- {
719
- "internalType": "address",
720
- "name": "account",
721
- "type": "address"
722
- }
723
- ],
724
- "name": "renounceRole",
725
- "outputs": [],
726
- "stateMutability": "nonpayable",
727
- "type": "function"
728
- },
729
- {
730
- "inputs": [
731
- {
732
- "internalType": "bytes32",
733
- "name": "role",
734
- "type": "bytes32"
735
- },
736
- {
737
- "internalType": "address",
738
- "name": "account",
739
- "type": "address"
740
- }
741
- ],
742
- "name": "revokeRole",
743
- "outputs": [],
744
- "stateMutability": "nonpayable",
745
- "type": "function"
746
- },
747
- {
748
- "inputs": [
749
- {
750
- "internalType": "address",
751
- "name": "to",
752
- "type": "address"
753
- },
754
- {
755
- "internalType": "uint256",
756
- "name": "amount",
757
- "type": "uint256"
758
- }
759
- ],
760
- "name": "sendOrMint",
761
- "outputs": [
762
- {
763
- "internalType": "uint256",
764
- "name": "totalSent",
765
- "type": "uint256"
766
- }
767
- ],
768
- "stateMutability": "nonpayable",
769
- "type": "function"
770
- },
771
- {
772
- "inputs": [
773
- {
774
- "internalType": "address",
775
- "name": "minter",
776
- "type": "address"
777
- },
778
- {
779
- "internalType": "uint256",
780
- "name": "total",
781
- "type": "uint256"
782
- },
783
- {
784
- "internalType": "bool",
785
- "name": "force",
786
- "type": "bool"
787
- }
788
- ],
789
- "name": "setMinterTotal",
790
- "outputs": [],
791
- "stateMutability": "nonpayable",
792
- "type": "function"
793
- },
794
- {
795
- "inputs": [
796
- {
797
- "internalType": "uint256",
798
- "name": "cap",
799
- "type": "uint256"
800
- }
801
- ],
802
- "name": "setTotalMintCap",
803
- "outputs": [],
804
- "stateMutability": "nonpayable",
805
- "type": "function"
806
- },
807
- {
808
- "inputs": [
809
- {
810
- "internalType": "uint128",
811
- "name": "inSeconds",
812
- "type": "uint128"
813
- }
814
- ],
815
- "name": "setUpdateFrequency",
816
- "outputs": [],
817
- "stateMutability": "nonpayable",
818
- "type": "function"
819
- },
820
- {
821
- "inputs": [
822
- {
823
- "internalType": "bytes4",
824
- "name": "interfaceId",
825
- "type": "bytes4"
826
- }
827
- ],
828
- "name": "supportsInterface",
829
- "outputs": [
830
- {
831
- "internalType": "bool",
832
- "name": "",
833
- "type": "bool"
834
- }
835
- ],
836
- "stateMutability": "view",
837
- "type": "function"
838
- },
839
- {
840
- "inputs": [],
841
- "name": "token",
842
- "outputs": [
843
- {
844
- "internalType": "address",
845
- "name": "",
846
- "type": "address"
847
- }
848
- ],
849
- "stateMutability": "view",
850
- "type": "function"
851
- },
852
- {
853
- "inputs": [],
854
- "name": "tokenType",
855
- "outputs": [
856
- {
857
- "internalType": "enum GoodDollarMintBurnWrapper.TokenType",
858
- "name": "",
859
- "type": "uint8"
860
- }
861
- ],
862
- "stateMutability": "view",
863
- "type": "function"
864
- },
865
- {
866
- "inputs": [],
867
- "name": "totalMintCap",
868
- "outputs": [
869
- {
870
- "internalType": "uint256",
871
- "name": "",
872
- "type": "uint256"
873
- }
874
- ],
875
- "stateMutability": "view",
876
- "type": "function"
877
- },
878
- {
879
- "inputs": [],
880
- "name": "totalMinted",
881
- "outputs": [
882
- {
883
- "internalType": "uint256",
884
- "name": "",
885
- "type": "uint256"
886
- }
887
- ],
888
- "stateMutability": "view",
889
- "type": "function"
890
- },
891
- {
892
- "inputs": [
893
- {
894
- "internalType": "bytes32",
895
- "name": "role",
896
- "type": "bytes32"
897
- }
898
- ],
899
- "name": "unpause",
900
- "outputs": [],
901
- "stateMutability": "nonpayable",
902
- "type": "function"
903
- },
904
- {
905
- "inputs": [],
906
- "name": "updateAvatar",
907
- "outputs": [],
908
- "stateMutability": "nonpayable",
909
- "type": "function"
910
- },
911
- {
912
- "inputs": [],
913
- "name": "upgrade1",
914
- "outputs": [],
915
- "stateMutability": "nonpayable",
916
- "type": "function"
917
- },
918
- {
919
- "inputs": [
920
- {
921
- "internalType": "address",
922
- "name": "newImplementation",
923
- "type": "address"
924
- }
925
- ],
926
- "name": "upgradeTo",
927
- "outputs": [],
928
- "stateMutability": "nonpayable",
929
- "type": "function"
930
- },
931
- {
932
- "inputs": [
933
- {
934
- "internalType": "address",
935
- "name": "newImplementation",
936
- "type": "address"
937
- },
938
- {
939
- "internalType": "bytes",
940
- "name": "data",
941
- "type": "bytes"
942
- }
943
- ],
944
- "name": "upgradeToAndCall",
945
- "outputs": [],
946
- "stateMutability": "payable",
947
- "type": "function"
948
- }
949
- ],
950
- "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c6135f561004b60003960008181610d9201528181610dd20152818161102b015261106b01526135f56000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc57806303ca49f11461023157806317eebf21146102565780631b3c90a814610276578063248a9ca31461028d5780632d000cc0146102ad5780632f2ff15d146102c25780632f4dae9f146102e257806330d643b51461030257806330fa738c1461032457806335e1d4871461035357806336568abe146103735780633659cfe6146103935780633e6326fc146103b357806340c10f19146103e15780634162169f1461040157806342c83492146104225780634f1ef286146104425780635955b592146104555780635aef7de6146104775780638da5cb5b146104985780639010d07c146104ad57806391d14854146104cd57806395609212146104ed5780639ac25d08146105b25780639dc29fac146105c75780639e9e4666146105e7578063a19ff68014610607578063a217fddf146105b2578063a2309ff814610629578063a4c0ed3614610640578063b32ad1a614610660578063b5bfddea14610682578063c0bf7f7c146106b6578063ca15c873146106d6578063ca4fb87c146106f6578063d539139314610718578063d547741f1461073a578063e1758bd81461075a578063ed56531a1461076f578063efdaffc51461078f578063f1755339146107af578063fc0c546a146107cf578063fe2e98b9146107f0575b600080fd5b34801561020857600080fd5b5061021c610217366004612cc5565b610812565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b506102486101645481565b604051908152602001610228565b34801561026257600080fd5b50610248610271366004612d04565b61083d565b34801561028257600080fd5b5061028b610b10565b005b34801561029957600080fd5b506102486102a8366004612d30565b610c58565b3480156102b957600080fd5b5061028b610c6d565b3480156102ce57600080fd5b5061028b6102dd366004612d49565b610c9f565b3480156102ee57600080fd5b5061028b6102fd366004612d30565b610cc6565b34801561030e57600080fd5b506102486000805160206135a083398151915281565b34801561033057600080fd5b506101665461034690600160a01b900460ff1681565b6040516102289190612d8f565b34801561035f57600080fd5b5061028b61036e366004612dc5565b610cdf565b34801561037f57600080fd5b5061028b61038e366004612d49565b610d65565b34801561039f57600080fd5b5061028b6103ae366004612e07565b610d87565b3480156103bf57600080fd5b50610130546103d4906001600160a01b031681565b6040516102289190612e24565b3480156103ed57600080fd5b5061021c6103fc366004612d04565b610e50565b34801561040d57600080fd5b5061012e546103d4906001600160a01b031681565b34801561042e57600080fd5b5061028b61043d366004612e38565b610e7f565b61028b610450366004612f46565b611020565b34801561046157600080fd5b5061024860008051602061358083398151915281565b34801561048357600080fd5b5061012f546103d4906001600160a01b031681565b3480156104a457600080fd5b506103d46110d6565b3480156104b957600080fd5b506103d46104c8366004612f95565b6110e7565b3480156104d957600080fd5b5061021c6104e8366004612d49565b611106565b3480156104f957600080fd5b50610563610508366004612e07565b610163602052600090815260409020805460018201546002830154600384015460048501546005909501549394929391926001600160801b0380831693600160801b9384900482169383831693049091169063ffffffff1688565b604080519889526020890197909752958701949094526001600160801b0392831660608701529082166080860152811660a08501521660c083015263ffffffff1660e082015261010001610228565b3480156105be57600080fd5b50610248600081565b3480156105d357600080fd5b5061021c6105e2366004612d04565b611131565b3480156105f357600080fd5b5061021c610602366004612d30565b6111c3565b34801561061357600080fd5b5061024860008051602061351983398151915281565b34801561063557600080fd5b506102486101655481565b34801561064c57600080fd5b5061021c61065b366004612fb7565b6111d8565b34801561066c57600080fd5b5061024860008051602061345483398151915281565b34801561068e57600080fd5b506102487f52ba824bfabc2bcfcdf7f0edbb486ebb05e1836c90e78047efeb949990f72e5f81565b3480156106c257600080fd5b5061028b6106d136600461300f565b6112fc565b3480156106e257600080fd5b506102486106f1366004612d30565b61146e565b34801561070257600080fd5b506102486000805160206134f983398151915281565b34801561072457600080fd5b5061024860008051602061356083398151915281565b34801561074657600080fd5b5061028b610755366004612d49565b611485565b34801561076657600080fd5b506103d461148f565b34801561077b57600080fd5b5061028b61078a366004612d30565b611527565b34801561079b57600080fd5b5061028b6107aa366004612d30565b61153c565b3480156107bb57600080fd5b5061028b6107ca366004613069565b61154f565b3480156107db57600080fd5b50610166546103d4906001600160a01b031681565b3480156107fc57600080fd5b5061024860008051602061347483398151915281565b60006001600160e01b03198216635a05180f60e01b148061083757506108378261157c565b92915050565b60006000805160206134f983398151915261085881336115b1565b600080516020613474833981519152610870816111c3565b158015610884575061088260006111c3565b155b6108a95760405162461bcd60e51b81526004016108a090613092565b60405180910390fd5b336000908152610163602052604090206108c281611615565b610167546001600160801b03166108d7611723565b610167546001600160801b031681146108fc576003820180546001600160801b031690555b6003820154600090610920906001600160801b03600160801b8204811691166130d9565b610166546040516370a0823160e01b81526001600160801b039290921692506000916109ba916001600160a01b0316906370a0823190610964903090600401612e24565b60206040518083038186803b15801561097c57600080fd5b505afa158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b49190613101565b89611753565b905060006109d16109cb838b61311a565b84611753565b90506109dd8183613131565b9750808560030160108282829054906101000a90046001600160801b0316610a059190613149565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550808560040160108282829054906101000a90046001600160801b0316610a4f9190613149565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506000811115610a8b57610a868a82611769565b610a94565b610a94856119d1565b8115610ab25761016654610ab2906001600160a01b03168b84611b1d565b604080516001600160a01b038c168152602081018b9052908101839052606081018290527fa8b929cf00516e52f11a148f9b3aa339a3244b6cdd411adf3aca9c99efa25f3d9060800160405180910390a15050505050505092915050565b6101305460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610b6f57600080fd5b505afa158015610b83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba79190613174565b61012e80546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b158015610bfd57600080fd5b505afa158015610c11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c359190613174565b61012f80546001600160a01b0319166001600160a01b0392909216919091179055565b60009081526065602052604090206001015490565b61016754600160801b90046001600160801b0316610c9d5761016780546001600160801b03166176a760881b1790555b565b610ca98282611b73565b6000828152609760205260409020610cc19082611b90565b505050565b6000610cd281336115b1565b610cdb82611ba5565b5050565b6000610ceb81336115b1565b8180610d0a5750610d0a60008051602061356083398151915285611106565b610d435760405162461bcd60e51b815260206004820152600a6024820152693737ba1036b4b73a32b960b11b60448201526064016108a0565b50506001600160a01b0390911660009081526101636020526040902060020155565b610d6f8282611c5d565b6000828152609760205260409020610cc19082611cd7565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610dd05760405162461bcd60e51b81526004016108a090613191565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e02611cec565b6001600160a01b031614610e285760405162461bcd60e51b81526004016108a0906131cb565b610e3181611d08565b60408051600080825260208201909252610e4d91839190611d10565b50565b6000600080516020613560833981519152610e6b81336115b1565b610e758484611769565b5060019392505050565b600054610100900460ff1680610e98575060005460ff16155b610eb45760405162461bcd60e51b81526004016108a090613205565b600054610100900460ff16158015610ed6576000805461ffff19166101011790555b610ede611e57565b6001600160a01b038616610f295760405162461bcd60e51b81526020600482015260126024820152717a65726f20746f6b656e206164647265737360701b60448201526064016108a0565b6001600160a01b038316610f745760405162461bcd60e51b81526020600482015260126024820152717a65726f2061646d696e206164647265737360701b60448201526064016108a0565b61016680546001600160a01b0388166001600160a01b03198216811783558792916001600160a81b03191617600160a01b836004811115610fb757610fb7612d79565b021790555061016484905561016780546001600160801b03166176a760881b179055610fe4600084611ee2565b610fed82611eec565b61012f54611006906000906001600160a01b0316610c9f565b8015611018576000805461ff00191690555b505050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156110695760405162461bcd60e51b81526004016108a090613191565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661109b611cec565b6001600160a01b0316146110c15760405162461bcd60e51b81526004016108a0906131cb565b6110ca82611d08565b610cdb82826001611d10565b60006110e281806110e7565b905090565b60008281526097602052604081206110ff9083611f10565b9392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600060008051602061356083398151915261114c81336115b1565b6000805160206135a083398151915261116581336115b1565b60008051602061358083398151915261117d816111c3565b158015611191575061118f60006111c3565b155b6111ad5760405162461bcd60e51b81526004016108a090613092565b6111b78686611f1c565b50600195945050505050565b600090815260c9602052604090205460ff1690565b610166546000906001600160a01b031633146111f357600080fd5b6000808380602001905181019061120a9190613253565b91509150806000141561124e5760405162461bcd60e51b815260206004820152600c60248201526b1e995c9bc818da185a5b925960a21b60448201526064016108a0565b6001600160a01b0382166112625785611264565b815b915061127f6000805160206135a083398151915260006110e7565b60405163241dc2df60e01b81523060048201526001600160a01b0384811660248301526044820188905260648201849052919091169063241dc2df90608401600060405180830381600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b5060019998505050505050505050565b600061130881336115b1565b61132060008051602061356083398151915287610c9f565b6001600160a01b03868116600090815261016360209081526040918290206001810189905587815560058101805463ffffffff191663ffffffff8916908117909155600480830180546001600160801b031916426001600160801b03161790556101665485516318160ddd60e01b8152955193966127109693959116936318160ddd938084019390829003018186803b1580156113bc57600080fd5b505afa1580156113d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f49190613101565b6113fe9190613281565b61140891906132b6565b6003820180546001600160801b0319166001600160801b0392909216919091179055821561144d576114486000805160206134f983398151915288610c9f565b611465565b6114656000805160206134f983398151915288611485565b50505050505050565b60008181526097602052604081206108379061215a565b610d6f8282612164565b6101305460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156114ef57600080fd5b505afa158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e29190613174565b600061153381336115b1565b610cdb82612181565b600061154881336115b1565b5061016455565b600061155b81336115b1565b5061016780546001600160801b03928316600160801b029216919091179055565b60006001600160e01b03198216637965db0b60e01b148061083757506301ffc9a760e01b6001600160e01b0319831614610837565b6115bb8282611106565b610cdb576115d3816001600160a01b03166014612206565b6115de836020612206565b6040516020016115ef929190613308565b60408051601f198184030181529082905262461bcd60e51b82526108a091600401613377565b6004810154600090611630906001600160801b03164261311a565b61016754909150600160801b90046001600160801b0316811115610cdb57600582015461016654604080516318160ddd60e01b815290516127109363ffffffff16926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156116a157600080fd5b505afa1580156116b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d99190613101565b6116e39190613281565b6116ed91906132b6565b6003830180546001600160801b03199081166001600160801b039384161790915560049093018054909316429091161790915550565b61173062015180426133aa565b61016780546001600160801b0319166001600160801b0392909216919091179055565b600081831061176257816110ff565b5090919050565b600080516020613454833981519152611781816111c3565b158015611795575061179360006111c3565b155b6117b15760405162461bcd60e51b81526004016108a090613092565b6001600160a01b0383163014156118095760405162461bcd60e51b815260206004820152601c60248201527b666f72626964206d696e7420746f206164647265737328746869732960201b60448201526064016108a0565b3360009081526101636020526040902080541580611828575080548311155b61186a5760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c881b585e08195e18d959591959606a1b60448201526064016108a0565b8281600201600082825461187e9190613131565b90915550506002810154158061189c57508060010154816002015411155b6118de5760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c8818d85c08195e18d959591959606a1b60448201526064016108a0565b8261016560008282546118f19190613131565b9091555050610164546101655411156119465760405162461bcd60e51b81526020600482015260176024820152761d1bdd185b081b5a5b9d0818d85c08195e18d959591959604a1b60448201526064016108a0565b600361016654600160a01b900460ff16600481111561196757611967612d79565b14806119915750600461016654600160a01b900460ff16600481111561198f5761198f612d79565b145b156119b357610166546119ae906001600160a01b03168585611b1d565b6119cb565b610166546119cb906001600160a01b031685856123a1565b50505050565b600481810154610166546040516370a0823160e01b8152600093611a7193600160801b90046001600160801b0316926001600160a01b0316916370a0823191611a1c91309101612e24565b60206040518083038186803b158015611a3457600080fd5b505afa158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613101565b611753565b90508015610cdb57808260040160108282829054906101000a90046001600160801b0316611a9f91906130d9565b82546001600160801b039182166101009390930a92830291909202199091161790555061016654604051630852cd8d60e31b8152600481018390526001600160a01b03909116906342966c6890602401600060405180830381600087803b158015611b0957600080fd5b505af1158015611018573d6000803e3d6000fd5b610cc18363a9059cbb60e01b8484604051602401611b3c9291906133be565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526123ee565b611b7c82610c58565b611b8681336115b1565b610cc183836124c0565b60006110ff836001600160a01b038416612546565b80611baf816111c3565b80611bbf5750611bbf60006111c3565b611c095760405162461bcd60e51b815260206004820152601b60248201527a14185d5cd8589b1950dbdb9d1c9bdb0e881b9bdd081c185d5cd959602a1b60448201526064016108a0565b600082815260c9602052604090819020805460ff19169055517fd05bfc2250abb0f8fd265a54c53a24359c5484af63cad2e4ce87c78ab751395a90611c519084815260200190565b60405180910390a15050565b6001600160a01b0381163314611ccd5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108a0565b610cdb8282612595565b60006110ff836001600160a01b0384166125fc565b6000805160206134b4833981519152546001600160a01b031690565b610e4d6126ef565b6000611d1a611cec565b9050611d25846127c2565b600083511180611d325750815b15611d4357611d418484612855565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16611e5057805460ff19166001178155604051611dbe908690611d8f908590602401612e24565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052612855565b50805460ff19168155611dcf611cec565b6001600160a01b0316826001600160a01b031614611e475760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016108a0565b611e5085612940565b5050505050565b600054610100900460ff1680611e70575060005460ff16155b611e8c5760405162461bcd60e51b81526004016108a090613205565b600054610100900460ff16158015611eae576000805461ffff19166101011790555b611eb6612980565b611ebe612980565b611ec6612980565b611ece612980565b8015610e4d576000805461ff001916905550565b610ca982826129ea565b61013080546001600160a01b0319166001600160a01b038316179055610e4d610b10565b60006110ff83836129f4565b600080516020613519833981519152611f34816111c3565b158015611f485750611f4660006111c3565b155b611f645760405162461bcd60e51b81526004016108a090613092565b816101655410611f8c57816101656000828254611f81919061311a565b90915550611f939050565b6000610165555b611fab60008051602061356083398151915233611106565b15611ff4573360009081526101636020526040902060028101548311611fea5782816002016000828254611fdf919061311a565b90915550611ff29050565b600060028201555b505b6001600160a01b03831630141561201c5761016654610cc1906001600160a01b031683612a1e565b600361016654600160a01b900460ff16600481111561203d5761203d612d79565b14806120675750600461016654600160a01b900460ff16600481111561206557612065612d79565b145b156120855761016654610cc1906001600160a01b0316843085612a3a565b600061016654600160a01b900460ff1660048111156120a6576120a6612d79565b14156120c45761016654610cc1906001600160a01b03168484612a72565b600161016654600160a01b900460ff1660048111156120e5576120e5612d79565b14156121035761016654610cc1906001600160a01b03168484612a8e565b600261016654600160a01b900460ff16600481111561212457612124612d79565b1415610cc15761016654612143906001600160a01b0316843085612a3a565b61016654610cc1906001600160a01b031683612a1e565b6000610837825490565b61216d82610c58565b61217781336115b1565b610cc18383612595565b8061218b816111c3565b15801561219f575061219d60006111c3565b155b6121bb5760405162461bcd60e51b81526004016108a090613092565b600082815260c9602052604090819020805460ff19166001179055517f0cb09dc71d57eeec2046f6854976717e4874a3cf2d6ddeddde337e5b6de6ba3190611c519084815260200190565b60606000612215836002613281565b612220906002613131565b6001600160401b0381111561223757612237612ea4565b6040519080825280601f01601f191660200182016040528015612261576020820181803683370190505b509050600360fc1b8160008151811061227c5761227c6133d7565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106122ab576122ab6133d7565b60200101906001600160f81b031916908160001a90535060006122cf846002613281565b6122da906001613131565b90505b6001811115612352576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061230e5761230e6133d7565b1a60f81b828281518110612324576123246133d7565b60200101906001600160f81b031916908160001a90535060049490941c9361234b816133ed565b90506122dd565b5083156110ff5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108a0565b610cc1836340c10f1984846040516024016123bd9291906133be565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050612aaa565b6000612443826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b449092919063ffffffff16565b805190915015610cc157808060200190518101906124619190613404565b610cc15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108a0565b6124ca8282611106565b610cdb5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556125023390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600081815260018301602052604081205461258d57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610837565b506000610837565b61259f8282611106565b15610cdb5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600081815260018301602052604081205480156126e557600061262060018361311a565b85549091506000906126349060019061311a565b9050818114612699576000866000018281548110612654576126546133d7565b9060005260206000200154905080876000018481548110612677576126776133d7565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806126aa576126aa613421565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610837565b6000915050610837565b61012e5460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561273457600080fd5b505afa158015612748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276c9190613174565b6001600160a01b031614610c9d5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f6460448201526064016108a0565b803b6128265760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108a0565b6000805160206134b483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6128b45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016108a0565b600080846001600160a01b0316846040516128cf9190613437565b600060405180830381855af49150503d806000811461290a576040519150601f19603f3d011682016040523d82523d6000602084013e61290f565b606091505b5091509150612937828260405180606001604052806027815260200161353960279139612b5b565b95945050505050565b612949816127c2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff1680612999575060005460ff16155b6129b55760405162461bcd60e51b81526004016108a090613205565b600054610100900460ff16158015611ece576000805461ffff19166101011790558015610e4d576000805461ff001916905550565b610cdb82826124c0565b6000826000018281548110612a0b57612a0b6133d7565b9060005260206000200154905092915050565b610cdb826342966c68836040516024016123bd91815260200190565b6040516001600160a01b03808516602483015283166044820152606481018290526119cb9085906323b872dd60e01b90608401611b3c565b610cc183639dc29fac84846040516024016123bd9291906133be565b610cc1836379cc679084846040516024016123bd9291906133be565b6000612ada826040518060600160405280602581526020016134d4602591396001600160a01b0386169190612b44565b805190915015610cc15780806020019051810190612af89190613404565b610cc15760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e4f7065726174696f6e3a20646964206e6f7420737563636565640060448201526064016108a0565b6060612b538484600085612b94565b949350505050565b60608315612b6a5750816110ff565b825115612b7a5782518084602001fd5b8160405162461bcd60e51b81526004016108a09190613377565b606082471015612bf55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108a0565b6001600160a01b0385163b612c4c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108a0565b600080866001600160a01b03168587604051612c689190613437565b60006040518083038185875af1925050503d8060008114612ca5576040519150601f19603f3d011682016040523d82523d6000602084013e612caa565b606091505b5091509150612cba828286612b5b565b979650505050505050565b600060208284031215612cd757600080fd5b81356001600160e01b0319811681146110ff57600080fd5b6001600160a01b0381168114610e4d57600080fd5b60008060408385031215612d1757600080fd5b8235612d2281612cef565b946020939093013593505050565b600060208284031215612d4257600080fd5b5035919050565b60008060408385031215612d5c57600080fd5b823591506020830135612d6e81612cef565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310612db157634e487b7160e01b600052602160045260246000fd5b91905290565b8015158114610e4d57600080fd5b600080600060608486031215612dda57600080fd5b8335612de581612cef565b9250602084013591506040840135612dfc81612db7565b809150509250925092565b600060208284031215612e1957600080fd5b81356110ff81612cef565b6001600160a01b0391909116815260200190565b600080600080600060a08688031215612e5057600080fd5b8535612e5b81612cef565b9450602086013560058110612e6f57600080fd5b9350604086013592506060860135612e8681612cef565b91506080860135612e9681612cef565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ecb57600080fd5b81356001600160401b0380821115612ee557612ee5612ea4565b604051601f8301601f19908116603f01168101908282118183101715612f0d57612f0d612ea4565b81604052838152866020858801011115612f2657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f5957600080fd5b8235612f6481612cef565b915060208301356001600160401b03811115612f7f57600080fd5b612f8b85828601612eba565b9150509250929050565b60008060408385031215612fa857600080fd5b50508035926020909101359150565b600080600060608486031215612fcc57600080fd5b8335612fd781612cef565b92506020840135915060408401356001600160401b03811115612ff957600080fd5b61300586828701612eba565b9150509250925092565b600080600080600060a0868803121561302757600080fd5b853561303281612cef565b94506020860135935060408601359250606086013563ffffffff8116811461305957600080fd5b91506080860135612e9681612db7565b60006020828403121561307b57600080fd5b81356001600160801b03811681146110ff57600080fd5b60208082526017908201527614185d5cd8589b1950dbdb9d1c9bdb0e881c185d5cd959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b03838116908316818110156130f9576130f96130c3565b039392505050565b60006020828403121561311357600080fd5b5051919050565b60008282101561312c5761312c6130c3565b500390565b60008219821115613144576131446130c3565b500190565b60006001600160801b0382811684821680830382111561316b5761316b6130c3565b01949350505050565b60006020828403121561318657600080fd5b81516110ff81612cef565b6020808252602c9082015260008051602061349483398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061349483398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000806040838503121561326657600080fd5b825161327181612cef565b6020939093015192949293505050565b600081600019048311821515161561329b5761329b6130c3565b500290565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806132d0576132d06132a0565b92169190910492915050565b60005b838110156132f75781810151838201526020016132df565b838111156119cb5750506000910152565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161333a8160178501602088016132dc565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161336b8160288401602088016132dc565b01602801949350505050565b60208152600082518060208401526133968160408501602087016132dc565b601f01601f19169190910160400192915050565b6000826133b9576133b96132a0565b500490565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052603260045260246000fd5b6000816133fc576133fc6130c3565b506000190190565b60006020828403121561341657600080fd5b81516110ff81612db7565b634e487b7160e01b600052603160045260246000fd5b600082516134498184602087016132dc565b919091019291505056feb2a18ae5d0b623b41098012c516d0bf4bef38c068c9e397da870c290888b19999604fa49b1cb3aa782c099225b9c340b6afeb802be5d4b3314ba27a14502cdfa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546f6b656e4f7065726174696f6e3a206c6f772d6c6576656c2063616c6c206661696c65645407862f04286ebe607684514c14b7fffc750b6bf52ba44ea49569174845a5bd62d52416825983abd68b16e092b60c2eac31fd673bcce92494e063af530d9c30416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65649f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6b601d6a8ea5419a4251765936e52b2763485fede82d3c5dfd765cd67d30f4f227a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb2a264697066735822122044699fc551ea46e85c712eed41a7d9ccea27a85bfd8cd695a6230518929143b664736f6c63430008080033",
951
- "deployedBytecode": "0x6080604052600436106101f75760003560e01c806301ffc9a7146101fc57806303ca49f11461023157806317eebf21146102565780631b3c90a814610276578063248a9ca31461028d5780632d000cc0146102ad5780632f2ff15d146102c25780632f4dae9f146102e257806330d643b51461030257806330fa738c1461032457806335e1d4871461035357806336568abe146103735780633659cfe6146103935780633e6326fc146103b357806340c10f19146103e15780634162169f1461040157806342c83492146104225780634f1ef286146104425780635955b592146104555780635aef7de6146104775780638da5cb5b146104985780639010d07c146104ad57806391d14854146104cd57806395609212146104ed5780639ac25d08146105b25780639dc29fac146105c75780639e9e4666146105e7578063a19ff68014610607578063a217fddf146105b2578063a2309ff814610629578063a4c0ed3614610640578063b32ad1a614610660578063b5bfddea14610682578063c0bf7f7c146106b6578063ca15c873146106d6578063ca4fb87c146106f6578063d539139314610718578063d547741f1461073a578063e1758bd81461075a578063ed56531a1461076f578063efdaffc51461078f578063f1755339146107af578063fc0c546a146107cf578063fe2e98b9146107f0575b600080fd5b34801561020857600080fd5b5061021c610217366004612cc5565b610812565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b506102486101645481565b604051908152602001610228565b34801561026257600080fd5b50610248610271366004612d04565b61083d565b34801561028257600080fd5b5061028b610b10565b005b34801561029957600080fd5b506102486102a8366004612d30565b610c58565b3480156102b957600080fd5b5061028b610c6d565b3480156102ce57600080fd5b5061028b6102dd366004612d49565b610c9f565b3480156102ee57600080fd5b5061028b6102fd366004612d30565b610cc6565b34801561030e57600080fd5b506102486000805160206135a083398151915281565b34801561033057600080fd5b506101665461034690600160a01b900460ff1681565b6040516102289190612d8f565b34801561035f57600080fd5b5061028b61036e366004612dc5565b610cdf565b34801561037f57600080fd5b5061028b61038e366004612d49565b610d65565b34801561039f57600080fd5b5061028b6103ae366004612e07565b610d87565b3480156103bf57600080fd5b50610130546103d4906001600160a01b031681565b6040516102289190612e24565b3480156103ed57600080fd5b5061021c6103fc366004612d04565b610e50565b34801561040d57600080fd5b5061012e546103d4906001600160a01b031681565b34801561042e57600080fd5b5061028b61043d366004612e38565b610e7f565b61028b610450366004612f46565b611020565b34801561046157600080fd5b5061024860008051602061358083398151915281565b34801561048357600080fd5b5061012f546103d4906001600160a01b031681565b3480156104a457600080fd5b506103d46110d6565b3480156104b957600080fd5b506103d46104c8366004612f95565b6110e7565b3480156104d957600080fd5b5061021c6104e8366004612d49565b611106565b3480156104f957600080fd5b50610563610508366004612e07565b610163602052600090815260409020805460018201546002830154600384015460048501546005909501549394929391926001600160801b0380831693600160801b9384900482169383831693049091169063ffffffff1688565b604080519889526020890197909752958701949094526001600160801b0392831660608701529082166080860152811660a08501521660c083015263ffffffff1660e082015261010001610228565b3480156105be57600080fd5b50610248600081565b3480156105d357600080fd5b5061021c6105e2366004612d04565b611131565b3480156105f357600080fd5b5061021c610602366004612d30565b6111c3565b34801561061357600080fd5b5061024860008051602061351983398151915281565b34801561063557600080fd5b506102486101655481565b34801561064c57600080fd5b5061021c61065b366004612fb7565b6111d8565b34801561066c57600080fd5b5061024860008051602061345483398151915281565b34801561068e57600080fd5b506102487f52ba824bfabc2bcfcdf7f0edbb486ebb05e1836c90e78047efeb949990f72e5f81565b3480156106c257600080fd5b5061028b6106d136600461300f565b6112fc565b3480156106e257600080fd5b506102486106f1366004612d30565b61146e565b34801561070257600080fd5b506102486000805160206134f983398151915281565b34801561072457600080fd5b5061024860008051602061356083398151915281565b34801561074657600080fd5b5061028b610755366004612d49565b611485565b34801561076657600080fd5b506103d461148f565b34801561077b57600080fd5b5061028b61078a366004612d30565b611527565b34801561079b57600080fd5b5061028b6107aa366004612d30565b61153c565b3480156107bb57600080fd5b5061028b6107ca366004613069565b61154f565b3480156107db57600080fd5b50610166546103d4906001600160a01b031681565b3480156107fc57600080fd5b5061024860008051602061347483398151915281565b60006001600160e01b03198216635a05180f60e01b148061083757506108378261157c565b92915050565b60006000805160206134f983398151915261085881336115b1565b600080516020613474833981519152610870816111c3565b158015610884575061088260006111c3565b155b6108a95760405162461bcd60e51b81526004016108a090613092565b60405180910390fd5b336000908152610163602052604090206108c281611615565b610167546001600160801b03166108d7611723565b610167546001600160801b031681146108fc576003820180546001600160801b031690555b6003820154600090610920906001600160801b03600160801b8204811691166130d9565b610166546040516370a0823160e01b81526001600160801b039290921692506000916109ba916001600160a01b0316906370a0823190610964903090600401612e24565b60206040518083038186803b15801561097c57600080fd5b505afa158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b49190613101565b89611753565b905060006109d16109cb838b61311a565b84611753565b90506109dd8183613131565b9750808560030160108282829054906101000a90046001600160801b0316610a059190613149565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550808560040160108282829054906101000a90046001600160801b0316610a4f9190613149565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506000811115610a8b57610a868a82611769565b610a94565b610a94856119d1565b8115610ab25761016654610ab2906001600160a01b03168b84611b1d565b604080516001600160a01b038c168152602081018b9052908101839052606081018290527fa8b929cf00516e52f11a148f9b3aa339a3244b6cdd411adf3aca9c99efa25f3d9060800160405180910390a15050505050505092915050565b6101305460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610b6f57600080fd5b505afa158015610b83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba79190613174565b61012e80546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b158015610bfd57600080fd5b505afa158015610c11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c359190613174565b61012f80546001600160a01b0319166001600160a01b0392909216919091179055565b60009081526065602052604090206001015490565b61016754600160801b90046001600160801b0316610c9d5761016780546001600160801b03166176a760881b1790555b565b610ca98282611b73565b6000828152609760205260409020610cc19082611b90565b505050565b6000610cd281336115b1565b610cdb82611ba5565b5050565b6000610ceb81336115b1565b8180610d0a5750610d0a60008051602061356083398151915285611106565b610d435760405162461bcd60e51b815260206004820152600a6024820152693737ba1036b4b73a32b960b11b60448201526064016108a0565b50506001600160a01b0390911660009081526101636020526040902060020155565b610d6f8282611c5d565b6000828152609760205260409020610cc19082611cd7565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610dd05760405162461bcd60e51b81526004016108a090613191565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e02611cec565b6001600160a01b031614610e285760405162461bcd60e51b81526004016108a0906131cb565b610e3181611d08565b60408051600080825260208201909252610e4d91839190611d10565b50565b6000600080516020613560833981519152610e6b81336115b1565b610e758484611769565b5060019392505050565b600054610100900460ff1680610e98575060005460ff16155b610eb45760405162461bcd60e51b81526004016108a090613205565b600054610100900460ff16158015610ed6576000805461ffff19166101011790555b610ede611e57565b6001600160a01b038616610f295760405162461bcd60e51b81526020600482015260126024820152717a65726f20746f6b656e206164647265737360701b60448201526064016108a0565b6001600160a01b038316610f745760405162461bcd60e51b81526020600482015260126024820152717a65726f2061646d696e206164647265737360701b60448201526064016108a0565b61016680546001600160a01b0388166001600160a01b03198216811783558792916001600160a81b03191617600160a01b836004811115610fb757610fb7612d79565b021790555061016484905561016780546001600160801b03166176a760881b179055610fe4600084611ee2565b610fed82611eec565b61012f54611006906000906001600160a01b0316610c9f565b8015611018576000805461ff00191690555b505050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156110695760405162461bcd60e51b81526004016108a090613191565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661109b611cec565b6001600160a01b0316146110c15760405162461bcd60e51b81526004016108a0906131cb565b6110ca82611d08565b610cdb82826001611d10565b60006110e281806110e7565b905090565b60008281526097602052604081206110ff9083611f10565b9392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600060008051602061356083398151915261114c81336115b1565b6000805160206135a083398151915261116581336115b1565b60008051602061358083398151915261117d816111c3565b158015611191575061118f60006111c3565b155b6111ad5760405162461bcd60e51b81526004016108a090613092565b6111b78686611f1c565b50600195945050505050565b600090815260c9602052604090205460ff1690565b610166546000906001600160a01b031633146111f357600080fd5b6000808380602001905181019061120a9190613253565b91509150806000141561124e5760405162461bcd60e51b815260206004820152600c60248201526b1e995c9bc818da185a5b925960a21b60448201526064016108a0565b6001600160a01b0382166112625785611264565b815b915061127f6000805160206135a083398151915260006110e7565b60405163241dc2df60e01b81523060048201526001600160a01b0384811660248301526044820188905260648201849052919091169063241dc2df90608401600060405180830381600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b5060019998505050505050505050565b600061130881336115b1565b61132060008051602061356083398151915287610c9f565b6001600160a01b03868116600090815261016360209081526040918290206001810189905587815560058101805463ffffffff191663ffffffff8916908117909155600480830180546001600160801b031916426001600160801b03161790556101665485516318160ddd60e01b8152955193966127109693959116936318160ddd938084019390829003018186803b1580156113bc57600080fd5b505afa1580156113d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f49190613101565b6113fe9190613281565b61140891906132b6565b6003820180546001600160801b0319166001600160801b0392909216919091179055821561144d576114486000805160206134f983398151915288610c9f565b611465565b6114656000805160206134f983398151915288611485565b50505050505050565b60008181526097602052604081206108379061215a565b610d6f8282612164565b6101305460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156114ef57600080fd5b505afa158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e29190613174565b600061153381336115b1565b610cdb82612181565b600061154881336115b1565b5061016455565b600061155b81336115b1565b5061016780546001600160801b03928316600160801b029216919091179055565b60006001600160e01b03198216637965db0b60e01b148061083757506301ffc9a760e01b6001600160e01b0319831614610837565b6115bb8282611106565b610cdb576115d3816001600160a01b03166014612206565b6115de836020612206565b6040516020016115ef929190613308565b60408051601f198184030181529082905262461bcd60e51b82526108a091600401613377565b6004810154600090611630906001600160801b03164261311a565b61016754909150600160801b90046001600160801b0316811115610cdb57600582015461016654604080516318160ddd60e01b815290516127109363ffffffff16926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156116a157600080fd5b505afa1580156116b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d99190613101565b6116e39190613281565b6116ed91906132b6565b6003830180546001600160801b03199081166001600160801b039384161790915560049093018054909316429091161790915550565b61173062015180426133aa565b61016780546001600160801b0319166001600160801b0392909216919091179055565b600081831061176257816110ff565b5090919050565b600080516020613454833981519152611781816111c3565b158015611795575061179360006111c3565b155b6117b15760405162461bcd60e51b81526004016108a090613092565b6001600160a01b0383163014156118095760405162461bcd60e51b815260206004820152601c60248201527b666f72626964206d696e7420746f206164647265737328746869732960201b60448201526064016108a0565b3360009081526101636020526040902080541580611828575080548311155b61186a5760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c881b585e08195e18d959591959606a1b60448201526064016108a0565b8281600201600082825461187e9190613131565b90915550506002810154158061189c57508060010154816002015411155b6118de5760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c8818d85c08195e18d959591959606a1b60448201526064016108a0565b8261016560008282546118f19190613131565b9091555050610164546101655411156119465760405162461bcd60e51b81526020600482015260176024820152761d1bdd185b081b5a5b9d0818d85c08195e18d959591959604a1b60448201526064016108a0565b600361016654600160a01b900460ff16600481111561196757611967612d79565b14806119915750600461016654600160a01b900460ff16600481111561198f5761198f612d79565b145b156119b357610166546119ae906001600160a01b03168585611b1d565b6119cb565b610166546119cb906001600160a01b031685856123a1565b50505050565b600481810154610166546040516370a0823160e01b8152600093611a7193600160801b90046001600160801b0316926001600160a01b0316916370a0823191611a1c91309101612e24565b60206040518083038186803b158015611a3457600080fd5b505afa158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613101565b611753565b90508015610cdb57808260040160108282829054906101000a90046001600160801b0316611a9f91906130d9565b82546001600160801b039182166101009390930a92830291909202199091161790555061016654604051630852cd8d60e31b8152600481018390526001600160a01b03909116906342966c6890602401600060405180830381600087803b158015611b0957600080fd5b505af1158015611018573d6000803e3d6000fd5b610cc18363a9059cbb60e01b8484604051602401611b3c9291906133be565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526123ee565b611b7c82610c58565b611b8681336115b1565b610cc183836124c0565b60006110ff836001600160a01b038416612546565b80611baf816111c3565b80611bbf5750611bbf60006111c3565b611c095760405162461bcd60e51b815260206004820152601b60248201527a14185d5cd8589b1950dbdb9d1c9bdb0e881b9bdd081c185d5cd959602a1b60448201526064016108a0565b600082815260c9602052604090819020805460ff19169055517fd05bfc2250abb0f8fd265a54c53a24359c5484af63cad2e4ce87c78ab751395a90611c519084815260200190565b60405180910390a15050565b6001600160a01b0381163314611ccd5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108a0565b610cdb8282612595565b60006110ff836001600160a01b0384166125fc565b6000805160206134b4833981519152546001600160a01b031690565b610e4d6126ef565b6000611d1a611cec565b9050611d25846127c2565b600083511180611d325750815b15611d4357611d418484612855565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16611e5057805460ff19166001178155604051611dbe908690611d8f908590602401612e24565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052612855565b50805460ff19168155611dcf611cec565b6001600160a01b0316826001600160a01b031614611e475760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016108a0565b611e5085612940565b5050505050565b600054610100900460ff1680611e70575060005460ff16155b611e8c5760405162461bcd60e51b81526004016108a090613205565b600054610100900460ff16158015611eae576000805461ffff19166101011790555b611eb6612980565b611ebe612980565b611ec6612980565b611ece612980565b8015610e4d576000805461ff001916905550565b610ca982826129ea565b61013080546001600160a01b0319166001600160a01b038316179055610e4d610b10565b60006110ff83836129f4565b600080516020613519833981519152611f34816111c3565b158015611f485750611f4660006111c3565b155b611f645760405162461bcd60e51b81526004016108a090613092565b816101655410611f8c57816101656000828254611f81919061311a565b90915550611f939050565b6000610165555b611fab60008051602061356083398151915233611106565b15611ff4573360009081526101636020526040902060028101548311611fea5782816002016000828254611fdf919061311a565b90915550611ff29050565b600060028201555b505b6001600160a01b03831630141561201c5761016654610cc1906001600160a01b031683612a1e565b600361016654600160a01b900460ff16600481111561203d5761203d612d79565b14806120675750600461016654600160a01b900460ff16600481111561206557612065612d79565b145b156120855761016654610cc1906001600160a01b0316843085612a3a565b600061016654600160a01b900460ff1660048111156120a6576120a6612d79565b14156120c45761016654610cc1906001600160a01b03168484612a72565b600161016654600160a01b900460ff1660048111156120e5576120e5612d79565b14156121035761016654610cc1906001600160a01b03168484612a8e565b600261016654600160a01b900460ff16600481111561212457612124612d79565b1415610cc15761016654612143906001600160a01b0316843085612a3a565b61016654610cc1906001600160a01b031683612a1e565b6000610837825490565b61216d82610c58565b61217781336115b1565b610cc18383612595565b8061218b816111c3565b15801561219f575061219d60006111c3565b155b6121bb5760405162461bcd60e51b81526004016108a090613092565b600082815260c9602052604090819020805460ff19166001179055517f0cb09dc71d57eeec2046f6854976717e4874a3cf2d6ddeddde337e5b6de6ba3190611c519084815260200190565b60606000612215836002613281565b612220906002613131565b6001600160401b0381111561223757612237612ea4565b6040519080825280601f01601f191660200182016040528015612261576020820181803683370190505b509050600360fc1b8160008151811061227c5761227c6133d7565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106122ab576122ab6133d7565b60200101906001600160f81b031916908160001a90535060006122cf846002613281565b6122da906001613131565b90505b6001811115612352576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061230e5761230e6133d7565b1a60f81b828281518110612324576123246133d7565b60200101906001600160f81b031916908160001a90535060049490941c9361234b816133ed565b90506122dd565b5083156110ff5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108a0565b610cc1836340c10f1984846040516024016123bd9291906133be565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050612aaa565b6000612443826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b449092919063ffffffff16565b805190915015610cc157808060200190518101906124619190613404565b610cc15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108a0565b6124ca8282611106565b610cdb5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556125023390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600081815260018301602052604081205461258d57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610837565b506000610837565b61259f8282611106565b15610cdb5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600081815260018301602052604081205480156126e557600061262060018361311a565b85549091506000906126349060019061311a565b9050818114612699576000866000018281548110612654576126546133d7565b9060005260206000200154905080876000018481548110612677576126776133d7565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806126aa576126aa613421565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610837565b6000915050610837565b61012e5460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561273457600080fd5b505afa158015612748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276c9190613174565b6001600160a01b031614610c9d5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f6460448201526064016108a0565b803b6128265760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108a0565b6000805160206134b483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6128b45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016108a0565b600080846001600160a01b0316846040516128cf9190613437565b600060405180830381855af49150503d806000811461290a576040519150601f19603f3d011682016040523d82523d6000602084013e61290f565b606091505b5091509150612937828260405180606001604052806027815260200161353960279139612b5b565b95945050505050565b612949816127c2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff1680612999575060005460ff16155b6129b55760405162461bcd60e51b81526004016108a090613205565b600054610100900460ff16158015611ece576000805461ffff19166101011790558015610e4d576000805461ff001916905550565b610cdb82826124c0565b6000826000018281548110612a0b57612a0b6133d7565b9060005260206000200154905092915050565b610cdb826342966c68836040516024016123bd91815260200190565b6040516001600160a01b03808516602483015283166044820152606481018290526119cb9085906323b872dd60e01b90608401611b3c565b610cc183639dc29fac84846040516024016123bd9291906133be565b610cc1836379cc679084846040516024016123bd9291906133be565b6000612ada826040518060600160405280602581526020016134d4602591396001600160a01b0386169190612b44565b805190915015610cc15780806020019051810190612af89190613404565b610cc15760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e4f7065726174696f6e3a20646964206e6f7420737563636565640060448201526064016108a0565b6060612b538484600085612b94565b949350505050565b60608315612b6a5750816110ff565b825115612b7a5782518084602001fd5b8160405162461bcd60e51b81526004016108a09190613377565b606082471015612bf55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108a0565b6001600160a01b0385163b612c4c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108a0565b600080866001600160a01b03168587604051612c689190613437565b60006040518083038185875af1925050503d8060008114612ca5576040519150601f19603f3d011682016040523d82523d6000602084013e612caa565b606091505b5091509150612cba828286612b5b565b979650505050505050565b600060208284031215612cd757600080fd5b81356001600160e01b0319811681146110ff57600080fd5b6001600160a01b0381168114610e4d57600080fd5b60008060408385031215612d1757600080fd5b8235612d2281612cef565b946020939093013593505050565b600060208284031215612d4257600080fd5b5035919050565b60008060408385031215612d5c57600080fd5b823591506020830135612d6e81612cef565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310612db157634e487b7160e01b600052602160045260246000fd5b91905290565b8015158114610e4d57600080fd5b600080600060608486031215612dda57600080fd5b8335612de581612cef565b9250602084013591506040840135612dfc81612db7565b809150509250925092565b600060208284031215612e1957600080fd5b81356110ff81612cef565b6001600160a01b0391909116815260200190565b600080600080600060a08688031215612e5057600080fd5b8535612e5b81612cef565b9450602086013560058110612e6f57600080fd5b9350604086013592506060860135612e8681612cef565b91506080860135612e9681612cef565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ecb57600080fd5b81356001600160401b0380821115612ee557612ee5612ea4565b604051601f8301601f19908116603f01168101908282118183101715612f0d57612f0d612ea4565b81604052838152866020858801011115612f2657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f5957600080fd5b8235612f6481612cef565b915060208301356001600160401b03811115612f7f57600080fd5b612f8b85828601612eba565b9150509250929050565b60008060408385031215612fa857600080fd5b50508035926020909101359150565b600080600060608486031215612fcc57600080fd5b8335612fd781612cef565b92506020840135915060408401356001600160401b03811115612ff957600080fd5b61300586828701612eba565b9150509250925092565b600080600080600060a0868803121561302757600080fd5b853561303281612cef565b94506020860135935060408601359250606086013563ffffffff8116811461305957600080fd5b91506080860135612e9681612db7565b60006020828403121561307b57600080fd5b81356001600160801b03811681146110ff57600080fd5b60208082526017908201527614185d5cd8589b1950dbdb9d1c9bdb0e881c185d5cd959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b03838116908316818110156130f9576130f96130c3565b039392505050565b60006020828403121561311357600080fd5b5051919050565b60008282101561312c5761312c6130c3565b500390565b60008219821115613144576131446130c3565b500190565b60006001600160801b0382811684821680830382111561316b5761316b6130c3565b01949350505050565b60006020828403121561318657600080fd5b81516110ff81612cef565b6020808252602c9082015260008051602061349483398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061349483398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000806040838503121561326657600080fd5b825161327181612cef565b6020939093015192949293505050565b600081600019048311821515161561329b5761329b6130c3565b500290565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806132d0576132d06132a0565b92169190910492915050565b60005b838110156132f75781810151838201526020016132df565b838111156119cb5750506000910152565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161333a8160178501602088016132dc565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161336b8160288401602088016132dc565b01602801949350505050565b60208152600082518060208401526133968160408501602087016132dc565b601f01601f19169190910160400192915050565b6000826133b9576133b96132a0565b500490565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052603260045260246000fd5b6000816133fc576133fc6130c3565b506000190190565b60006020828403121561341657600080fd5b81516110ff81612db7565b634e487b7160e01b600052603160045260246000fd5b600082516134498184602087016132dc565b919091019291505056feb2a18ae5d0b623b41098012c516d0bf4bef38c068c9e397da870c290888b19999604fa49b1cb3aa782c099225b9c340b6afeb802be5d4b3314ba27a14502cdfa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546f6b656e4f7065726174696f6e3a206c6f772d6c6576656c2063616c6c206661696c65645407862f04286ebe607684514c14b7fffc750b6bf52ba44ea49569174845a5bd62d52416825983abd68b16e092b60c2eac31fd673bcce92494e063af530d9c30416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65649f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6b601d6a8ea5419a4251765936e52b2763485fede82d3c5dfd765cd67d30f4f227a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb2a264697066735822122044699fc551ea46e85c712eed41a7d9ccea27a85bfd8cd695a6230518929143b664736f6c63430008080033",
952
- "linkReferences": {},
953
- "deployedLinkReferences": {}
954
- }