@flarenetwork/flare-periphery-contract-artifacts 0.0.3 → 0.1.0

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 (848) hide show
  1. package/{dist/README.md → README.md} +2 -1
  2. package/coston/README.md +7 -0
  3. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  4. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  5. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  6. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  7. package/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  8. package/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  9. package/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  10. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  11. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  12. package/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  13. package/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  14. package/coston/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  15. package/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  16. package/coston/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  17. package/coston/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  18. package/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  19. package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  20. package/coston/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  21. package/coston/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  22. package/coston/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  23. package/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  24. package/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  25. package/coston/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  26. package/coston/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  27. package/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  28. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  29. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  30. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  31. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  32. package/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  33. package/coston/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  34. package/coston/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  35. package/coston/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  36. package/coston/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  37. package/coston/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  38. package/coston/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  39. package/coston/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  40. package/coston/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  41. package/coston/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  42. package/coston/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  43. package/coston/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  44. package/coston/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  45. package/coston/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  46. package/coston/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  47. package/coston/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  48. package/coston/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  49. package/coston/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  50. package/coston/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  51. package/coston/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  52. package/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  53. package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  54. package/coston/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  55. package/coston/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  56. package/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +854 -0
  57. package/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  58. package/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  59. package/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +642 -0
  60. package/coston/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  61. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +70 -0
  62. package/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  63. package/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  64. package/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  65. package/coston/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +68 -0
  66. package/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  67. package/coston/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  68. package/coston/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  69. package/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  70. package/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  71. package/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  72. package/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  73. package/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  74. package/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  75. package/coston/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  76. package/coston/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  77. package/coston/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  78. package/coston/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  79. package/coston/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  80. package/coston/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  81. package/coston/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  82. package/coston/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  83. package/coston/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  84. package/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  85. package/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  86. package/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  87. package/coston/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  88. package/coston/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  89. package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1425 -0
  90. package/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  91. package/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  92. package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +975 -0
  93. package/coston/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  94. package/coston/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  95. package/coston/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  96. package/coston/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  97. package/coston/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  98. package/coston/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  99. package/coston/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  100. package/coston/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  101. package/coston/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  102. package/coston/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  103. package/coston/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  104. package/coston/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  105. package/coston/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  106. package/coston/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  107. package/coston/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  108. package/coston/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  109. package/coston/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  110. package/coston/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  111. package/coston/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  112. package/coston/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  113. package/coston/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  114. package/coston/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  115. package/coston/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  116. package/coston/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  117. package/coston/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  118. package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  119. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  120. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  121. package/coston/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  122. package/coston/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  123. package/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  124. package/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  125. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  126. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  127. package/coston/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  128. package/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  129. package/coston/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  130. package/{dist/coston/deploys/coston.json → coston/deploys/contracts.json} +71 -16
  131. package/coston2/README.md +7 -0
  132. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  133. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  134. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  135. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  136. package/coston2/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  137. package/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  138. package/coston2/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  139. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  140. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  141. package/coston2/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  142. package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  143. package/coston2/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  144. package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  145. package/coston2/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  146. package/coston2/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  147. package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  148. package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  149. package/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  150. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  151. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  152. package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  153. package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  154. package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  155. package/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  156. package/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  157. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  158. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  159. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  160. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  161. package/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  162. package/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  163. package/coston2/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  164. package/coston2/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  165. package/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  166. package/coston2/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  167. package/coston2/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  168. package/coston2/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  169. package/coston2/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  170. package/coston2/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  171. package/coston2/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  172. package/coston2/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  173. package/coston2/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  174. package/coston2/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  175. package/coston2/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  176. package/coston2/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  177. package/coston2/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  178. package/coston2/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  179. package/coston2/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  180. package/coston2/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  181. package/coston2/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  182. package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  183. package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  184. package/coston2/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  185. package/coston2/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  186. package/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  187. package/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  188. package/coston2/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  189. package/coston2/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  190. package/coston2/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  191. package/coston2/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  192. package/coston2/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  193. package/coston2/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  194. package/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  195. package/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  196. package/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  197. package/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  198. package/coston2/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  199. package/coston2/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  200. package/coston2/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  201. package/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  202. package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  203. package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  204. package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  205. package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  206. package/coston2/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  207. package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  208. package/coston2/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  209. package/coston2/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  210. package/coston2/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  211. package/coston2/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  212. package/coston2/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  213. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  214. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  215. package/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  216. package/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  217. package/coston2/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  218. package/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  219. package/coston2/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  220. package/coston2/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  221. package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  222. package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  223. package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  224. package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  225. package/coston2/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  226. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  227. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  228. package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  229. package/coston2/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  230. package/coston2/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  231. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  232. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  233. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  234. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  235. package/coston2/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  236. package/coston2/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  237. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  238. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  239. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  240. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  241. package/coston2/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  242. package/coston2/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  243. package/coston2/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  244. package/coston2/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  245. package/coston2/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  246. package/coston2/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  247. package/coston2/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  248. package/coston2/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  249. package/coston2/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  250. package/coston2/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  251. package/coston2/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  252. package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  253. package/coston2/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  254. package/coston2/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  255. package/coston2/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  256. package/coston2/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  257. package/coston2/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  258. package/coston2/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  259. package/coston2/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  260. package/coston2/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  261. package/coston2/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  262. package/coston2/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  263. package/coston2/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  264. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  265. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  266. package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  267. package/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  268. package/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  269. package/coston2/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  270. package/coston2/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  271. package/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  272. package/coston2/artifacts/contracts/utils/implementation/SelfdestructTransfer.sol/SelfdestructTransfer.json +91 -0
  273. package/coston2/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  274. package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  275. package/coston2/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  276. package/coston2/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  277. package/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  278. package/coston2/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  279. package/{dist/coston2/deploys/coston2.json → coston2/deploys/contracts.json} +54 -19
  280. package/dist/coston/abis.d.ts +4 -0
  281. package/dist/coston/abis.d.ts.map +1 -0
  282. package/dist/coston/{abis.coston.js → abis.js} +35 -21
  283. package/dist/coston/abis.js.map +1 -0
  284. package/dist/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  285. package/dist/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  286. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  287. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  288. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  289. package/dist/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  290. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  291. package/dist/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  292. package/dist/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  293. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  294. package/dist/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  295. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  296. package/dist/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  297. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  298. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  299. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  300. package/dist/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  301. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  302. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  303. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  304. package/dist/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  305. package/dist/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  306. package/dist/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  307. package/dist/coston/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  308. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  309. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  310. package/dist/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  311. package/dist/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  312. package/dist/coston/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  313. package/dist/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  314. package/dist/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  315. package/dist/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  316. package/dist/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  317. package/dist/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  318. package/dist/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  319. package/dist/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  320. package/dist/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  321. package/dist/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  322. package/dist/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  323. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +535 -137
  324. package/dist/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  325. package/dist/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  326. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +348 -0
  327. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  328. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  329. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  330. package/dist/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  331. package/dist/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  332. package/dist/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  333. package/dist/coston/deploys/{contractAddresses.d.ts → addresses.d.ts} +14 -3
  334. package/dist/coston/deploys/addresses.d.ts.map +1 -0
  335. package/dist/coston/deploys/{contractAddresses.js → addresses.js} +20 -9
  336. package/dist/coston/deploys/addresses.js.map +1 -0
  337. package/dist/coston/deploys/contracts.json +202 -0
  338. package/dist/coston/deploys/mapper.d.ts +2 -2
  339. package/dist/coston/deploys/mapper.d.ts.map +1 -1
  340. package/dist/coston/deploys/mapper.js +13 -19
  341. package/dist/coston/deploys/mapper.js.map +1 -1
  342. package/dist/coston/index.d.ts +1 -1
  343. package/dist/coston/index.d.ts.map +1 -1
  344. package/dist/coston/index.js +1 -2
  345. package/dist/coston/index.js.map +1 -1
  346. package/dist/coston2/abis.d.ts +4 -0
  347. package/dist/coston2/abis.d.ts.map +1 -0
  348. package/dist/coston2/{abis.coston2.js → abis.js} +7 -3
  349. package/dist/coston2/abis.js.map +1 -0
  350. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  351. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  352. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  353. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  354. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  355. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  356. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  357. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  358. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  359. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  360. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  361. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  362. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  363. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  364. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  365. package/dist/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  366. package/dist/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  367. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  368. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  369. package/dist/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  370. package/dist/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  371. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  372. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  373. package/dist/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  374. package/dist/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  375. package/dist/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  376. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  377. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  378. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  379. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  380. package/dist/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  381. package/dist/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  382. package/dist/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  383. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  384. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  385. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  386. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  387. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  388. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  389. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  390. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  391. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  392. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  393. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  394. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  395. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  396. package/dist/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  397. package/dist/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  398. package/dist/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  399. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  400. package/dist/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  401. package/dist/coston2/deploys/{contractAddresses.d.ts → addresses.d.ts} +10 -3
  402. package/dist/coston2/deploys/addresses.d.ts.map +1 -0
  403. package/dist/coston2/deploys/{contractAddresses.js → addresses.js} +22 -15
  404. package/dist/coston2/deploys/addresses.js.map +1 -0
  405. package/dist/coston2/deploys/contracts.json +252 -0
  406. package/dist/coston2/deploys/mapper.d.ts +2 -2
  407. package/dist/coston2/deploys/mapper.d.ts.map +1 -1
  408. package/dist/coston2/deploys/mapper.js +13 -19
  409. package/dist/coston2/deploys/mapper.js.map +1 -1
  410. package/dist/coston2/index.d.ts +1 -1
  411. package/dist/coston2/index.d.ts.map +1 -1
  412. package/dist/coston2/index.js +1 -2
  413. package/dist/coston2/index.js.map +1 -1
  414. package/dist/flare/abis.d.ts +4 -0
  415. package/dist/flare/abis.d.ts.map +1 -0
  416. package/dist/flare/{abis.flare.js → abis.js} +7 -3
  417. package/dist/flare/abis.js.map +1 -0
  418. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  419. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  420. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  421. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  422. package/dist/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  423. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  424. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  425. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  426. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  427. package/dist/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  428. package/dist/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  429. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  430. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  431. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  432. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  433. package/dist/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  434. package/dist/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  435. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  436. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  437. package/dist/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  438. package/dist/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  439. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  440. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  441. package/dist/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  442. package/dist/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  443. package/dist/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  444. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  445. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  446. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  447. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  448. package/dist/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  449. package/dist/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  450. package/dist/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  451. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  452. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  453. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  454. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  455. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  456. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  457. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  458. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  459. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  460. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  461. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  462. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  463. package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  464. package/dist/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  465. package/dist/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  466. package/dist/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  467. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  468. package/dist/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  469. package/dist/flare/deploys/{contractAddresses.d.ts → addresses.d.ts} +11 -3
  470. package/dist/flare/deploys/addresses.d.ts.map +1 -0
  471. package/dist/flare/deploys/{contractAddresses.js → addresses.js} +23 -15
  472. package/dist/flare/deploys/addresses.js.map +1 -0
  473. package/dist/flare/deploys/{flare.json → contracts.json} +60 -20
  474. package/dist/flare/deploys/mapper.d.ts +2 -2
  475. package/dist/flare/deploys/mapper.d.ts.map +1 -1
  476. package/dist/flare/deploys/mapper.js +13 -19
  477. package/dist/flare/deploys/mapper.js.map +1 -1
  478. package/dist/flare/index.d.ts +1 -1
  479. package/dist/flare/index.d.ts.map +1 -1
  480. package/dist/flare/index.js +1 -2
  481. package/dist/flare/index.js.map +1 -1
  482. package/dist/index.d.ts.map +1 -1
  483. package/dist/index.js +5 -9
  484. package/dist/index.js.map +1 -1
  485. package/dist/songbird/abis.d.ts +4 -0
  486. package/dist/songbird/abis.d.ts.map +1 -0
  487. package/dist/songbird/{abis.songbird.js → abis.js} +17 -7
  488. package/dist/songbird/abis.js.map +1 -0
  489. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  490. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  491. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  492. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  493. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  494. package/dist/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  495. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  496. package/dist/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  497. package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  498. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  499. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  500. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  501. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  502. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  503. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  504. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  505. package/dist/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  506. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  507. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  508. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  509. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  510. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  511. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  512. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  513. package/dist/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  514. package/dist/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  515. package/dist/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  516. package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  517. package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  518. package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  519. package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  520. package/dist/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  521. package/dist/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  522. package/dist/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  523. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  524. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  525. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  526. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  527. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  528. package/dist/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  529. package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  530. package/dist/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  531. package/dist/songbird/deploys/{contractAddresses.d.ts → addresses.d.ts} +14 -3
  532. package/dist/songbird/deploys/addresses.d.ts.map +1 -0
  533. package/dist/songbird/deploys/{contractAddresses.js → addresses.js} +17 -6
  534. package/dist/songbird/deploys/addresses.js.map +1 -0
  535. package/dist/songbird/deploys/{songbird.json → contracts.json} +68 -13
  536. package/dist/songbird/deploys/mapper.d.ts +2 -2
  537. package/dist/songbird/deploys/mapper.d.ts.map +1 -1
  538. package/dist/songbird/deploys/mapper.js +13 -19
  539. package/dist/songbird/deploys/mapper.js.map +1 -1
  540. package/dist/songbird/index.d.ts +1 -1
  541. package/dist/songbird/index.d.ts.map +1 -1
  542. package/dist/songbird/index.js +1 -2
  543. package/dist/songbird/index.js.map +1 -1
  544. package/flare/README.md +7 -0
  545. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  546. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  547. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  548. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  549. package/flare/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  550. package/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  551. package/flare/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  552. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  553. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  554. package/flare/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  555. package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  556. package/flare/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  557. package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  558. package/flare/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  559. package/flare/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  560. package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  561. package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  562. package/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  563. package/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  564. package/flare/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  565. package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  566. package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  567. package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  568. package/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  569. package/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  570. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  571. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  572. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  573. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  574. package/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  575. package/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  576. package/flare/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  577. package/flare/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  578. package/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  579. package/flare/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  580. package/flare/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  581. package/flare/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  582. package/flare/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  583. package/flare/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  584. package/flare/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  585. package/flare/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  586. package/flare/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  587. package/flare/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  588. package/flare/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  589. package/flare/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  590. package/flare/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  591. package/flare/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  592. package/flare/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  593. package/flare/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  594. package/flare/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  595. package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  596. package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  597. package/flare/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  598. package/flare/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  599. package/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  600. package/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  601. package/flare/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  602. package/flare/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  603. package/flare/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  604. package/flare/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  605. package/flare/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  606. package/flare/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  607. package/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  608. package/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  609. package/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  610. package/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  611. package/flare/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  612. package/flare/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  613. package/flare/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  614. package/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  615. package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  616. package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  617. package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  618. package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  619. package/flare/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  620. package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  621. package/flare/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  622. package/flare/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  623. package/flare/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  624. package/flare/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  625. package/flare/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  626. package/flare/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  627. package/flare/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  628. package/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  629. package/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  630. package/flare/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  631. package/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  632. package/flare/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  633. package/flare/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  634. package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  635. package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  636. package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  637. package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  638. package/flare/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  639. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  640. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  641. package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  642. package/flare/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  643. package/flare/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  644. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  645. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  646. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  647. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  648. package/flare/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  649. package/flare/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  650. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  651. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  652. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  653. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  654. package/flare/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  655. package/flare/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  656. package/flare/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  657. package/flare/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  658. package/flare/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  659. package/flare/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  660. package/flare/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  661. package/flare/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  662. package/flare/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  663. package/flare/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  664. package/flare/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  665. package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  666. package/flare/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  667. package/flare/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  668. package/flare/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  669. package/flare/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  670. package/flare/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  671. package/flare/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  672. package/flare/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  673. package/flare/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  674. package/flare/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  675. package/flare/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  676. package/flare/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  677. package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  678. package/flare/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  679. package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  680. package/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  681. package/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  682. package/flare/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  683. package/flare/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  684. package/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  685. package/flare/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  686. package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  687. package/flare/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  688. package/flare/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  689. package/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  690. package/flare/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  691. package/flare/deploys/contracts.json +252 -0
  692. package/package.json +22 -27
  693. package/songbird/README.md +7 -0
  694. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  695. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  696. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  697. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  698. package/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  699. package/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  700. package/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  701. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  702. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  703. package/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  704. package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  705. package/songbird/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  706. package/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  707. package/songbird/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  708. package/songbird/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  709. package/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  710. package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  711. package/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  712. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  713. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  714. package/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  715. package/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  716. package/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  717. package/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  718. package/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  719. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  720. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  721. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  722. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  723. package/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  724. package/songbird/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  725. package/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  726. package/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  727. package/songbird/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  728. package/songbird/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  729. package/songbird/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  730. package/songbird/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  731. package/songbird/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  732. package/songbird/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  733. package/songbird/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  734. package/songbird/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  735. package/songbird/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  736. package/songbird/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  737. package/songbird/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  738. package/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  739. package/songbird/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  740. package/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  741. package/songbird/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  742. package/songbird/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  743. package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +351 -0
  744. package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  745. package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  746. package/songbird/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  747. package/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  748. package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +879 -0
  749. package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +403 -0
  750. package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  751. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +44 -0
  752. package/songbird/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  753. package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +88 -0
  754. package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  755. package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  756. package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  757. package/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  758. package/songbird/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  759. package/songbird/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  760. package/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  761. package/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  762. package/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  763. package/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  764. package/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  765. package/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  766. package/songbird/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  767. package/songbird/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  768. package/songbird/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  769. package/songbird/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  770. package/songbird/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  771. package/songbird/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  772. package/songbird/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  773. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  774. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  775. package/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  776. package/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  777. package/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  778. package/songbird/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  779. package/songbird/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  780. package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  781. package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +949 -0
  782. package/songbird/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  783. package/songbird/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  784. package/songbird/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  785. package/songbird/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  786. package/songbird/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  787. package/songbird/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  788. package/songbird/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  789. package/songbird/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  790. package/songbird/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  791. package/songbird/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  792. package/songbird/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  793. package/songbird/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  794. package/songbird/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  795. package/songbird/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  796. package/songbird/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  797. package/songbird/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  798. package/songbird/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  799. package/songbird/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  800. package/songbird/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  801. package/songbird/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  802. package/songbird/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  803. package/songbird/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  804. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  805. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  806. package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  807. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  808. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  809. package/songbird/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  810. package/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  811. package/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  812. package/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  813. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  814. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  815. package/songbird/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  816. package/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  817. package/songbird/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  818. package/songbird/deploys/contracts.json +202 -0
  819. package/dist/coston/abis.coston.d.ts +0 -4
  820. package/dist/coston/abis.coston.d.ts.map +0 -1
  821. package/dist/coston/abis.coston.js.map +0 -1
  822. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  823. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  824. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  825. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  826. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  827. package/dist/coston/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  828. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
  829. package/dist/coston/deploys/contractAddresses.d.ts.map +0 -1
  830. package/dist/coston/deploys/contractAddresses.js.map +0 -1
  831. package/dist/coston2/abis.coston2.d.ts +0 -4
  832. package/dist/coston2/abis.coston2.d.ts.map +0 -1
  833. package/dist/coston2/abis.coston2.js.map +0 -1
  834. package/dist/coston2/deploys/contractAddresses.d.ts.map +0 -1
  835. package/dist/coston2/deploys/contractAddresses.js.map +0 -1
  836. package/dist/flare/abis.flare.d.ts +0 -4
  837. package/dist/flare/abis.flare.d.ts.map +0 -1
  838. package/dist/flare/abis.flare.js.map +0 -1
  839. package/dist/flare/deploys/contractAddresses.d.ts.map +0 -1
  840. package/dist/flare/deploys/contractAddresses.js.map +0 -1
  841. package/dist/package.json +0 -28
  842. package/dist/songbird/abis.songbird.d.ts +0 -4
  843. package/dist/songbird/abis.songbird.d.ts.map +0 -1
  844. package/dist/songbird/abis.songbird.js.map +0 -1
  845. package/dist/songbird/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  846. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
  847. package/dist/songbird/deploys/contractAddresses.d.ts.map +0 -1
  848. package/dist/songbird/deploys/contractAddresses.js.map +0 -1
@@ -14,6 +14,25 @@
14
14
  "stateMutability": "nonpayable",
15
15
  "type": "constructor"
16
16
  },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "voter",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "untilRewardEpoch",
30
+ "type": "uint256"
31
+ }
32
+ ],
33
+ "name": "VoterChilled",
34
+ "type": "event"
35
+ },
17
36
  {
18
37
  "anonymous": false,
19
38
  "inputs": [
@@ -65,6 +84,25 @@
65
84
  "stateMutability": "nonpayable",
66
85
  "type": "function"
67
86
  },
87
+ {
88
+ "inputs": [
89
+ {
90
+ "internalType": "address",
91
+ "name": "",
92
+ "type": "address"
93
+ }
94
+ ],
95
+ "name": "chilledUntilRewardEpoch",
96
+ "outputs": [
97
+ {
98
+ "internalType": "uint256",
99
+ "name": "",
100
+ "type": "uint256"
101
+ }
102
+ ],
103
+ "stateMutability": "view",
104
+ "type": "function"
105
+ },
68
106
  {
69
107
  "inputs": [],
70
108
  "name": "defaultMaxVotersForFtso",
@@ -191,8 +229,8 @@
191
229
  "type": "function"
192
230
  }
193
231
  ],
194
- "bytecode": "0x6080604052600160005534801561001557600080fd5b50604051610c38380380610c3883398101604081905261003491610059565b600380546001600160a01b0319166001600160a01b0392909216919091179055610087565b60006020828403121561006a578081fd5b81516001600160a01b0381168114610080578182fd5b9392505050565b610ba2806100966000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635fc560141161005b5780635fc56014146100f357806398dccfc214610106578063aa89dfd414610119578063b06cbaf71461012c57610088565b806309fcb4001461008d578063345705a4146100b65780633de2cb1c146100cb57806347ed51b1146100de575b600080fd5b6100a061009b3660046108a6565b61014d565b6040516100ad9190610932565b60405180910390f35b6100c96100c43660046108a6565b610211565b005b6100c96100d9366004610753565b61027a565b6100e66102d0565b6040516100ad9190610b27565b6100c9610101366004610737565b6102d6565b6100e66101143660046108a6565b610322565b6100a061012736600461081f565b610334565b61013f61013a366004610737565b6103c9565b6040516100ad929190610967565b600081815260016020526040902054606090806101855760405162461bcd60e51b815260040161017c90610a96565b60405180910390fd5b6000838152600260205260409020546001600160a01b0316806101ba575050604080516000815260208101909152905061020c565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106101ea57fe5b6001600160a01b0390921660209283029190910190910152925061020c915050565b919050565b6003546001600160a01b0316331461023b5760405162461bcd60e51b815260040161017c90610af9565b600081815260016020526040902054156102675760405162461bcd60e51b815260040161017c90610a5f565b6000805491815260016020526040902055565b6102838261050c565b156102a05760405162461bcd60e51b815260040161017c90610a36565b60006102ac8383610512565b9050806102cb5760405162461bcd60e51b815260040161017c90610acd565b505050565b60005481565b6003546001600160a01b031633146103005760405162461bcd60e51b815260040161017c90610af9565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60016020526000908152604090205481565b60048054604051630e848da360e41b81526060926000926001600160a01b03169163e848da3091610367918791016109e3565b60206040518083038186803b15801561037f57600080fd5b505afa158015610393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b791906108be565b90506103c28161014d565b9392505050565b6060806103d58361050c565b156103f25760405162461bcd60e51b815260040161017c90610a36565b600480546040805163798aac5b60e01b815290516001600160a01b039092169263798aac5b928282019260009290829003018186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610470919081019061077e565b80519092508067ffffffffffffffff8111801561048c57600080fd5b506040519080825280602002602001820160405280156104b6578160200160208202803683370190505b50915060005b81811015610505576104e1858583815181106104d457fe5b6020026020010151610512565b8382815181106104ed57fe5b911515602092830291909101909101526001016104bc565b5050915091565b50600090565b6000818152600160205260408120548061053e5760405162461bcd60e51b815260040161017c90610a96565b6000838152600260205260409020546001600160a01b0390811690851681141561056d576001925050506105fd565b600084815260026020908152604080832080546001600160a01b0319166001600160a01b038a161790558051600180825281830190925291828101908036833701905050905081816000815181106105c157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506105eb8186610603565b6105f586866106cc565b600193505050505b92915050565b60005b8251811015610663577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b01683828151811061063c57fe5b602002602001015183604051610653929190610919565b60405180910390a1600101610606565b506003546040516376794efb60e01b81526001600160a01b03909116906376794efb906106969085908590600401610945565b600060405180830381600087803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b505050505050565b7f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e382826040516106fd929190610919565b60405180910390a1600354604051639d986f9160e01b81526001600160a01b0390911690639d986f91906106969085908590600401610919565b600060208284031215610748578081fd5b81356103c281610b54565b60008060408385031215610765578081fd5b823561077081610b54565b946020939093013593505050565b60006020808385031215610790578182fd5b825167ffffffffffffffff808211156107a7578384fd5b818501915085601f8301126107ba578384fd5b8151818111156107c657fe5b83810291506107d6848301610b30565b8181528481019084860184860187018a10156107f0578788fd5b8795505b838610156108125780518352600195909501949186019186016107f4565b5098975050505050505050565b60006020808385031215610831578182fd5b823567ffffffffffffffff80821115610848578384fd5b818501915085601f83011261085b578384fd5b81358181111561086757fe5b610879601f8201601f19168501610b30565b9150808252868482850101111561088e578485fd5b80848401858401378101909201929092529392505050565b6000602082840312156108b7578081fd5b5035919050565b6000602082840312156108cf578081fd5b5051919050565b6000815180845260208085019450808401835b8381101561090e5781516001600160a01b0316875295820195908201906001016108e9565b509495945050505050565b6001600160a01b03929092168252602082015260400190565b6000602082526103c260208301846108d6565b60006040825261095860408301856108d6565b90508260208301529392505050565b604080825283519082018190526000906020906060840190828701845b828110156109a057815184529284019290840190600101610984565b50505083810382850152845180825285830191830190845b818110156109d65783511515835292840192918401916001016109b8565b5090979650505050505050565b6000602080835283518082850152825b81811015610a0f578581018301518582016040015282016109f3565b81811115610a205783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600f908201526e74727573746564206164647265737360881b604082015260600190565b60208082526017908201527f77686974656c69737420616c7265616479206578697374000000000000000000604082015260600190565b60208082526018908201527f4654534f20696e646578206e6f7420737570706f727465640000000000000000604082015260600190565b602080825260129082015271766f746520706f77657220746f6f206c6f7760701b604082015260600190565b60208082526014908201527337b7363c90383934b1b29039bab136b4ba3a32b960611b604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715610b4c57fe5b604052919050565b6001600160a01b0381168114610b6957600080fd5b5056fea26469706673582212209b721616c21052d4a0548f1f25a6273e06bc589ec1c70fe7f65cfd0d497297da64736f6c63430007060033",
195
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80635fc560141161005b5780635fc56014146100f357806398dccfc214610106578063aa89dfd414610119578063b06cbaf71461012c57610088565b806309fcb4001461008d578063345705a4146100b65780633de2cb1c146100cb57806347ed51b1146100de575b600080fd5b6100a061009b3660046108a6565b61014d565b6040516100ad9190610932565b60405180910390f35b6100c96100c43660046108a6565b610211565b005b6100c96100d9366004610753565b61027a565b6100e66102d0565b6040516100ad9190610b27565b6100c9610101366004610737565b6102d6565b6100e66101143660046108a6565b610322565b6100a061012736600461081f565b610334565b61013f61013a366004610737565b6103c9565b6040516100ad929190610967565b600081815260016020526040902054606090806101855760405162461bcd60e51b815260040161017c90610a96565b60405180910390fd5b6000838152600260205260409020546001600160a01b0316806101ba575050604080516000815260208101909152905061020c565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106101ea57fe5b6001600160a01b0390921660209283029190910190910152925061020c915050565b919050565b6003546001600160a01b0316331461023b5760405162461bcd60e51b815260040161017c90610af9565b600081815260016020526040902054156102675760405162461bcd60e51b815260040161017c90610a5f565b6000805491815260016020526040902055565b6102838261050c565b156102a05760405162461bcd60e51b815260040161017c90610a36565b60006102ac8383610512565b9050806102cb5760405162461bcd60e51b815260040161017c90610acd565b505050565b60005481565b6003546001600160a01b031633146103005760405162461bcd60e51b815260040161017c90610af9565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60016020526000908152604090205481565b60048054604051630e848da360e41b81526060926000926001600160a01b03169163e848da3091610367918791016109e3565b60206040518083038186803b15801561037f57600080fd5b505afa158015610393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b791906108be565b90506103c28161014d565b9392505050565b6060806103d58361050c565b156103f25760405162461bcd60e51b815260040161017c90610a36565b600480546040805163798aac5b60e01b815290516001600160a01b039092169263798aac5b928282019260009290829003018186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610470919081019061077e565b80519092508067ffffffffffffffff8111801561048c57600080fd5b506040519080825280602002602001820160405280156104b6578160200160208202803683370190505b50915060005b81811015610505576104e1858583815181106104d457fe5b6020026020010151610512565b8382815181106104ed57fe5b911515602092830291909101909101526001016104bc565b5050915091565b50600090565b6000818152600160205260408120548061053e5760405162461bcd60e51b815260040161017c90610a96565b6000838152600260205260409020546001600160a01b0390811690851681141561056d576001925050506105fd565b600084815260026020908152604080832080546001600160a01b0319166001600160a01b038a161790558051600180825281830190925291828101908036833701905050905081816000815181106105c157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506105eb8186610603565b6105f586866106cc565b600193505050505b92915050565b60005b8251811015610663577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b01683828151811061063c57fe5b602002602001015183604051610653929190610919565b60405180910390a1600101610606565b506003546040516376794efb60e01b81526001600160a01b03909116906376794efb906106969085908590600401610945565b600060405180830381600087803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b505050505050565b7f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e382826040516106fd929190610919565b60405180910390a1600354604051639d986f9160e01b81526001600160a01b0390911690639d986f91906106969085908590600401610919565b600060208284031215610748578081fd5b81356103c281610b54565b60008060408385031215610765578081fd5b823561077081610b54565b946020939093013593505050565b60006020808385031215610790578182fd5b825167ffffffffffffffff808211156107a7578384fd5b818501915085601f8301126107ba578384fd5b8151818111156107c657fe5b83810291506107d6848301610b30565b8181528481019084860184860187018a10156107f0578788fd5b8795505b838610156108125780518352600195909501949186019186016107f4565b5098975050505050505050565b60006020808385031215610831578182fd5b823567ffffffffffffffff80821115610848578384fd5b818501915085601f83011261085b578384fd5b81358181111561086757fe5b610879601f8201601f19168501610b30565b9150808252868482850101111561088e578485fd5b80848401858401378101909201929092529392505050565b6000602082840312156108b7578081fd5b5035919050565b6000602082840312156108cf578081fd5b5051919050565b6000815180845260208085019450808401835b8381101561090e5781516001600160a01b0316875295820195908201906001016108e9565b509495945050505050565b6001600160a01b03929092168252602082015260400190565b6000602082526103c260208301846108d6565b60006040825261095860408301856108d6565b90508260208301529392505050565b604080825283519082018190526000906020906060840190828701845b828110156109a057815184529284019290840190600101610984565b50505083810382850152845180825285830191830190845b818110156109d65783511515835292840192918401916001016109b8565b5090979650505050505050565b6000602080835283518082850152825b81811015610a0f578581018301518582016040015282016109f3565b81811115610a205783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600f908201526e74727573746564206164647265737360881b604082015260600190565b60208082526017908201527f77686974656c69737420616c7265616479206578697374000000000000000000604082015260600190565b60208082526018908201527f4654534f20696e646578206e6f7420737570706f727465640000000000000000604082015260600190565b602080825260129082015271766f746520706f77657220746f6f206c6f7760701b604082015260600190565b60208082526014908201527337b7363c90383934b1b29039bab136b4ba3a32b960611b604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715610b4c57fe5b604052919050565b6001600160a01b0381168114610b6957600080fd5b5056fea26469706673582212209b721616c21052d4a0548f1f25a6273e06bc589ec1c70fe7f65cfd0d497297da64736f6c63430007060033",
232
+ "bytecode": "0x6080604052600160005534801561001557600080fd5b50604051610c75380380610c7583398101604081905261003491610059565b600480546001600160a01b0319166001600160a01b0392909216919091179055610087565b60006020828403121561006a578081fd5b81516001600160a01b0381168114610080578182fd5b9392505050565b610bdf806100966000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806347ed51b11161006657806347ed51b1146101095780635fc560141461011157806398dccfc214610124578063aa89dfd414610137578063b06cbaf71461014a57610093565b806309fcb40014610098578063345705a4146100c15780633de2cb1c146100d657806346538074146100e9575b600080fd5b6100ab6100a63660046108e3565b61016b565b6040516100b8919061096f565b60405180910390f35b6100d46100cf3660046108e3565b61022f565b005b6100d46100e4366004610790565b610298565b6100fc6100f7366004610774565b6102ee565b6040516100b89190610b64565b6100fc610300565b6100d461011f366004610774565b610306565b6100fc6101323660046108e3565b610352565b6100ab61014536600461085c565b610364565b61015d610158366004610774565b6103fc565b6040516100b89291906109a4565b600081815260016020526040902054606090806101a35760405162461bcd60e51b815260040161019a90610ad3565b60405180910390fd5b6000838152600360205260409020546001600160a01b0316806101d8575050604080516000815260208101909152905061022a565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061020857fe5b6001600160a01b0390921660209283029190910190910152925061022a915050565b919050565b6004546001600160a01b031633146102595760405162461bcd60e51b815260040161019a90610b36565b600081815260016020526040902054156102855760405162461bcd60e51b815260040161019a90610a9c565b6000805491815260016020526040902055565b6102a18261054b565b156102be5760405162461bcd60e51b815260040161019a90610a73565b60006102ca8383610551565b9050806102e95760405162461bcd60e51b815260040161019a90610b0a565b505050565b60026020526000908152604090205481565b60005481565b6004546001600160a01b031633146103305760405162461bcd60e51b815260040161019a90610b36565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60016020526000908152604090205481565b600554604051630e848da360e41b81526060916000916001600160a01b039091169063e848da309061039a908690600401610a20565b60206040518083038186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906108fb565b90506103f58161016b565b9392505050565b6060806104088361054b565b156104255760405162461bcd60e51b815260040161019a90610a73565b600560009054906101000a90046001600160a01b03166001600160a01b031663798aac5b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561047357600080fd5b505afa158015610487573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104af91908101906107bb565b80519092508067ffffffffffffffff811180156104cb57600080fd5b506040519080825280602002602001820160405280156104f5578160200160208202803683370190505b50915060005b81811015610544576105208585838151811061051357fe5b6020026020010151610551565b83828151811061052c57fe5b911515602092830291909101909101526001016104fb565b5050915091565b50600090565b6000818152600160205260408120548061057d5760405162461bcd60e51b815260040161019a90610ad3565b6000838152600360205260409020546001600160a01b039081169085168114156105ac5760019250505061063c565b600084815260036020908152604080832080546001600160a01b0319166001600160a01b038a1617905580516001808252818301909252918281019080368337019050509050818160008151811061060057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061062a8186610642565b610634868661070a565b600193505050505b92915050565b60005b82518110156106a2577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b01683828151811061067b57fe5b602002602001015183604051610692929190610956565b60405180910390a1600101610645565b50600480546040516376794efb60e01b81526001600160a01b03909116916376794efb916106d4918691869101610982565b600060405180830381600087803b1580156106ee57600080fd5b505af1158015610702573d6000803e3d6000fd5b505050505050565b7f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e3828260405161073b929190610956565b60405180910390a160048054604051639d986f9160e01b81526001600160a01b0390911691639d986f91916106d4918691869101610956565b600060208284031215610785578081fd5b81356103f581610b91565b600080604083850312156107a2578081fd5b82356107ad81610b91565b946020939093013593505050565b600060208083850312156107cd578182fd5b825167ffffffffffffffff808211156107e4578384fd5b818501915085601f8301126107f7578384fd5b81518181111561080357fe5b8381029150610813848301610b6d565b8181528481019084860184860187018a101561082d578788fd5b8795505b8386101561084f578051835260019590950194918601918601610831565b5098975050505050505050565b6000602080838503121561086e578182fd5b823567ffffffffffffffff80821115610885578384fd5b818501915085601f830112610898578384fd5b8135818111156108a457fe5b6108b6601f8201601f19168501610b6d565b915080825286848285010111156108cb578485fd5b80848401858401378101909201929092529392505050565b6000602082840312156108f4578081fd5b5035919050565b60006020828403121561090c578081fd5b5051919050565b6000815180845260208085019450808401835b8381101561094b5781516001600160a01b031687529582019590820190600101610926565b509495945050505050565b6001600160a01b03929092168252602082015260400190565b6000602082526103f56020830184610913565b6000604082526109956040830185610913565b90508260208301529392505050565b604080825283519082018190526000906020906060840190828701845b828110156109dd578151845292840192908401906001016109c1565b50505083810382850152845180825285830191830190845b81811015610a135783511515835292840192918401916001016109f5565b5090979650505050505050565b6000602080835283518082850152825b81811015610a4c57858101830151858201604001528201610a30565b81811115610a5d5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600f908201526e74727573746564206164647265737360881b604082015260600190565b60208082526017908201527f77686974656c69737420616c7265616479206578697374000000000000000000604082015260600190565b60208082526018908201527f4654534f20696e646578206e6f7420737570706f727465640000000000000000604082015260600190565b602080825260129082015271766f746520706f77657220746f6f206c6f7760701b604082015260600190565b60208082526014908201527337b7363c90383934b1b29039bab136b4ba3a32b960611b604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715610b8957fe5b604052919050565b6001600160a01b0381168114610ba657600080fd5b5056fea26469706673582212208dcf6ec5f6cad1081ca12b7f63c954f85932caef522b857a295f2326d1b7767064736f6c63430007060033",
233
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806347ed51b11161006657806347ed51b1146101095780635fc560141461011157806398dccfc214610124578063aa89dfd414610137578063b06cbaf71461014a57610093565b806309fcb40014610098578063345705a4146100c15780633de2cb1c146100d657806346538074146100e9575b600080fd5b6100ab6100a63660046108e3565b61016b565b6040516100b8919061096f565b60405180910390f35b6100d46100cf3660046108e3565b61022f565b005b6100d46100e4366004610790565b610298565b6100fc6100f7366004610774565b6102ee565b6040516100b89190610b64565b6100fc610300565b6100d461011f366004610774565b610306565b6100fc6101323660046108e3565b610352565b6100ab61014536600461085c565b610364565b61015d610158366004610774565b6103fc565b6040516100b89291906109a4565b600081815260016020526040902054606090806101a35760405162461bcd60e51b815260040161019a90610ad3565b60405180910390fd5b6000838152600360205260409020546001600160a01b0316806101d8575050604080516000815260208101909152905061022a565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061020857fe5b6001600160a01b0390921660209283029190910190910152925061022a915050565b919050565b6004546001600160a01b031633146102595760405162461bcd60e51b815260040161019a90610b36565b600081815260016020526040902054156102855760405162461bcd60e51b815260040161019a90610a9c565b6000805491815260016020526040902055565b6102a18261054b565b156102be5760405162461bcd60e51b815260040161019a90610a73565b60006102ca8383610551565b9050806102e95760405162461bcd60e51b815260040161019a90610b0a565b505050565b60026020526000908152604090205481565b60005481565b6004546001600160a01b031633146103305760405162461bcd60e51b815260040161019a90610b36565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60016020526000908152604090205481565b600554604051630e848da360e41b81526060916000916001600160a01b039091169063e848da309061039a908690600401610a20565b60206040518083038186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906108fb565b90506103f58161016b565b9392505050565b6060806104088361054b565b156104255760405162461bcd60e51b815260040161019a90610a73565b600560009054906101000a90046001600160a01b03166001600160a01b031663798aac5b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561047357600080fd5b505afa158015610487573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104af91908101906107bb565b80519092508067ffffffffffffffff811180156104cb57600080fd5b506040519080825280602002602001820160405280156104f5578160200160208202803683370190505b50915060005b81811015610544576105208585838151811061051357fe5b6020026020010151610551565b83828151811061052c57fe5b911515602092830291909101909101526001016104fb565b5050915091565b50600090565b6000818152600160205260408120548061057d5760405162461bcd60e51b815260040161019a90610ad3565b6000838152600360205260409020546001600160a01b039081169085168114156105ac5760019250505061063c565b600084815260036020908152604080832080546001600160a01b0319166001600160a01b038a1617905580516001808252818301909252918281019080368337019050509050818160008151811061060057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061062a8186610642565b610634868661070a565b600193505050505b92915050565b60005b82518110156106a2577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b01683828151811061067b57fe5b602002602001015183604051610692929190610956565b60405180910390a1600101610645565b50600480546040516376794efb60e01b81526001600160a01b03909116916376794efb916106d4918691869101610982565b600060405180830381600087803b1580156106ee57600080fd5b505af1158015610702573d6000803e3d6000fd5b505050505050565b7f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e3828260405161073b929190610956565b60405180910390a160048054604051639d986f9160e01b81526001600160a01b0390911691639d986f91916106d4918691869101610956565b600060208284031215610785578081fd5b81356103f581610b91565b600080604083850312156107a2578081fd5b82356107ad81610b91565b946020939093013593505050565b600060208083850312156107cd578182fd5b825167ffffffffffffffff808211156107e4578384fd5b818501915085601f8301126107f7578384fd5b81518181111561080357fe5b8381029150610813848301610b6d565b8181528481019084860184860187018a101561082d578788fd5b8795505b8386101561084f578051835260019590950194918601918601610831565b5098975050505050505050565b6000602080838503121561086e578182fd5b823567ffffffffffffffff80821115610885578384fd5b818501915085601f830112610898578384fd5b8135818111156108a457fe5b6108b6601f8201601f19168501610b6d565b915080825286848285010111156108cb578485fd5b80848401858401378101909201929092529392505050565b6000602082840312156108f4578081fd5b5035919050565b60006020828403121561090c578081fd5b5051919050565b6000815180845260208085019450808401835b8381101561094b5781516001600160a01b031687529582019590820190600101610926565b509495945050505050565b6001600160a01b03929092168252602082015260400190565b6000602082526103f56020830184610913565b6000604082526109956040830185610913565b90508260208301529392505050565b604080825283519082018190526000906020906060840190828701845b828110156109dd578151845292840192908401906001016109c1565b50505083810382850152845180825285830191830190845b81811015610a135783511515835292840192918401916001016109f5565b5090979650505050505050565b6000602080835283518082850152825b81811015610a4c57858101830151858201604001528201610a30565b81811115610a5d5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600f908201526e74727573746564206164647265737360881b604082015260600190565b60208082526017908201527f77686974656c69737420616c7265616479206578697374000000000000000000604082015260600190565b60208082526018908201527f4654534f20696e646578206e6f7420737570706f727465640000000000000000604082015260600190565b602080825260129082015271766f746520706f77657220746f6f206c6f7760701b604082015260600190565b60208082526014908201527337b7363c90383934b1b29039bab136b4ba3a32b960611b604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715610b8957fe5b604052919050565b6001600160a01b0381168114610ba657600080fd5b5056fea26469706673582212208dcf6ec5f6cad1081ca12b7f63c954f85932caef522b857a295f2326d1b7767064736f6c63430007060033",
196
234
  "linkReferences": {},
197
235
  "deployedLinkReferences": {}
198
236
  }
@@ -669,8 +669,8 @@
669
669
  "type": "function"
670
670
  }
671
671
  ],
672
- "bytecode": "0x608060405234801561001057600080fd5b506128c0806100206000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638be2fb8611610104578063d38bfff4116100a2578063e9de7d6011610071578063e9de7d6014610322578063ecdda0dd14610335578063ed21b6e414610348578063ee323c921461035f576101cf565b8063d38bfff4146102e9578063d48a38df146102fc578063dded1b4714610304578063e371aef01461030c576101cf565b8063a6817ace116100de578063a6817ace146102be578063be0522e0146102c6578063c373a08e146102ce578063c9f960eb146102e1576101cf565b80638be2fb861461029b5780638ccf77a0146102a35780639d6a890f146102ab576101cf565b806362da19a511610171578063689c49991161014b578063689c49991461026557806372993615146102785780637fec8d3814610280578063870196b814610288576101cf565b806362da19a51461023c578063639031431461024457806363d4a53a1461024c576101cf565b80635042916c116101ad5780635042916c146102025780635aa6e675146102175780635d36b1901461022c57806360f7ac9714610234576101cf565b806310663750146101d45780631d76dea1146101f25780634f6a77b5146101fa575b600080fd5b6101dc610372565b6040516101e991906127a1565b60405180910390f35b6101dc610378565b6101dc61037e565b61021561021036600461249c565b610384565b005b61021f6103da565b6040516101e99190612592565b6102156103e9565b61021f6104ab565b6101dc6104ba565b6101dc6104c0565b6102546104d0565b6040516101e9959493929190612698565b61021561027336600461240d565b61050b565b6101dc61083a565b6101dc610840565b61021561029636600461249c565b6108eb565b6101dc610a3b565b610215610a41565b6102156102b93660046123f1565b610a9c565b6101dc610aa1565b61021f610aa7565b6102156102dc3660046123f1565b610ab6565b61021f610b5b565b6102156102f73660046123f1565b610b9a565b6101dc610c5c565b6101dc610c62565b610314610c68565b6040516101e992919061277f565b61021561033036600461249c565b610c89565b6102546103433660046124b4565b610dc2565b61035061111f565b6040516101e993929190612623565b61021561036d3660046123f1565b6112e4565b60055481565b60095481565b60085481565b6000546001600160a01b031633146103d5576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c55565b6000546001600160a01b031681565b6001546001600160a01b03163314610438576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b60045481565b60006104ca6113fb565b90505b90565b600b546060908190819081906000906104fa90600160c01b90046001600160401b03166001610dc2565b945094509450945094509091929394565b6000546001600160a01b0316331461055c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b60208201528190600a8211156105a85760405162461bcd60e51b815260040161059f919061276c565b60405180910390fd5b506105b1611406565b60005b818110156108345760008484838181106105ca57fe5b6105e092602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600c81526020016b61646472657373207a65726f60a01b8152509061062e5760405162461bcd60e51b815260040161059f919061276c565b5060105460005b818110156106d7576010818154811061064a57fe5b6000918252602090912001546001600160a01b031686868581811061066b57fe5b61068192602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600b81526020016a647570206164647265737360a81b815250906106ce5760405162461bcd60e51b815260040161059f919061276c565b50600101610635565b5060108585848181106106e657fe5b6106fc92602060409092020190810191506123f1565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b0390921691909117905584848381811061073a57fe5b905060400201602001356011600087878681811061075457fe5b61076a92602060409092020190810191506123f1565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000601260008787868181106107a057fe5b6107b692602060409092020190810191506123f1565b6001600160a01b031681526020810191909152604001600020557f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb598585848181106107fd57fe5b61081392602060409092020190810191506123f1565b6001604051610823929190612737565b60405180910390a1506001016105b4565b50505050565b60075481565b6002546000906001600160a01b031661088557610885306040518060400160405280600e81526020016d696e666c6174696f6e207a65726f60901b81525060006114b6565b60026001609c1b01331461089857600080fd5b6108a061167a565b905060006108ac611ee5565b90504781146108e7576108e7306040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b81525060006114b6565b5090565b6000546001600160a01b0316331461093c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60085461094c90606e6064611f0a565b811115604051806040016040528060118152602001700dac2f040dad2dce840e8dede40d0d2ced607b1b815250906109975760405162461bcd60e51b815260040161059f919061276c565b5060408051808201909152601081526f6d6178206d696e74206973207a65726f60801b6020820152816109dd5760405162461bcd60e51b815260040161059f919061276c565b5062015180600a54014211604051806040016040528060128152602001711d1a5b594819d85c081d1bdbc81cda1bdc9d60721b81525090610a315760405162461bcd60e51b815260040161059f919061276c565b5060085542600a55565b60035481565b6000546001600160a01b03163314610a92576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b610a9a611406565b565bfe5b50565b600a5481565b6002546001600160a01b031681565b6000546001600160a01b03163314610b07576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b600f5460009060ff16610b8857600f805460ff191660011790556000610b7f612012565b91506104cd9050565b506000546001600160a01b03166104cd565b6000546001600160a01b03163314610beb576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600c5481565b60065481565b600b546001600160c01b03811690600160c01b90046001600160401b031682565b60025460408051808201909152600d81526c3737ba1034b7333630ba34b7b760991b602082015233916001600160a01b03168214610cda5760405162461bcd60e51b815260040161059f919061276c565b5060085482111560405180604001604052806007815260200166746f6f2062696760c81b81525090610d1f5760405162461bcd60e51b815260040161059f919061276c565b5042610d296113fb565b10604051806040016040528060098152602001683a37b79037b33a32b760b91b81525090610d6a5760405162461bcd60e51b815260040161059f919061276c565b508115610dbe5742600955600454610d829083612032565b6004556040517f4c4f1efc376f31abeb51b72c5f9ed81cf4016591312bb02337e58149dcfaaab490610db59084906127a1565b60405180910390a15b5050565b606080606080600060148054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b81525090610e195760405162461bcd60e51b815260040161059f919061276c565b506014546000908888011115610e3457601454889003610e36565b865b9050806001600160401b0381118015610e4e57600080fd5b50604051908082528060200260200182016040528015610e78578160200160208202803683370190505b509550806001600160401b0381118015610e9157600080fd5b50604051908082528060200260200182016040528015610ebb578160200160208202803683370190505b509450806001600160401b0381118015610ed457600080fd5b50604051908082528060200260200182016040528015610f0857816020015b6060815260200190600190039081610ef35790505b509350806001600160401b0381118015610f2157600080fd5b50604051908082528060200260200182016040528015610f4b578160200160208202803683370190505b50925060005b818110156111035760006014828b0181548110610f6a57fe5b6000918252602080832090910154808352601390915260409091205489519192506001600160c01b031690899084908110610fa157fe5b6020026020010181815250506013600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110610fec57fe5b6020908102919091018101919091526000828152601382526040908190206002908101805483516001821615610100026000190190911692909204601f810185900485028301850190935282825290929091908301828280156110905780601f1061106557610100808354040283529160200191611090565b820191906000526020600020905b81548152906001019060200180831161107357829003601f168201915b50505050508683815181106110a157fe5b60200260200101819052506013600082815260200190815260200160002060010160009054906101000a90046001600160a01b03168583815181106110e257fe5b6001600160a01b039092166020928302919091019091015250600101610f51565b5050600b549497939650919450926001600160c01b0316919050565b60105460609081908190806001600160401b038111801561113f57600080fd5b50604051908082528060200260200182016040528015611169578160200160208202803683370190505b509350806001600160401b038111801561118257600080fd5b506040519080825280602002602001820160405280156111ac578160200160208202803683370190505b509250806001600160401b03811180156111c557600080fd5b506040519080825280602002602001820160405280156111ef578160200160208202803683370190505b50915060005b818110156112dd5760006010828154811061120c57fe5b9060005260206000200160009054906101000a90046001600160a01b031690508086838151811061123957fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060116000826001600160a01b03166001600160a01b031681526020019081526020016000205485838151811061128b57fe5b60200260200101818152505060126000826001600160a01b03166001600160a01b03168152602001908152602001600020548483815181106112c957fe5b6020908102919091010152506001016111f5565b5050909192565b6000546001600160a01b03163314611335576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600e81526d696e666c6174696f6e207a65726f60901b60208201526001600160a01b0382166113815760405162461bcd60e51b815260040161059f919061276c565b506002546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b979805916113bf9184916001600160a01b031690612752565b60405180910390a1600280546001600160a01b0319166001600160a01b038316179055600854610a9e576a295be96e6406697200000060085550565b600954620143700190565b60105460005b81811015610dbe576010805460009190600019810190811061142a57fe5b600091825260209091200154601080546001600160a01b039092169250908061144f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59916114a591849190612737565b60405180910390a15060010161140c565b600083836040516020016114cb9291906125a6565b60408051808303601f190181529181528151602092830120600081815260139093529120805491925090600160c01b90046001600160401b03166115b25760148054600180820183556000929092527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec01839055810180546001600160a01b0319166001600160a01b038716179055611565846040612095565b805161157b916002840191602090910190612359565b5060145460018201805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0316929092029190911790555b8054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b0319169190911782556040517f7a459ed083a9b267865360013a5ad6dbc07e5befe6e4f71671c940fdd4206bee9161162391889190889088906125eb565b60405180910390a1600b80546001600160c01b0319811660016001600160c01b0392831681018316919091178084559301549216600160a01b9092046001600160401b0316600160c01b0291909117905550505050565b600060035443141561168e575060006104cd565b43600355600d544790811115611a645760006116b7600e54600d5461203290919063ffffffff16565b90508082141561182c57600e546005546116d19082612032565b6005556040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c906117049083906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561175c57600080fd5b505af19350505050801561176e575060015b6117dd5761177a6127b0565b806117855750611797565b611791308260006114b6565b506117d8565b6117d8306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611826565b6006546117ea9082612032565b6006556040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a9061181d9083906127a1565b60405180910390a15b50611a62565b8082101561188e57600061184b600d548461214990919063ffffffff16565b60075490915061185b9082612032565b6007556040517f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3689061181d9083906127a1565b600e5460055461189d91612032565b600555600e54600d546000916118be916118b8908690612149565b90612149565b6007549091506118ce9082612032565b600755600e546040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c91611902916127a1565b60405180910390a17f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3688160405161193991906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5600e546040518263ffffffff1660e01b81526004016000604051808303818588803b15801561199357600080fd5b505af1935050505080156119a5575060015b611a14576119b16127b0565b806119bc57506119ce565b6119c8308260006114b6565b50611a0f565b611a0f306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611a60565b600e54600654611a2391612032565b600655600e546040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a91611a57916127a1565b60405180910390a15b505b505b60105460005b81811015611e8357600060108281548110611a8157fe5b60009182526020808320909101546001600160a01b031680835260129091526040909120549091508015611b0d576001600160a01b0382166000908152601260205260409081902060001983019055517f9895eddb1e8569b1dae526135aa5cab97f982fdc3b0ff7e17920c95e3b9bda6290611b0090849084906125d2565b60405180910390a1611e79565b6001600160a01b038216600090815260116020526040812054905a90506204a768811015611b77577f9b5c4be38598cb8d8b6e07727d2303d1d9fc2dfc31ad323170f5ea4dcc1f914a858703604051611b6691906127a1565b60405180910390a150505050611e83565b620493df1981018215801590611b8c57508083105b15611b945750815b846001600160a01b0316636d0e8c34826040518263ffffffff1660e01b8152600401602060405180830381600088803b158015611bd057600080fd5b5087f193505050508015611c01575060408051601f3d908101601f19168201909252611bfe9181019061247c565b60015b611e3857611c0d6127b0565b80611c185750611c9f565b611c2586825a86036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c98919061247c565b5050611e33565b60005a9050600084118015611cbd575083611cba8483612149565b10155b15611d9057611cf1866040518060400160405280600a8152602001696f7574206f662067617360b01b8152508386036114b6565b6000866001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611d2e57600080fd5b505af1158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d66919061247c565b905080611d8a57600c546001600160a01b0388166000908152601260205260409020555b50611e31565b611dbc86604051806040016040528060078152602001663ab735b737bbb760c91b8152508386036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611df757600080fd5b505af1158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f919061247c565b505b505b611e75565b507fe7aa66356adbd5e839ef210626f6d8f6f72109c17fadf4c4f9ca82b315ae79b4855a8403604051611e6c9291906125d2565b60405180910390a15b5050505b5050600101611a6a565b50611e8c6121a6565b92508215611ed657600e8390556040517f34f843cef0df42035141347873da1758a6643358831b5ba5b1580be947644f9290611ec99085906127a1565b60405180910390a1611edc565b6000600e555b505047600d5590565b60006104ca600754611f0460065460055461214990919063ffffffff16565b90612032565b6000808211611f53576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611f605750600061200b565b83830283858281611f6d57fe5b041415611f8657828181611f7d57fe5b0491505061200b565b6000838681611f9157fe5b0490506000848781611f9f57fe5b0690506000858781611fad57fe5b0490506000868881611fbb57fe5b069050612003611fd588611fcf86856121bf565b90612218565b611f04611fe286866121bf565b611f04611fef89876121bf565b611f048d611ffd8c8b6121bf565b906121bf565b955050505050505b9392505050565b600073fffec6c83c8bf5c3f4ae0ccf8c45ce20e4560bd76104ca8161227f565b60008282018381101561208c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60606000839050828151116120ad578391505061208f565b6000836001600160401b03811180156120c557600080fd5b506040519080825280601f01601f1916602001820160405280156120f0576020820181803683370190505b50905060005b848110156121405782818151811061210a57fe5b602001015160f81c60f81b82828151811061212157fe5b60200101906001600160f81b031916908160001a9053506001016120f6565b50949350505050565b6000828211156121a0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006104ca60055460045461214990919063ffffffff16565b6000826121ce5750600061208f565b828202828482816121db57fe5b041461208c5760405162461bcd60e51b815260040180806020018281038252602181526020018061286a6021913960400191505060405180910390fd5b600080821161226e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161227757fe5b049392505050565b600154600160a01b900460ff16156122d5576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261238f57600085556123d5565b82601f106123a857805160ff19168380011785556123d5565b828001600101855582156123d5579182015b828111156123d55782518255916020019190600101906123ba565b506108e79291505b808211156108e757600081556001016123dd565b600060208284031215612402578081fd5b813561208c81612854565b6000806020838503121561241f578081fd5b82356001600160401b0380821115612435578283fd5b818501915085601f830112612448578283fd5b813581811115612456578384fd5b86602060408302850101111561246a578384fd5b60209290920196919550909350505050565b60006020828403121561248d578081fd5b8151801515811461208c578182fd5b6000602082840312156124ad578081fd5b5035919050565b600080604083850312156124c6578182fd5b50508035926020909101359150565b6000815180845260208085019450808401835b8381101561250d5781516001600160a01b0316875295820195908201906001016124e8565b509495945050505050565b6000815180845260208085019450808401835b8381101561250d5781518752958201959082019060010161252b565b60008151808452815b8181101561256c57602081850181015186830182015201612550565b8181111561257d5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03831681526040602082018190526000906125ca90830184612547565b949350505050565b6001600160a01b03929092168252602082015260400190565b600060018060a01b0386168252846020830152608060408301526126126080830185612547565b905082606083015295945050505050565b606080825284519082018190526000906020906080840190828801845b828110156126655781516001600160a01b031684529284019290840190600101612640565b505050838103828501526126798187612518565b915050828103604084015261268e8185612518565b9695505050505050565b600060a082526126ab60a0830188612518565b6020838203818501526126be8289612518565b848103604086015287518082529092508183019082810284018301838a01865b8381101561270c57601f198784030185526126fa838351612547565b948601949250908501906001016126de565b50508681036060880152612720818a6124d5565b955050505050508260808301529695505050505050565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0392831681529116602082015260400190565b60006020825261200b6020830184612547565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b60e01c90565b600060443d10156127c0576104cd565b600481823e6308c379a06127d482516127aa565b146127de576104cd565b6040513d600319016004823e80513d6001600160401b03816024840111818411171561280d57505050506104cd565b8284019250825191508082111561282757505050506104cd565b503d8301602082840101111561283f575050506104cd565b601f01601f1916810160200160405291505090565b6001600160a01b0381168114610a9e57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220b3ca66e58477cc41d4062334e5e89f0934609f03ec4a31fb81174d118872159764736f6c63430007060033",
673
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638be2fb8611610104578063d38bfff4116100a2578063e9de7d6011610071578063e9de7d6014610322578063ecdda0dd14610335578063ed21b6e414610348578063ee323c921461035f576101cf565b8063d38bfff4146102e9578063d48a38df146102fc578063dded1b4714610304578063e371aef01461030c576101cf565b8063a6817ace116100de578063a6817ace146102be578063be0522e0146102c6578063c373a08e146102ce578063c9f960eb146102e1576101cf565b80638be2fb861461029b5780638ccf77a0146102a35780639d6a890f146102ab576101cf565b806362da19a511610171578063689c49991161014b578063689c49991461026557806372993615146102785780637fec8d3814610280578063870196b814610288576101cf565b806362da19a51461023c578063639031431461024457806363d4a53a1461024c576101cf565b80635042916c116101ad5780635042916c146102025780635aa6e675146102175780635d36b1901461022c57806360f7ac9714610234576101cf565b806310663750146101d45780631d76dea1146101f25780634f6a77b5146101fa575b600080fd5b6101dc610372565b6040516101e991906127a1565b60405180910390f35b6101dc610378565b6101dc61037e565b61021561021036600461249c565b610384565b005b61021f6103da565b6040516101e99190612592565b6102156103e9565b61021f6104ab565b6101dc6104ba565b6101dc6104c0565b6102546104d0565b6040516101e9959493929190612698565b61021561027336600461240d565b61050b565b6101dc61083a565b6101dc610840565b61021561029636600461249c565b6108eb565b6101dc610a3b565b610215610a41565b6102156102b93660046123f1565b610a9c565b6101dc610aa1565b61021f610aa7565b6102156102dc3660046123f1565b610ab6565b61021f610b5b565b6102156102f73660046123f1565b610b9a565b6101dc610c5c565b6101dc610c62565b610314610c68565b6040516101e992919061277f565b61021561033036600461249c565b610c89565b6102546103433660046124b4565b610dc2565b61035061111f565b6040516101e993929190612623565b61021561036d3660046123f1565b6112e4565b60055481565b60095481565b60085481565b6000546001600160a01b031633146103d5576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c55565b6000546001600160a01b031681565b6001546001600160a01b03163314610438576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b60045481565b60006104ca6113fb565b90505b90565b600b546060908190819081906000906104fa90600160c01b90046001600160401b03166001610dc2565b945094509450945094509091929394565b6000546001600160a01b0316331461055c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b60208201528190600a8211156105a85760405162461bcd60e51b815260040161059f919061276c565b60405180910390fd5b506105b1611406565b60005b818110156108345760008484838181106105ca57fe5b6105e092602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600c81526020016b61646472657373207a65726f60a01b8152509061062e5760405162461bcd60e51b815260040161059f919061276c565b5060105460005b818110156106d7576010818154811061064a57fe5b6000918252602090912001546001600160a01b031686868581811061066b57fe5b61068192602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600b81526020016a647570206164647265737360a81b815250906106ce5760405162461bcd60e51b815260040161059f919061276c565b50600101610635565b5060108585848181106106e657fe5b6106fc92602060409092020190810191506123f1565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b0390921691909117905584848381811061073a57fe5b905060400201602001356011600087878681811061075457fe5b61076a92602060409092020190810191506123f1565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000601260008787868181106107a057fe5b6107b692602060409092020190810191506123f1565b6001600160a01b031681526020810191909152604001600020557f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb598585848181106107fd57fe5b61081392602060409092020190810191506123f1565b6001604051610823929190612737565b60405180910390a1506001016105b4565b50505050565b60075481565b6002546000906001600160a01b031661088557610885306040518060400160405280600e81526020016d696e666c6174696f6e207a65726f60901b81525060006114b6565b60026001609c1b01331461089857600080fd5b6108a061167a565b905060006108ac611ee5565b90504781146108e7576108e7306040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b81525060006114b6565b5090565b6000546001600160a01b0316331461093c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60085461094c90606e6064611f0a565b811115604051806040016040528060118152602001700dac2f040dad2dce840e8dede40d0d2ced607b1b815250906109975760405162461bcd60e51b815260040161059f919061276c565b5060408051808201909152601081526f6d6178206d696e74206973207a65726f60801b6020820152816109dd5760405162461bcd60e51b815260040161059f919061276c565b5062015180600a54014211604051806040016040528060128152602001711d1a5b594819d85c081d1bdbc81cda1bdc9d60721b81525090610a315760405162461bcd60e51b815260040161059f919061276c565b5060085542600a55565b60035481565b6000546001600160a01b03163314610a92576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b610a9a611406565b565bfe5b50565b600a5481565b6002546001600160a01b031681565b6000546001600160a01b03163314610b07576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b600f5460009060ff16610b8857600f805460ff191660011790556000610b7f612012565b91506104cd9050565b506000546001600160a01b03166104cd565b6000546001600160a01b03163314610beb576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600c5481565b60065481565b600b546001600160c01b03811690600160c01b90046001600160401b031682565b60025460408051808201909152600d81526c3737ba1034b7333630ba34b7b760991b602082015233916001600160a01b03168214610cda5760405162461bcd60e51b815260040161059f919061276c565b5060085482111560405180604001604052806007815260200166746f6f2062696760c81b81525090610d1f5760405162461bcd60e51b815260040161059f919061276c565b5042610d296113fb565b10604051806040016040528060098152602001683a37b79037b33a32b760b91b81525090610d6a5760405162461bcd60e51b815260040161059f919061276c565b508115610dbe5742600955600454610d829083612032565b6004556040517f4c4f1efc376f31abeb51b72c5f9ed81cf4016591312bb02337e58149dcfaaab490610db59084906127a1565b60405180910390a15b5050565b606080606080600060148054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b81525090610e195760405162461bcd60e51b815260040161059f919061276c565b506014546000908888011115610e3457601454889003610e36565b865b9050806001600160401b0381118015610e4e57600080fd5b50604051908082528060200260200182016040528015610e78578160200160208202803683370190505b509550806001600160401b0381118015610e9157600080fd5b50604051908082528060200260200182016040528015610ebb578160200160208202803683370190505b509450806001600160401b0381118015610ed457600080fd5b50604051908082528060200260200182016040528015610f0857816020015b6060815260200190600190039081610ef35790505b509350806001600160401b0381118015610f2157600080fd5b50604051908082528060200260200182016040528015610f4b578160200160208202803683370190505b50925060005b818110156111035760006014828b0181548110610f6a57fe5b6000918252602080832090910154808352601390915260409091205489519192506001600160c01b031690899084908110610fa157fe5b6020026020010181815250506013600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110610fec57fe5b6020908102919091018101919091526000828152601382526040908190206002908101805483516001821615610100026000190190911692909204601f810185900485028301850190935282825290929091908301828280156110905780601f1061106557610100808354040283529160200191611090565b820191906000526020600020905b81548152906001019060200180831161107357829003601f168201915b50505050508683815181106110a157fe5b60200260200101819052506013600082815260200190815260200160002060010160009054906101000a90046001600160a01b03168583815181106110e257fe5b6001600160a01b039092166020928302919091019091015250600101610f51565b5050600b549497939650919450926001600160c01b0316919050565b60105460609081908190806001600160401b038111801561113f57600080fd5b50604051908082528060200260200182016040528015611169578160200160208202803683370190505b509350806001600160401b038111801561118257600080fd5b506040519080825280602002602001820160405280156111ac578160200160208202803683370190505b509250806001600160401b03811180156111c557600080fd5b506040519080825280602002602001820160405280156111ef578160200160208202803683370190505b50915060005b818110156112dd5760006010828154811061120c57fe5b9060005260206000200160009054906101000a90046001600160a01b031690508086838151811061123957fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060116000826001600160a01b03166001600160a01b031681526020019081526020016000205485838151811061128b57fe5b60200260200101818152505060126000826001600160a01b03166001600160a01b03168152602001908152602001600020548483815181106112c957fe5b6020908102919091010152506001016111f5565b5050909192565b6000546001600160a01b03163314611335576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600e81526d696e666c6174696f6e207a65726f60901b60208201526001600160a01b0382166113815760405162461bcd60e51b815260040161059f919061276c565b506002546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b979805916113bf9184916001600160a01b031690612752565b60405180910390a1600280546001600160a01b0319166001600160a01b038316179055600854610a9e576a295be96e6406697200000060085550565b600954620143700190565b60105460005b81811015610dbe576010805460009190600019810190811061142a57fe5b600091825260209091200154601080546001600160a01b039092169250908061144f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59916114a591849190612737565b60405180910390a15060010161140c565b600083836040516020016114cb9291906125a6565b60408051808303601f190181529181528151602092830120600081815260139093529120805491925090600160c01b90046001600160401b03166115b25760148054600180820183556000929092527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec01839055810180546001600160a01b0319166001600160a01b038716179055611565846040612095565b805161157b916002840191602090910190612359565b5060145460018201805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0316929092029190911790555b8054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b0319169190911782556040517f7a459ed083a9b267865360013a5ad6dbc07e5befe6e4f71671c940fdd4206bee9161162391889190889088906125eb565b60405180910390a1600b80546001600160c01b0319811660016001600160c01b0392831681018316919091178084559301549216600160a01b9092046001600160401b0316600160c01b0291909117905550505050565b600060035443141561168e575060006104cd565b43600355600d544790811115611a645760006116b7600e54600d5461203290919063ffffffff16565b90508082141561182c57600e546005546116d19082612032565b6005556040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c906117049083906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561175c57600080fd5b505af19350505050801561176e575060015b6117dd5761177a6127b0565b806117855750611797565b611791308260006114b6565b506117d8565b6117d8306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611826565b6006546117ea9082612032565b6006556040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a9061181d9083906127a1565b60405180910390a15b50611a62565b8082101561188e57600061184b600d548461214990919063ffffffff16565b60075490915061185b9082612032565b6007556040517f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3689061181d9083906127a1565b600e5460055461189d91612032565b600555600e54600d546000916118be916118b8908690612149565b90612149565b6007549091506118ce9082612032565b600755600e546040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c91611902916127a1565b60405180910390a17f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3688160405161193991906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5600e546040518263ffffffff1660e01b81526004016000604051808303818588803b15801561199357600080fd5b505af1935050505080156119a5575060015b611a14576119b16127b0565b806119bc57506119ce565b6119c8308260006114b6565b50611a0f565b611a0f306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611a60565b600e54600654611a2391612032565b600655600e546040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a91611a57916127a1565b60405180910390a15b505b505b60105460005b81811015611e8357600060108281548110611a8157fe5b60009182526020808320909101546001600160a01b031680835260129091526040909120549091508015611b0d576001600160a01b0382166000908152601260205260409081902060001983019055517f9895eddb1e8569b1dae526135aa5cab97f982fdc3b0ff7e17920c95e3b9bda6290611b0090849084906125d2565b60405180910390a1611e79565b6001600160a01b038216600090815260116020526040812054905a90506204a768811015611b77577f9b5c4be38598cb8d8b6e07727d2303d1d9fc2dfc31ad323170f5ea4dcc1f914a858703604051611b6691906127a1565b60405180910390a150505050611e83565b620493df1981018215801590611b8c57508083105b15611b945750815b846001600160a01b0316636d0e8c34826040518263ffffffff1660e01b8152600401602060405180830381600088803b158015611bd057600080fd5b5087f193505050508015611c01575060408051601f3d908101601f19168201909252611bfe9181019061247c565b60015b611e3857611c0d6127b0565b80611c185750611c9f565b611c2586825a86036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c98919061247c565b5050611e33565b60005a9050600084118015611cbd575083611cba8483612149565b10155b15611d9057611cf1866040518060400160405280600a8152602001696f7574206f662067617360b01b8152508386036114b6565b6000866001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611d2e57600080fd5b505af1158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d66919061247c565b905080611d8a57600c546001600160a01b0388166000908152601260205260409020555b50611e31565b611dbc86604051806040016040528060078152602001663ab735b737bbb760c91b8152508386036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611df757600080fd5b505af1158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f919061247c565b505b505b611e75565b507fe7aa66356adbd5e839ef210626f6d8f6f72109c17fadf4c4f9ca82b315ae79b4855a8403604051611e6c9291906125d2565b60405180910390a15b5050505b5050600101611a6a565b50611e8c6121a6565b92508215611ed657600e8390556040517f34f843cef0df42035141347873da1758a6643358831b5ba5b1580be947644f9290611ec99085906127a1565b60405180910390a1611edc565b6000600e555b505047600d5590565b60006104ca600754611f0460065460055461214990919063ffffffff16565b90612032565b6000808211611f53576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611f605750600061200b565b83830283858281611f6d57fe5b041415611f8657828181611f7d57fe5b0491505061200b565b6000838681611f9157fe5b0490506000848781611f9f57fe5b0690506000858781611fad57fe5b0490506000868881611fbb57fe5b069050612003611fd588611fcf86856121bf565b90612218565b611f04611fe286866121bf565b611f04611fef89876121bf565b611f048d611ffd8c8b6121bf565b906121bf565b955050505050505b9392505050565b600073fffec6c83c8bf5c3f4ae0ccf8c45ce20e4560bd76104ca8161227f565b60008282018381101561208c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60606000839050828151116120ad578391505061208f565b6000836001600160401b03811180156120c557600080fd5b506040519080825280601f01601f1916602001820160405280156120f0576020820181803683370190505b50905060005b848110156121405782818151811061210a57fe5b602001015160f81c60f81b82828151811061212157fe5b60200101906001600160f81b031916908160001a9053506001016120f6565b50949350505050565b6000828211156121a0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006104ca60055460045461214990919063ffffffff16565b6000826121ce5750600061208f565b828202828482816121db57fe5b041461208c5760405162461bcd60e51b815260040180806020018281038252602181526020018061286a6021913960400191505060405180910390fd5b600080821161226e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161227757fe5b049392505050565b600154600160a01b900460ff16156122d5576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261238f57600085556123d5565b82601f106123a857805160ff19168380011785556123d5565b828001600101855582156123d5579182015b828111156123d55782518255916020019190600101906123ba565b506108e79291505b808211156108e757600081556001016123dd565b600060208284031215612402578081fd5b813561208c81612854565b6000806020838503121561241f578081fd5b82356001600160401b0380821115612435578283fd5b818501915085601f830112612448578283fd5b813581811115612456578384fd5b86602060408302850101111561246a578384fd5b60209290920196919550909350505050565b60006020828403121561248d578081fd5b8151801515811461208c578182fd5b6000602082840312156124ad578081fd5b5035919050565b600080604083850312156124c6578182fd5b50508035926020909101359150565b6000815180845260208085019450808401835b8381101561250d5781516001600160a01b0316875295820195908201906001016124e8565b509495945050505050565b6000815180845260208085019450808401835b8381101561250d5781518752958201959082019060010161252b565b60008151808452815b8181101561256c57602081850181015186830182015201612550565b8181111561257d5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03831681526040602082018190526000906125ca90830184612547565b949350505050565b6001600160a01b03929092168252602082015260400190565b600060018060a01b0386168252846020830152608060408301526126126080830185612547565b905082606083015295945050505050565b606080825284519082018190526000906020906080840190828801845b828110156126655781516001600160a01b031684529284019290840190600101612640565b505050838103828501526126798187612518565b915050828103604084015261268e8185612518565b9695505050505050565b600060a082526126ab60a0830188612518565b6020838203818501526126be8289612518565b848103604086015287518082529092508183019082810284018301838a01865b8381101561270c57601f198784030185526126fa838351612547565b948601949250908501906001016126de565b50508681036060880152612720818a6124d5565b955050505050508260808301529695505050505050565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0392831681529116602082015260400190565b60006020825261200b6020830184612547565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b60e01c90565b600060443d10156127c0576104cd565b600481823e6308c379a06127d482516127aa565b146127de576104cd565b6040513d600319016004823e80513d6001600160401b03816024840111818411171561280d57505050506104cd565b8284019250825191508082111561282757505050506104cd565b503d8301602082840101111561283f575050506104cd565b601f01601f1916810160200160405291505090565b6001600160a01b0381168114610a9e57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220b3ca66e58477cc41d4062334e5e89f0934609f03ec4a31fb81174d118872159764736f6c63430007060033",
672
+ "bytecode": "0x608060405234801561001057600080fd5b506128c0806100206000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638be2fb8611610104578063d38bfff4116100a2578063e9de7d6011610071578063e9de7d6014610322578063ecdda0dd14610335578063ed21b6e414610348578063ee323c921461035f576101cf565b8063d38bfff4146102e9578063d48a38df146102fc578063dded1b4714610304578063e371aef01461030c576101cf565b8063a6817ace116100de578063a6817ace146102be578063be0522e0146102c6578063c373a08e146102ce578063c9f960eb146102e1576101cf565b80638be2fb861461029b5780638ccf77a0146102a35780639d6a890f146102ab576101cf565b806362da19a511610171578063689c49991161014b578063689c49991461026557806372993615146102785780637fec8d3814610280578063870196b814610288576101cf565b806362da19a51461023c578063639031431461024457806363d4a53a1461024c576101cf565b80635042916c116101ad5780635042916c146102025780635aa6e675146102175780635d36b1901461022c57806360f7ac9714610234576101cf565b806310663750146101d45780631d76dea1146101f25780634f6a77b5146101fa575b600080fd5b6101dc610372565b6040516101e991906127a1565b60405180910390f35b6101dc610378565b6101dc61037e565b61021561021036600461249c565b610384565b005b61021f6103da565b6040516101e99190612592565b6102156103e9565b61021f6104ab565b6101dc6104ba565b6101dc6104c0565b6102546104d0565b6040516101e9959493929190612698565b61021561027336600461240d565b61050b565b6101dc61083a565b6101dc610840565b61021561029636600461249c565b6108eb565b6101dc610a3b565b610215610a41565b6102156102b93660046123f1565b610a9c565b6101dc610aa1565b61021f610aa7565b6102156102dc3660046123f1565b610ab6565b61021f610b5b565b6102156102f73660046123f1565b610b9a565b6101dc610c5c565b6101dc610c62565b610314610c68565b6040516101e992919061277f565b61021561033036600461249c565b610c89565b6102546103433660046124b4565b610dc2565b61035061111f565b6040516101e993929190612623565b61021561036d3660046123f1565b6112e4565b60055481565b60095481565b60085481565b6000546001600160a01b031633146103d5576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c55565b6000546001600160a01b031681565b6001546001600160a01b03163314610438576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b60045481565b60006104ca6113fb565b90505b90565b600b546060908190819081906000906104fa90600160c01b90046001600160401b03166001610dc2565b945094509450945094509091929394565b6000546001600160a01b0316331461055c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b60208201528190600a8211156105a85760405162461bcd60e51b815260040161059f919061276c565b60405180910390fd5b506105b1611406565b60005b818110156108345760008484838181106105ca57fe5b6105e092602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600c81526020016b61646472657373207a65726f60a01b8152509061062e5760405162461bcd60e51b815260040161059f919061276c565b5060105460005b818110156106d7576010818154811061064a57fe5b6000918252602090912001546001600160a01b031686868581811061066b57fe5b61068192602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600b81526020016a647570206164647265737360a81b815250906106ce5760405162461bcd60e51b815260040161059f919061276c565b50600101610635565b5060108585848181106106e657fe5b6106fc92602060409092020190810191506123f1565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b0390921691909117905584848381811061073a57fe5b905060400201602001356011600087878681811061075457fe5b61076a92602060409092020190810191506123f1565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000601260008787868181106107a057fe5b6107b692602060409092020190810191506123f1565b6001600160a01b031681526020810191909152604001600020557f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb598585848181106107fd57fe5b61081392602060409092020190810191506123f1565b6001604051610823929190612737565b60405180910390a1506001016105b4565b50505050565b60075481565b6002546000906001600160a01b031661088557610885306040518060400160405280600e81526020016d696e666c6174696f6e207a65726f60901b81525060006114b6565b60026001609c1b01331461089857600080fd5b6108a061167a565b905060006108ac611ee5565b90504781146108e7576108e7306040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b81525060006114b6565b5090565b6000546001600160a01b0316331461093c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60085461094c90606e6064611f0a565b811115604051806040016040528060118152602001700dac2f040dad2dce840e8dede40d0d2ced607b1b815250906109975760405162461bcd60e51b815260040161059f919061276c565b5060408051808201909152601081526f6d6178206d696e74206973207a65726f60801b6020820152816109dd5760405162461bcd60e51b815260040161059f919061276c565b5062015180600a54014211604051806040016040528060128152602001711d1a5b594819d85c081d1bdbc81cda1bdc9d60721b81525090610a315760405162461bcd60e51b815260040161059f919061276c565b5060085542600a55565b60035481565b6000546001600160a01b03163314610a92576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b610a9a611406565b565bfe5b50565b600a5481565b6002546001600160a01b031681565b6000546001600160a01b03163314610b07576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b600f5460009060ff16610b8857600f805460ff191660011790556000610b7f612012565b91506104cd9050565b506000546001600160a01b03166104cd565b6000546001600160a01b03163314610beb576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600c5481565b60065481565b600b546001600160c01b03811690600160c01b90046001600160401b031682565b60025460408051808201909152600d81526c3737ba1034b7333630ba34b7b760991b602082015233916001600160a01b03168214610cda5760405162461bcd60e51b815260040161059f919061276c565b5060085482111560405180604001604052806007815260200166746f6f2062696760c81b81525090610d1f5760405162461bcd60e51b815260040161059f919061276c565b5042610d296113fb565b10604051806040016040528060098152602001683a37b79037b33a32b760b91b81525090610d6a5760405162461bcd60e51b815260040161059f919061276c565b508115610dbe5742600955600454610d829083612032565b6004556040517f4c4f1efc376f31abeb51b72c5f9ed81cf4016591312bb02337e58149dcfaaab490610db59084906127a1565b60405180910390a15b5050565b606080606080600060148054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b81525090610e195760405162461bcd60e51b815260040161059f919061276c565b506014546000908888011115610e3457601454889003610e36565b865b9050806001600160401b0381118015610e4e57600080fd5b50604051908082528060200260200182016040528015610e78578160200160208202803683370190505b509550806001600160401b0381118015610e9157600080fd5b50604051908082528060200260200182016040528015610ebb578160200160208202803683370190505b509450806001600160401b0381118015610ed457600080fd5b50604051908082528060200260200182016040528015610f0857816020015b6060815260200190600190039081610ef35790505b509350806001600160401b0381118015610f2157600080fd5b50604051908082528060200260200182016040528015610f4b578160200160208202803683370190505b50925060005b818110156111035760006014828b0181548110610f6a57fe5b6000918252602080832090910154808352601390915260409091205489519192506001600160c01b031690899084908110610fa157fe5b6020026020010181815250506013600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110610fec57fe5b6020908102919091018101919091526000828152601382526040908190206002908101805483516001821615610100026000190190911692909204601f810185900485028301850190935282825290929091908301828280156110905780601f1061106557610100808354040283529160200191611090565b820191906000526020600020905b81548152906001019060200180831161107357829003601f168201915b50505050508683815181106110a157fe5b60200260200101819052506013600082815260200190815260200160002060010160009054906101000a90046001600160a01b03168583815181106110e257fe5b6001600160a01b039092166020928302919091019091015250600101610f51565b5050600b549497939650919450926001600160c01b0316919050565b60105460609081908190806001600160401b038111801561113f57600080fd5b50604051908082528060200260200182016040528015611169578160200160208202803683370190505b509350806001600160401b038111801561118257600080fd5b506040519080825280602002602001820160405280156111ac578160200160208202803683370190505b509250806001600160401b03811180156111c557600080fd5b506040519080825280602002602001820160405280156111ef578160200160208202803683370190505b50915060005b818110156112dd5760006010828154811061120c57fe5b9060005260206000200160009054906101000a90046001600160a01b031690508086838151811061123957fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060116000826001600160a01b03166001600160a01b031681526020019081526020016000205485838151811061128b57fe5b60200260200101818152505060126000826001600160a01b03166001600160a01b03168152602001908152602001600020548483815181106112c957fe5b6020908102919091010152506001016111f5565b5050909192565b6000546001600160a01b03163314611335576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600e81526d696e666c6174696f6e207a65726f60901b60208201526001600160a01b0382166113815760405162461bcd60e51b815260040161059f919061276c565b506002546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b979805916113bf9184916001600160a01b031690612752565b60405180910390a1600280546001600160a01b0319166001600160a01b038316179055600854610a9e576a295be96e6406697200000060085550565b600954620143700190565b60105460005b81811015610dbe576010805460009190600019810190811061142a57fe5b600091825260209091200154601080546001600160a01b039092169250908061144f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59916114a591849190612737565b60405180910390a15060010161140c565b600083836040516020016114cb9291906125a6565b60408051808303601f190181529181528151602092830120600081815260139093529120805491925090600160c01b90046001600160401b03166115b25760148054600180820183556000929092527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec01839055810180546001600160a01b0319166001600160a01b038716179055611565846040612095565b805161157b916002840191602090910190612359565b5060145460018201805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0316929092029190911790555b8054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b0319169190911782556040517f7a459ed083a9b267865360013a5ad6dbc07e5befe6e4f71671c940fdd4206bee9161162391889190889088906125eb565b60405180910390a1600b80546001600160c01b0319811660016001600160c01b0392831681018316919091178084559301549216600160a01b9092046001600160401b0316600160c01b0291909117905550505050565b600060035443141561168e575060006104cd565b43600355600d544790811115611a645760006116b7600e54600d5461203290919063ffffffff16565b90508082141561182c57600e546005546116d19082612032565b6005556040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c906117049083906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561175c57600080fd5b505af19350505050801561176e575060015b6117dd5761177a6127b0565b806117855750611797565b611791308260006114b6565b506117d8565b6117d8306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611826565b6006546117ea9082612032565b6006556040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a9061181d9083906127a1565b60405180910390a15b50611a62565b8082101561188e57600061184b600d548461214990919063ffffffff16565b60075490915061185b9082612032565b6007556040517f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3689061181d9083906127a1565b600e5460055461189d91612032565b600555600e54600d546000916118be916118b8908690612149565b90612149565b6007549091506118ce9082612032565b600755600e546040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c91611902916127a1565b60405180910390a17f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3688160405161193991906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5600e546040518263ffffffff1660e01b81526004016000604051808303818588803b15801561199357600080fd5b505af1935050505080156119a5575060015b611a14576119b16127b0565b806119bc57506119ce565b6119c8308260006114b6565b50611a0f565b611a0f306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611a60565b600e54600654611a2391612032565b600655600e546040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a91611a57916127a1565b60405180910390a15b505b505b60105460005b81811015611e8357600060108281548110611a8157fe5b60009182526020808320909101546001600160a01b031680835260129091526040909120549091508015611b0d576001600160a01b0382166000908152601260205260409081902060001983019055517f9895eddb1e8569b1dae526135aa5cab97f982fdc3b0ff7e17920c95e3b9bda6290611b0090849084906125d2565b60405180910390a1611e79565b6001600160a01b038216600090815260116020526040812054905a90506204a768811015611b77577f9b5c4be38598cb8d8b6e07727d2303d1d9fc2dfc31ad323170f5ea4dcc1f914a858703604051611b6691906127a1565b60405180910390a150505050611e83565b620493df1981018215801590611b8c57508083105b15611b945750815b846001600160a01b0316636d0e8c34826040518263ffffffff1660e01b8152600401602060405180830381600088803b158015611bd057600080fd5b5087f193505050508015611c01575060408051601f3d908101601f19168201909252611bfe9181019061247c565b60015b611e3857611c0d6127b0565b80611c185750611c9f565b611c2586825a86036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c98919061247c565b5050611e33565b60005a9050600084118015611cbd575083611cba8483612149565b10155b15611d9057611cf1866040518060400160405280600a8152602001696f7574206f662067617360b01b8152508386036114b6565b6000866001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611d2e57600080fd5b505af1158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d66919061247c565b905080611d8a57600c546001600160a01b0388166000908152601260205260409020555b50611e31565b611dbc86604051806040016040528060078152602001663ab735b737bbb760c91b8152508386036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611df757600080fd5b505af1158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f919061247c565b505b505b611e75565b507fe7aa66356adbd5e839ef210626f6d8f6f72109c17fadf4c4f9ca82b315ae79b4855a8403604051611e6c9291906125d2565b60405180910390a15b5050505b5050600101611a6a565b50611e8c6121a6565b92508215611ed657600e8390556040517f34f843cef0df42035141347873da1758a6643358831b5ba5b1580be947644f9290611ec99085906127a1565b60405180910390a1611edc565b6000600e555b505047600d5590565b60006104ca600754611f0460065460055461214990919063ffffffff16565b90612032565b6000808211611f53576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611f605750600061200b565b83830283858281611f6d57fe5b041415611f8657828181611f7d57fe5b0491505061200b565b6000838681611f9157fe5b0490506000848781611f9f57fe5b0690506000858781611fad57fe5b0490506000868881611fbb57fe5b069050612003611fd588611fcf86856121bf565b90612218565b611f04611fe286866121bf565b611f04611fef89876121bf565b611f048d611ffd8c8b6121bf565b906121bf565b955050505050505b9392505050565b600073fffec6c83c8bf5c3f4ae0ccf8c45ce20e4560bd76104ca8161227f565b60008282018381101561208c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60606000839050828151116120ad578391505061208f565b6000836001600160401b03811180156120c557600080fd5b506040519080825280601f01601f1916602001820160405280156120f0576020820181803683370190505b50905060005b848110156121405782818151811061210a57fe5b602001015160f81c60f81b82828151811061212157fe5b60200101906001600160f81b031916908160001a9053506001016120f6565b50949350505050565b6000828211156121a0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006104ca60055460045461214990919063ffffffff16565b6000826121ce5750600061208f565b828202828482816121db57fe5b041461208c5760405162461bcd60e51b815260040180806020018281038252602181526020018061286a6021913960400191505060405180910390fd5b600080821161226e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161227757fe5b049392505050565b600154600160a01b900460ff16156122d5576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261238f57600085556123d5565b82601f106123a857805160ff19168380011785556123d5565b828001600101855582156123d5579182015b828111156123d55782518255916020019190600101906123ba565b506108e79291505b808211156108e757600081556001016123dd565b600060208284031215612402578081fd5b813561208c81612854565b6000806020838503121561241f578081fd5b82356001600160401b0380821115612435578283fd5b818501915085601f830112612448578283fd5b813581811115612456578384fd5b86602060408302850101111561246a578384fd5b60209290920196919550909350505050565b60006020828403121561248d578081fd5b8151801515811461208c578182fd5b6000602082840312156124ad578081fd5b5035919050565b600080604083850312156124c6578182fd5b50508035926020909101359150565b6000815180845260208085019450808401835b8381101561250d5781516001600160a01b0316875295820195908201906001016124e8565b509495945050505050565b6000815180845260208085019450808401835b8381101561250d5781518752958201959082019060010161252b565b60008151808452815b8181101561256c57602081850181015186830182015201612550565b8181111561257d5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03831681526040602082018190526000906125ca90830184612547565b949350505050565b6001600160a01b03929092168252602082015260400190565b600060018060a01b0386168252846020830152608060408301526126126080830185612547565b905082606083015295945050505050565b606080825284519082018190526000906020906080840190828801845b828110156126655781516001600160a01b031684529284019290840190600101612640565b505050838103828501526126798187612518565b915050828103604084015261268e8185612518565b9695505050505050565b600060a082526126ab60a0830188612518565b6020838203818501526126be8289612518565b848103604086015287518082529092508183019082810284018301838a01865b8381101561270c57601f198784030185526126fa838351612547565b948601949250908501906001016126de565b50508681036060880152612720818a6124d5565b955050505050508260808301529695505050505050565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0392831681529116602082015260400190565b60006020825261200b6020830184612547565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b60e01c90565b600060443d10156127c0576104cd565b600481823e6308c379a06127d482516127aa565b146127de576104cd565b6040513d600319016004823e80513d6001600160401b03816024840111818411171561280d57505050506104cd565b8284019250825191508082111561282757505050506104cd565b503d8301602082840101111561283f575050506104cd565b601f01601f1916810160200160405291505090565b6001600160a01b0381168114610a9e57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212205f760cb4e9b021f85b02e6e5c11577a911fcd5f014edea08212b3173c500dd4564736f6c63430007060033",
673
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638be2fb8611610104578063d38bfff4116100a2578063e9de7d6011610071578063e9de7d6014610322578063ecdda0dd14610335578063ed21b6e414610348578063ee323c921461035f576101cf565b8063d38bfff4146102e9578063d48a38df146102fc578063dded1b4714610304578063e371aef01461030c576101cf565b8063a6817ace116100de578063a6817ace146102be578063be0522e0146102c6578063c373a08e146102ce578063c9f960eb146102e1576101cf565b80638be2fb861461029b5780638ccf77a0146102a35780639d6a890f146102ab576101cf565b806362da19a511610171578063689c49991161014b578063689c49991461026557806372993615146102785780637fec8d3814610280578063870196b814610288576101cf565b806362da19a51461023c578063639031431461024457806363d4a53a1461024c576101cf565b80635042916c116101ad5780635042916c146102025780635aa6e675146102175780635d36b1901461022c57806360f7ac9714610234576101cf565b806310663750146101d45780631d76dea1146101f25780634f6a77b5146101fa575b600080fd5b6101dc610372565b6040516101e991906127a1565b60405180910390f35b6101dc610378565b6101dc61037e565b61021561021036600461249c565b610384565b005b61021f6103da565b6040516101e99190612592565b6102156103e9565b61021f6104ab565b6101dc6104ba565b6101dc6104c0565b6102546104d0565b6040516101e9959493929190612698565b61021561027336600461240d565b61050b565b6101dc61083a565b6101dc610840565b61021561029636600461249c565b6108eb565b6101dc610a3b565b610215610a41565b6102156102b93660046123f1565b610a9c565b6101dc610aa1565b61021f610aa7565b6102156102dc3660046123f1565b610ab6565b61021f610b5b565b6102156102f73660046123f1565b610b9a565b6101dc610c5c565b6101dc610c62565b610314610c68565b6040516101e992919061277f565b61021561033036600461249c565b610c89565b6102546103433660046124b4565b610dc2565b61035061111f565b6040516101e993929190612623565b61021561036d3660046123f1565b6112e4565b60055481565b60095481565b60085481565b6000546001600160a01b031633146103d5576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c55565b6000546001600160a01b031681565b6001546001600160a01b03163314610438576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b60045481565b60006104ca6113fb565b90505b90565b600b546060908190819081906000906104fa90600160c01b90046001600160401b03166001610dc2565b945094509450945094509091929394565b6000546001600160a01b0316331461055c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b60208201528190600a8211156105a85760405162461bcd60e51b815260040161059f919061276c565b60405180910390fd5b506105b1611406565b60005b818110156108345760008484838181106105ca57fe5b6105e092602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600c81526020016b61646472657373207a65726f60a01b8152509061062e5760405162461bcd60e51b815260040161059f919061276c565b5060105460005b818110156106d7576010818154811061064a57fe5b6000918252602090912001546001600160a01b031686868581811061066b57fe5b61068192602060409092020190810191506123f1565b6001600160a01b031614156040518060400160405280600b81526020016a647570206164647265737360a81b815250906106ce5760405162461bcd60e51b815260040161059f919061276c565b50600101610635565b5060108585848181106106e657fe5b6106fc92602060409092020190810191506123f1565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b0390921691909117905584848381811061073a57fe5b905060400201602001356011600087878681811061075457fe5b61076a92602060409092020190810191506123f1565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000601260008787868181106107a057fe5b6107b692602060409092020190810191506123f1565b6001600160a01b031681526020810191909152604001600020557f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb598585848181106107fd57fe5b61081392602060409092020190810191506123f1565b6001604051610823929190612737565b60405180910390a1506001016105b4565b50505050565b60075481565b6002546000906001600160a01b031661088557610885306040518060400160405280600e81526020016d696e666c6174696f6e207a65726f60901b81525060006114b6565b60026001609c1b01331461089857600080fd5b6108a061167a565b905060006108ac611ee5565b90504781146108e7576108e7306040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b81525060006114b6565b5090565b6000546001600160a01b0316331461093c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60085461094c90606e6064611f0a565b811115604051806040016040528060118152602001700dac2f040dad2dce840e8dede40d0d2ced607b1b815250906109975760405162461bcd60e51b815260040161059f919061276c565b5060408051808201909152601081526f6d6178206d696e74206973207a65726f60801b6020820152816109dd5760405162461bcd60e51b815260040161059f919061276c565b5062015180600a54014211604051806040016040528060128152602001711d1a5b594819d85c081d1bdbc81cda1bdc9d60721b81525090610a315760405162461bcd60e51b815260040161059f919061276c565b5060085542600a55565b60035481565b6000546001600160a01b03163314610a92576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b610a9a611406565b565bfe5b50565b600a5481565b6002546001600160a01b031681565b6000546001600160a01b03163314610b07576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b600f5460009060ff16610b8857600f805460ff191660011790556000610b7f612012565b91506104cd9050565b506000546001600160a01b03166104cd565b6000546001600160a01b03163314610beb576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600c5481565b60065481565b600b546001600160c01b03811690600160c01b90046001600160401b031682565b60025460408051808201909152600d81526c3737ba1034b7333630ba34b7b760991b602082015233916001600160a01b03168214610cda5760405162461bcd60e51b815260040161059f919061276c565b5060085482111560405180604001604052806007815260200166746f6f2062696760c81b81525090610d1f5760405162461bcd60e51b815260040161059f919061276c565b5042610d296113fb565b10604051806040016040528060098152602001683a37b79037b33a32b760b91b81525090610d6a5760405162461bcd60e51b815260040161059f919061276c565b508115610dbe5742600955600454610d829083612032565b6004556040517f4c4f1efc376f31abeb51b72c5f9ed81cf4016591312bb02337e58149dcfaaab490610db59084906127a1565b60405180910390a15b5050565b606080606080600060148054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b81525090610e195760405162461bcd60e51b815260040161059f919061276c565b506014546000908888011115610e3457601454889003610e36565b865b9050806001600160401b0381118015610e4e57600080fd5b50604051908082528060200260200182016040528015610e78578160200160208202803683370190505b509550806001600160401b0381118015610e9157600080fd5b50604051908082528060200260200182016040528015610ebb578160200160208202803683370190505b509450806001600160401b0381118015610ed457600080fd5b50604051908082528060200260200182016040528015610f0857816020015b6060815260200190600190039081610ef35790505b509350806001600160401b0381118015610f2157600080fd5b50604051908082528060200260200182016040528015610f4b578160200160208202803683370190505b50925060005b818110156111035760006014828b0181548110610f6a57fe5b6000918252602080832090910154808352601390915260409091205489519192506001600160c01b031690899084908110610fa157fe5b6020026020010181815250506013600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110610fec57fe5b6020908102919091018101919091526000828152601382526040908190206002908101805483516001821615610100026000190190911692909204601f810185900485028301850190935282825290929091908301828280156110905780601f1061106557610100808354040283529160200191611090565b820191906000526020600020905b81548152906001019060200180831161107357829003601f168201915b50505050508683815181106110a157fe5b60200260200101819052506013600082815260200190815260200160002060010160009054906101000a90046001600160a01b03168583815181106110e257fe5b6001600160a01b039092166020928302919091019091015250600101610f51565b5050600b549497939650919450926001600160c01b0316919050565b60105460609081908190806001600160401b038111801561113f57600080fd5b50604051908082528060200260200182016040528015611169578160200160208202803683370190505b509350806001600160401b038111801561118257600080fd5b506040519080825280602002602001820160405280156111ac578160200160208202803683370190505b509250806001600160401b03811180156111c557600080fd5b506040519080825280602002602001820160405280156111ef578160200160208202803683370190505b50915060005b818110156112dd5760006010828154811061120c57fe5b9060005260206000200160009054906101000a90046001600160a01b031690508086838151811061123957fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060116000826001600160a01b03166001600160a01b031681526020019081526020016000205485838151811061128b57fe5b60200260200101818152505060126000826001600160a01b03166001600160a01b03168152602001908152602001600020548483815181106112c957fe5b6020908102919091010152506001016111f5565b5050909192565b6000546001600160a01b03163314611335576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600e81526d696e666c6174696f6e207a65726f60901b60208201526001600160a01b0382166113815760405162461bcd60e51b815260040161059f919061276c565b506002546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b979805916113bf9184916001600160a01b031690612752565b60405180910390a1600280546001600160a01b0319166001600160a01b038316179055600854610a9e576a295be96e6406697200000060085550565b600954620143700190565b60105460005b81811015610dbe576010805460009190600019810190811061142a57fe5b600091825260209091200154601080546001600160a01b039092169250908061144f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59916114a591849190612737565b60405180910390a15060010161140c565b600083836040516020016114cb9291906125a6565b60408051808303601f190181529181528151602092830120600081815260139093529120805491925090600160c01b90046001600160401b03166115b25760148054600180820183556000929092527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec01839055810180546001600160a01b0319166001600160a01b038716179055611565846040612095565b805161157b916002840191602090910190612359565b5060145460018201805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0316929092029190911790555b8054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b0319169190911782556040517f7a459ed083a9b267865360013a5ad6dbc07e5befe6e4f71671c940fdd4206bee9161162391889190889088906125eb565b60405180910390a1600b80546001600160c01b0319811660016001600160c01b0392831681018316919091178084559301549216600160a01b9092046001600160401b0316600160c01b0291909117905550505050565b600060035443141561168e575060006104cd565b43600355600d544790811115611a645760006116b7600e54600d5461203290919063ffffffff16565b90508082141561182c57600e546005546116d19082612032565b6005556040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c906117049083906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561175c57600080fd5b505af19350505050801561176e575060015b6117dd5761177a6127b0565b806117855750611797565b611791308260006114b6565b506117d8565b6117d8306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611826565b6006546117ea9082612032565b6006556040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a9061181d9083906127a1565b60405180910390a15b50611a62565b8082101561188e57600061184b600d548461214990919063ffffffff16565b60075490915061185b9082612032565b6007556040517f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3689061181d9083906127a1565b600e5460055461189d91612032565b600555600e54600d546000916118be916118b8908690612149565b90612149565b6007549091506118ce9082612032565b600755600e546040517fa42d823c276ad1990284418c303209194a75fa95a901f19752a9f65a407ffa8c91611902916127a1565b60405180910390a17f3fe36bcb00188390b2b40f1ab66c58f660aea67fe98b9f80667f692e1a9ab3688160405161193991906127a1565b60405180910390a1600260009054906101000a90046001600160a01b03166001600160a01b031663c611c2c5600e546040518263ffffffff1660e01b81526004016000604051808303818588803b15801561199357600080fd5b505af1935050505080156119a5575060015b611a14576119b16127b0565b806119bc57506119ce565b6119c8308260006114b6565b50611a0f565b611a0f306040518060400160405280601d81526020017f756e6b6e6f776e206572726f722e20726563656976654d696e74696e6700000081525060006114b6565b611a60565b600e54600654611a2391612032565b600655600e546040517f12773bf711e11ec0b058c3856d441d726d2dc89113706c4f4175571f1e830c5a91611a57916127a1565b60405180910390a15b505b505b60105460005b81811015611e8357600060108281548110611a8157fe5b60009182526020808320909101546001600160a01b031680835260129091526040909120549091508015611b0d576001600160a01b0382166000908152601260205260409081902060001983019055517f9895eddb1e8569b1dae526135aa5cab97f982fdc3b0ff7e17920c95e3b9bda6290611b0090849084906125d2565b60405180910390a1611e79565b6001600160a01b038216600090815260116020526040812054905a90506204a768811015611b77577f9b5c4be38598cb8d8b6e07727d2303d1d9fc2dfc31ad323170f5ea4dcc1f914a858703604051611b6691906127a1565b60405180910390a150505050611e83565b620493df1981018215801590611b8c57508083105b15611b945750815b846001600160a01b0316636d0e8c34826040518263ffffffff1660e01b8152600401602060405180830381600088803b158015611bd057600080fd5b5087f193505050508015611c01575060408051601f3d908101601f19168201909252611bfe9181019061247c565b60015b611e3857611c0d6127b0565b80611c185750611c9f565b611c2586825a86036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c98919061247c565b5050611e33565b60005a9050600084118015611cbd575083611cba8483612149565b10155b15611d9057611cf1866040518060400160405280600a8152602001696f7574206f662067617360b01b8152508386036114b6565b6000866001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611d2e57600080fd5b505af1158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d66919061247c565b905080611d8a57600c546001600160a01b0388166000908152601260205260409020555b50611e31565b611dbc86604051806040016040528060078152602001663ab735b737bbb760c91b8152508386036114b6565b856001600160a01b031663e22fdece6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611df757600080fd5b505af1158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f919061247c565b505b505b611e75565b507fe7aa66356adbd5e839ef210626f6d8f6f72109c17fadf4c4f9ca82b315ae79b4855a8403604051611e6c9291906125d2565b60405180910390a15b5050505b5050600101611a6a565b50611e8c6121a6565b92508215611ed657600e8390556040517f34f843cef0df42035141347873da1758a6643358831b5ba5b1580be947644f9290611ec99085906127a1565b60405180910390a1611edc565b6000600e555b505047600d5590565b60006104ca600754611f0460065460055461214990919063ffffffff16565b90612032565b6000808211611f53576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611f605750600061200b565b83830283858281611f6d57fe5b041415611f8657828181611f7d57fe5b0491505061200b565b6000838681611f9157fe5b0490506000848781611f9f57fe5b0690506000858781611fad57fe5b0490506000868881611fbb57fe5b069050612003611fd588611fcf86856121bf565b90612218565b611f04611fe286866121bf565b611f04611fef89876121bf565b611f048d611ffd8c8b6121bf565b906121bf565b955050505050505b9392505050565b600073fffec6c83c8bf5c3f4ae0ccf8c45ce20e4560bd76104ca8161227f565b60008282018381101561208c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60606000839050828151116120ad578391505061208f565b6000836001600160401b03811180156120c557600080fd5b506040519080825280601f01601f1916602001820160405280156120f0576020820181803683370190505b50905060005b848110156121405782818151811061210a57fe5b602001015160f81c60f81b82828151811061212157fe5b60200101906001600160f81b031916908160001a9053506001016120f6565b50949350505050565b6000828211156121a0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006104ca60055460045461214990919063ffffffff16565b6000826121ce5750600061208f565b828202828482816121db57fe5b041461208c5760405162461bcd60e51b815260040180806020018281038252602181526020018061286a6021913960400191505060405180910390fd5b600080821161226e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161227757fe5b049392505050565b600154600160a01b900460ff16156122d5576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261238f57600085556123d5565b82601f106123a857805160ff19168380011785556123d5565b828001600101855582156123d5579182015b828111156123d55782518255916020019190600101906123ba565b506108e79291505b808211156108e757600081556001016123dd565b600060208284031215612402578081fd5b813561208c81612854565b6000806020838503121561241f578081fd5b82356001600160401b0380821115612435578283fd5b818501915085601f830112612448578283fd5b813581811115612456578384fd5b86602060408302850101111561246a578384fd5b60209290920196919550909350505050565b60006020828403121561248d578081fd5b8151801515811461208c578182fd5b6000602082840312156124ad578081fd5b5035919050565b600080604083850312156124c6578182fd5b50508035926020909101359150565b6000815180845260208085019450808401835b8381101561250d5781516001600160a01b0316875295820195908201906001016124e8565b509495945050505050565b6000815180845260208085019450808401835b8381101561250d5781518752958201959082019060010161252b565b60008151808452815b8181101561256c57602081850181015186830182015201612550565b8181111561257d5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03831681526040602082018190526000906125ca90830184612547565b949350505050565b6001600160a01b03929092168252602082015260400190565b600060018060a01b0386168252846020830152608060408301526126126080830185612547565b905082606083015295945050505050565b606080825284519082018190526000906020906080840190828801845b828110156126655781516001600160a01b031684529284019290840190600101612640565b505050838103828501526126798187612518565b915050828103604084015261268e8185612518565b9695505050505050565b600060a082526126ab60a0830188612518565b6020838203818501526126be8289612518565b848103604086015287518082529092508183019082810284018301838a01865b8381101561270c57601f198784030185526126fa838351612547565b948601949250908501906001016126de565b50508681036060880152612720818a6124d5565b955050505050508260808301529695505050505050565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0392831681529116602082015260400190565b60006020825261200b6020830184612547565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b60e01c90565b600060443d10156127c0576104cd565b600481823e6308c379a06127d482516127aa565b146127de576104cd565b6040513d600319016004823e80513d6001600160401b03816024840111818411171561280d57505050506104cd565b8284019250825191508082111561282757505050506104cd565b503d8301602082840101111561283f575050506104cd565b601f01601f1916810160200160405291505090565b6001600160a01b0381168114610a9e57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212205f760cb4e9b021f85b02e6e5c11577a911fcd5f014edea08212b3173c500dd4564736f6c63430007060033",
674
674
  "linkReferences": {},
675
675
  "deployedLinkReferences": {}
676
676
  }
@@ -344,8 +344,8 @@
344
344
  "type": "function"
345
345
  }
346
346
  ],
347
- "bytecode": "0x60806040523480156200001157600080fd5b50604051620015e2380380620015e2833981016040819052620000349162000224565b82806001600160a01b038116156200005157620000518162000140565b506001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50600081118015620000b557506103e88111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e6473000081525090620001155760405162461bcd60e51b81526004016200010c91906200026b565b60405180910390fd5b50600455600380546001600160a01b0319166001600160a01b039290921691909117905550620002da565b600154600160a01b900460ff1615620001a0576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60008060006060848603121562000239578283fd5b83516200024681620002c1565b60208501519093506200025981620002c1565b80925050604084015190509250925092565b6000602080835283518082850152825b8181101562000299578581018301518582016040015282016200027b565b81811115620002ab5783604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114620002d757600080fd5b50565b6112f880620002ea6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639d6a890f11610097578063c853b8d411610066578063c853b8d4146101c7578063d38bfff4146101dc578063ebee6fa4146101ef578063ee323c92146101f7576100f5565b80639d6a890f14610186578063b2d9e80614610199578063be0522e0146101ac578063c373a08e146101b4576100f5565b806360f7ac97116100d357806360f7ac9714610143578063728a5bcb1461014b57806390ac884b1461016b578063981940291461017e576100f5565b80631d019e34146100fa5780635aa6e675146101245780635d36b19014610139575b600080fd5b61010d61010836600461109f565b61020a565b60405161011b9291906111ed565b60405180910390f35b61012c610242565b60405161011b91906110b7565b610141610251565b005b61012c610313565b61015e61015936600461109f565b610322565b60405161011b919061125f565b610141610179366004611030565b610343565b61015e610576565b610141610194366004610f4d565b6106fb565b6101416101a7366004610f70565b6107d5565b61012c610b3c565b6101416101c2366004610f4d565b610b4b565b6101cf610bf0565b60405161011b919061115b565b6101416101ea366004610f4d565b610cfa565b61015e610dbc565b610141610205366004610f4d565b610dc2565b6002818154811061021a57600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b6000546001600160a01b031681565b6001546001600160a01b031633146102a0576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6005818154811061033257600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314610394576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b6020820152600a8211156103de5760405162461bcd60e51b81526004016103d5919061120c565b60405180910390fd5b50600454819060005b828110156104b757818585838181106103fc57fe5b90506020020135111580156104235750600085858381811061041a57fe5b90506020020135115b801561044357506103e885858381811061043957fe5b9050602002013511155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906104975760405162461bcd60e51b81526004016103d5919061120c565b508484828181106104a457fe5b60200291909101359250506001016103e7565b5060055460005b818110156104f15760058054806104d157fe5b6000828152602081208201600019908101919091550190556001016104be565b5060005b8381101561053557600586868381811061050b57fe5b835460018082018655600095865260209586902092909502939093013592019190915550016104f5565b507fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa485856040516105679291906111b3565b60405180910390a15050505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816105c75760405162461bcd60e51b81526004016103d5919061120c565b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146106195760405162461bcd60e51b81526004016103d5919061120c565b50600554156106ba57600560008154811061063057fe5b60009182526020909120015460045560055460018111156106975760005b60018203811015610695576005816001018154811061066957fe5b90600052602060002001546005828154811061068157fe5b60009182526020909120015560010161064e565b505b60058054806106a257fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e6004546040516106eb919061125f565b60405180910390a1505060045490565b600154600160a01b900460ff1615610751576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b03163314610826576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906108715760405162461bcd60e51b81526004016103d5919061120c565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906108b75760405162461bcd60e51b81526004016103d5919061120c565b50600254600090815b818110156108fd5760028054806108d357fe5b600082815260209020810160001990810180546001600160c01b03191690550190556001016108c0565b5060005b8451811015610aa55761271084828151811061091957fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906109775760405162461bcd60e51b81526004016103d5919061120c565b5060006001600160a01b031685828151811061098f57fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b815250906109e55760405162461bcd60e51b81526004016103d5919061120c565b508381815181106109f257fe5b60200260200101518301925060026040518060400160405280878481518110610a1757fe5b60200260200101516001600160a01b03168152602001868481518110610a3957fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b939092169290920217905501610901565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f7420313030250060208201526127108314610afc5760405162461bcd60e51b81526004016103d5919061120c565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051610b2e9291906110e5565b60405180910390a150505050565b6003546001600160a01b031681565b6000546001600160a01b03163314610b9c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6002546060908067ffffffffffffffff81118015610c0d57600080fd5b50604051908082528060200260200182016040528015610c4757816020015b610c34610eca565b815260200190600190039081610c2c5790505b50915060005b81811015610cf55760028181548110610c6257fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610c9257fe5b6020026020010151602001818152505060028181548110610caf57fe5b60009182526020909120015483516001600160a01b0390911690849083908110610cd557fe5b60209081029190910101516001600160a01b039091169052600101610c4d565b505090565b6000546001600160a01b03163314610d4b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60045481565b6000546001600160a01b03163314610e13576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600c81526b06164647265737320697320360a41b602082015281906001600160a01b038216610e5f5760405162461bcd60e51b81526004016103d5919061120c565b506003546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591610e9f916001600160a01b039091169085906110cb565b60405180910390a150600380546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015290565b600082601f830112610ef1578081fd5b81356020610f06610f018361128c565b611268565b8281528181019085830183850287018401881015610f22578586fd5b855b85811015610f4057813584529284019290840190600101610f24565b5090979650505050505050565b600060208284031215610f5e578081fd5b8135610f69816112aa565b9392505050565b60008060408385031215610f82578081fd5b823567ffffffffffffffff80821115610f99578283fd5b818501915085601f830112610fac578283fd5b81356020610fbc610f018361128c565b82815281810190858301838502870184018b1015610fd8578788fd5b8796505b84871015611003578035610fef816112aa565b835260019690960195918301918301610fdc565b5096505086013592505080821115611019578283fd5b5061102685828601610ee1565b9150509250929050565b60008060208385031215611042578182fd5b823567ffffffffffffffff80821115611059578384fd5b818501915085601f83011261106c578384fd5b81358181111561107a578485fd5b866020808302850101111561108d578485fd5b60209290920196919550909350505050565b6000602082840312156110b0578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b828110156111275781516001600160a01b031684529284019290840190600101611102565b50505083810382850152845180825285830191830190845b81811015610f405783518352928401929184019160010161113f565b602080825282518282018190526000919060409081850190868401855b828110156111a657815180516001600160a01b03168552860151868501529284019290850190600101611178565b5091979650505050505050565b6020808252810182905260006001600160fb1b038311156111d2578081fd5b60208302808560408501379190910160400190815292915050565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602080835283518082850152825b818110156112385785810183015185820160400152820161121c565b818111156112495783604083870101525b50601f01601f1916929092016040019392505050565b90815260200190565b60405181810167ffffffffffffffff8111828210171561128457fe5b604052919050565b600067ffffffffffffffff8211156112a057fe5b5060209081020190565b6001600160a01b03811681146112bf57600080fd5b5056fea264697066735822122029189f8f218ca5bb4a6bfe2f837bccceabf8052f5bed93ea9a7f48db7f1b4b2e64736f6c63430007060033",
348
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639d6a890f11610097578063c853b8d411610066578063c853b8d4146101c7578063d38bfff4146101dc578063ebee6fa4146101ef578063ee323c92146101f7576100f5565b80639d6a890f14610186578063b2d9e80614610199578063be0522e0146101ac578063c373a08e146101b4576100f5565b806360f7ac97116100d357806360f7ac9714610143578063728a5bcb1461014b57806390ac884b1461016b578063981940291461017e576100f5565b80631d019e34146100fa5780635aa6e675146101245780635d36b19014610139575b600080fd5b61010d61010836600461109f565b61020a565b60405161011b9291906111ed565b60405180910390f35b61012c610242565b60405161011b91906110b7565b610141610251565b005b61012c610313565b61015e61015936600461109f565b610322565b60405161011b919061125f565b610141610179366004611030565b610343565b61015e610576565b610141610194366004610f4d565b6106fb565b6101416101a7366004610f70565b6107d5565b61012c610b3c565b6101416101c2366004610f4d565b610b4b565b6101cf610bf0565b60405161011b919061115b565b6101416101ea366004610f4d565b610cfa565b61015e610dbc565b610141610205366004610f4d565b610dc2565b6002818154811061021a57600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b6000546001600160a01b031681565b6001546001600160a01b031633146102a0576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6005818154811061033257600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314610394576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b6020820152600a8211156103de5760405162461bcd60e51b81526004016103d5919061120c565b60405180910390fd5b50600454819060005b828110156104b757818585838181106103fc57fe5b90506020020135111580156104235750600085858381811061041a57fe5b90506020020135115b801561044357506103e885858381811061043957fe5b9050602002013511155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906104975760405162461bcd60e51b81526004016103d5919061120c565b508484828181106104a457fe5b60200291909101359250506001016103e7565b5060055460005b818110156104f15760058054806104d157fe5b6000828152602081208201600019908101919091550190556001016104be565b5060005b8381101561053557600586868381811061050b57fe5b835460018082018655600095865260209586902092909502939093013592019190915550016104f5565b507fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa485856040516105679291906111b3565b60405180910390a15050505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816105c75760405162461bcd60e51b81526004016103d5919061120c565b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146106195760405162461bcd60e51b81526004016103d5919061120c565b50600554156106ba57600560008154811061063057fe5b60009182526020909120015460045560055460018111156106975760005b60018203811015610695576005816001018154811061066957fe5b90600052602060002001546005828154811061068157fe5b60009182526020909120015560010161064e565b505b60058054806106a257fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e6004546040516106eb919061125f565b60405180910390a1505060045490565b600154600160a01b900460ff1615610751576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b03163314610826576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906108715760405162461bcd60e51b81526004016103d5919061120c565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906108b75760405162461bcd60e51b81526004016103d5919061120c565b50600254600090815b818110156108fd5760028054806108d357fe5b600082815260209020810160001990810180546001600160c01b03191690550190556001016108c0565b5060005b8451811015610aa55761271084828151811061091957fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906109775760405162461bcd60e51b81526004016103d5919061120c565b5060006001600160a01b031685828151811061098f57fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b815250906109e55760405162461bcd60e51b81526004016103d5919061120c565b508381815181106109f257fe5b60200260200101518301925060026040518060400160405280878481518110610a1757fe5b60200260200101516001600160a01b03168152602001868481518110610a3957fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b939092169290920217905501610901565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f7420313030250060208201526127108314610afc5760405162461bcd60e51b81526004016103d5919061120c565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051610b2e9291906110e5565b60405180910390a150505050565b6003546001600160a01b031681565b6000546001600160a01b03163314610b9c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6002546060908067ffffffffffffffff81118015610c0d57600080fd5b50604051908082528060200260200182016040528015610c4757816020015b610c34610eca565b815260200190600190039081610c2c5790505b50915060005b81811015610cf55760028181548110610c6257fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610c9257fe5b6020026020010151602001818152505060028181548110610caf57fe5b60009182526020909120015483516001600160a01b0390911690849083908110610cd557fe5b60209081029190910101516001600160a01b039091169052600101610c4d565b505090565b6000546001600160a01b03163314610d4b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60045481565b6000546001600160a01b03163314610e13576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600c81526b06164647265737320697320360a41b602082015281906001600160a01b038216610e5f5760405162461bcd60e51b81526004016103d5919061120c565b506003546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591610e9f916001600160a01b039091169085906110cb565b60405180910390a150600380546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015290565b600082601f830112610ef1578081fd5b81356020610f06610f018361128c565b611268565b8281528181019085830183850287018401881015610f22578586fd5b855b85811015610f4057813584529284019290840190600101610f24565b5090979650505050505050565b600060208284031215610f5e578081fd5b8135610f69816112aa565b9392505050565b60008060408385031215610f82578081fd5b823567ffffffffffffffff80821115610f99578283fd5b818501915085601f830112610fac578283fd5b81356020610fbc610f018361128c565b82815281810190858301838502870184018b1015610fd8578788fd5b8796505b84871015611003578035610fef816112aa565b835260019690960195918301918301610fdc565b5096505086013592505080821115611019578283fd5b5061102685828601610ee1565b9150509250929050565b60008060208385031215611042578182fd5b823567ffffffffffffffff80821115611059578384fd5b818501915085601f83011261106c578384fd5b81358181111561107a578485fd5b866020808302850101111561108d578485fd5b60209290920196919550909350505050565b6000602082840312156110b0578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b828110156111275781516001600160a01b031684529284019290840190600101611102565b50505083810382850152845180825285830191830190845b81811015610f405783518352928401929184019160010161113f565b602080825282518282018190526000919060409081850190868401855b828110156111a657815180516001600160a01b03168552860151868501529284019290850190600101611178565b5091979650505050505050565b6020808252810182905260006001600160fb1b038311156111d2578081fd5b60208302808560408501379190910160400190815292915050565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602080835283518082850152825b818110156112385785810183015185820160400152820161121c565b818111156112495783604083870101525b50601f01601f1916929092016040019392505050565b90815260200190565b60405181810167ffffffffffffffff8111828210171561128457fe5b604052919050565b600067ffffffffffffffff8211156112a057fe5b5060209081020190565b6001600160a01b03811681146112bf57600080fd5b5056fea264697066735822122029189f8f218ca5bb4a6bfe2f837bccceabf8052f5bed93ea9a7f48db7f1b4b2e64736f6c63430007060033",
347
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620015e2380380620015e2833981016040819052620000349162000224565b82806001600160a01b038116156200005157620000518162000140565b506001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50600081118015620000b557506103e88111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e6473000081525090620001155760405162461bcd60e51b81526004016200010c91906200026b565b60405180910390fd5b50600455600380546001600160a01b0319166001600160a01b039290921691909117905550620002da565b600154600160a01b900460ff1615620001a0576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60008060006060848603121562000239578283fd5b83516200024681620002c1565b60208501519093506200025981620002c1565b80925050604084015190509250925092565b6000602080835283518082850152825b8181101562000299578581018301518582016040015282016200027b565b81811115620002ab5783604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114620002d757600080fd5b50565b6112f880620002ea6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639d6a890f11610097578063c853b8d411610066578063c853b8d4146101c7578063d38bfff4146101dc578063ebee6fa4146101ef578063ee323c92146101f7576100f5565b80639d6a890f14610186578063b2d9e80614610199578063be0522e0146101ac578063c373a08e146101b4576100f5565b806360f7ac97116100d357806360f7ac9714610143578063728a5bcb1461014b57806390ac884b1461016b578063981940291461017e576100f5565b80631d019e34146100fa5780635aa6e675146101245780635d36b19014610139575b600080fd5b61010d61010836600461109f565b61020a565b60405161011b9291906111ed565b60405180910390f35b61012c610242565b60405161011b91906110b7565b610141610251565b005b61012c610313565b61015e61015936600461109f565b610322565b60405161011b919061125f565b610141610179366004611030565b610343565b61015e610576565b610141610194366004610f4d565b6106fb565b6101416101a7366004610f70565b6107d5565b61012c610b3c565b6101416101c2366004610f4d565b610b4b565b6101cf610bf0565b60405161011b919061115b565b6101416101ea366004610f4d565b610cfa565b61015e610dbc565b610141610205366004610f4d565b610dc2565b6002818154811061021a57600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b6000546001600160a01b031681565b6001546001600160a01b031633146102a0576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6005818154811061033257600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314610394576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b6020820152600a8211156103de5760405162461bcd60e51b81526004016103d5919061120c565b60405180910390fd5b50600454819060005b828110156104b757818585838181106103fc57fe5b90506020020135111580156104235750600085858381811061041a57fe5b90506020020135115b801561044357506103e885858381811061043957fe5b9050602002013511155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906104975760405162461bcd60e51b81526004016103d5919061120c565b508484828181106104a457fe5b60200291909101359250506001016103e7565b5060055460005b818110156104f15760058054806104d157fe5b6000828152602081208201600019908101919091550190556001016104be565b5060005b8381101561053557600586868381811061050b57fe5b835460018082018655600095865260209586902092909502939093013592019190915550016104f5565b507fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa485856040516105679291906111b3565b60405180910390a15050505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816105c75760405162461bcd60e51b81526004016103d5919061120c565b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146106195760405162461bcd60e51b81526004016103d5919061120c565b50600554156106ba57600560008154811061063057fe5b60009182526020909120015460045560055460018111156106975760005b60018203811015610695576005816001018154811061066957fe5b90600052602060002001546005828154811061068157fe5b60009182526020909120015560010161064e565b505b60058054806106a257fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e6004546040516106eb919061125f565b60405180910390a1505060045490565b600154600160a01b900460ff1615610751576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b03163314610826576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906108715760405162461bcd60e51b81526004016103d5919061120c565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906108b75760405162461bcd60e51b81526004016103d5919061120c565b50600254600090815b818110156108fd5760028054806108d357fe5b600082815260209020810160001990810180546001600160c01b03191690550190556001016108c0565b5060005b8451811015610aa55761271084828151811061091957fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906109775760405162461bcd60e51b81526004016103d5919061120c565b5060006001600160a01b031685828151811061098f57fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b815250906109e55760405162461bcd60e51b81526004016103d5919061120c565b508381815181106109f257fe5b60200260200101518301925060026040518060400160405280878481518110610a1757fe5b60200260200101516001600160a01b03168152602001868481518110610a3957fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b939092169290920217905501610901565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f7420313030250060208201526127108314610afc5760405162461bcd60e51b81526004016103d5919061120c565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051610b2e9291906110e5565b60405180910390a150505050565b6003546001600160a01b031681565b6000546001600160a01b03163314610b9c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6002546060908067ffffffffffffffff81118015610c0d57600080fd5b50604051908082528060200260200182016040528015610c4757816020015b610c34610eca565b815260200190600190039081610c2c5790505b50915060005b81811015610cf55760028181548110610c6257fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610c9257fe5b6020026020010151602001818152505060028181548110610caf57fe5b60009182526020909120015483516001600160a01b0390911690849083908110610cd557fe5b60209081029190910101516001600160a01b039091169052600101610c4d565b505090565b6000546001600160a01b03163314610d4b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60045481565b6000546001600160a01b03163314610e13576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600c81526b06164647265737320697320360a41b602082015281906001600160a01b038216610e5f5760405162461bcd60e51b81526004016103d5919061120c565b506003546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591610e9f916001600160a01b039091169085906110cb565b60405180910390a150600380546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015290565b600082601f830112610ef1578081fd5b81356020610f06610f018361128c565b611268565b8281528181019085830183850287018401881015610f22578586fd5b855b85811015610f4057813584529284019290840190600101610f24565b5090979650505050505050565b600060208284031215610f5e578081fd5b8135610f69816112aa565b9392505050565b60008060408385031215610f82578081fd5b823567ffffffffffffffff80821115610f99578283fd5b818501915085601f830112610fac578283fd5b81356020610fbc610f018361128c565b82815281810190858301838502870184018b1015610fd8578788fd5b8796505b84871015611003578035610fef816112aa565b835260019690960195918301918301610fdc565b5096505086013592505080821115611019578283fd5b5061102685828601610ee1565b9150509250929050565b60008060208385031215611042578182fd5b823567ffffffffffffffff80821115611059578384fd5b818501915085601f83011261106c578384fd5b81358181111561107a578485fd5b866020808302850101111561108d578485fd5b60209290920196919550909350505050565b6000602082840312156110b0578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b828110156111275781516001600160a01b031684529284019290840190600101611102565b50505083810382850152845180825285830191830190845b81811015610f405783518352928401929184019160010161113f565b602080825282518282018190526000919060409081850190868401855b828110156111a657815180516001600160a01b03168552860151868501529284019290850190600101611178565b5091979650505050505050565b6020808252810182905260006001600160fb1b038311156111d2578081fd5b60208302808560408501379190910160400190815292915050565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602080835283518082850152825b818110156112385785810183015185820160400152820161121c565b818111156112495783604083870101525b50601f01601f1916929092016040019392505050565b90815260200190565b60405181810167ffffffffffffffff8111828210171561128457fe5b604052919050565b600067ffffffffffffffff8211156112a057fe5b5060209081020190565b6001600160a01b03811681146112bf57600080fd5b5056fea264697066735822122010ebd9724c47c521e9cec3c58123cb3e6dee644a670c31476ae10b0a59831db664736f6c63430007060033",
348
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639d6a890f11610097578063c853b8d411610066578063c853b8d4146101c7578063d38bfff4146101dc578063ebee6fa4146101ef578063ee323c92146101f7576100f5565b80639d6a890f14610186578063b2d9e80614610199578063be0522e0146101ac578063c373a08e146101b4576100f5565b806360f7ac97116100d357806360f7ac9714610143578063728a5bcb1461014b57806390ac884b1461016b578063981940291461017e576100f5565b80631d019e34146100fa5780635aa6e675146101245780635d36b19014610139575b600080fd5b61010d61010836600461109f565b61020a565b60405161011b9291906111ed565b60405180910390f35b61012c610242565b60405161011b91906110b7565b610141610251565b005b61012c610313565b61015e61015936600461109f565b610322565b60405161011b919061125f565b610141610179366004611030565b610343565b61015e610576565b610141610194366004610f4d565b6106fb565b6101416101a7366004610f70565b6107d5565b61012c610b3c565b6101416101c2366004610f4d565b610b4b565b6101cf610bf0565b60405161011b919061115b565b6101416101ea366004610f4d565b610cfa565b61015e610dbc565b610141610205366004610f4d565b610dc2565b6002818154811061021a57600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b6000546001600160a01b031681565b6001546001600160a01b031633146102a0576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6005818154811061033257600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314610394576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b604080518082019091526008815267746f6f206d616e7960c01b6020820152600a8211156103de5760405162461bcd60e51b81526004016103d5919061120c565b60405180910390fd5b50600454819060005b828110156104b757818585838181106103fc57fe5b90506020020135111580156104235750600085858381811061041a57fe5b90506020020135115b801561044357506103e885858381811061043957fe5b9050602002013511155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906104975760405162461bcd60e51b81526004016103d5919061120c565b508484828181106104a457fe5b60200291909101359250506001016103e7565b5060055460005b818110156104f15760058054806104d157fe5b6000828152602081208201600019908101919091550190556001016104be565b5060005b8381101561053557600586868381811061050b57fe5b835460018082018655600095865260209586902092909502939093013592019190915550016104f5565b507fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa485856040516105679291906111b3565b60405180910390a15050505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816105c75760405162461bcd60e51b81526004016103d5919061120c565b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146106195760405162461bcd60e51b81526004016103d5919061120c565b50600554156106ba57600560008154811061063057fe5b60009182526020909120015460045560055460018111156106975760005b60018203811015610695576005816001018154811061066957fe5b90600052602060002001546005828154811061068157fe5b60009182526020909120015560010161064e565b505b60058054806106a257fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e6004546040516106eb919061125f565b60405180910390a1505060045490565b600154600160a01b900460ff1615610751576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b03163314610826576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906108715760405162461bcd60e51b81526004016103d5919061120c565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906108b75760405162461bcd60e51b81526004016103d5919061120c565b50600254600090815b818110156108fd5760028054806108d357fe5b600082815260209020810160001990810180546001600160c01b03191690550190556001016108c0565b5060005b8451811015610aa55761271084828151811061091957fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906109775760405162461bcd60e51b81526004016103d5919061120c565b5060006001600160a01b031685828151811061098f57fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b815250906109e55760405162461bcd60e51b81526004016103d5919061120c565b508381815181106109f257fe5b60200260200101518301925060026040518060400160405280878481518110610a1757fe5b60200260200101516001600160a01b03168152602001868481518110610a3957fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b939092169290920217905501610901565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f7420313030250060208201526127108314610afc5760405162461bcd60e51b81526004016103d5919061120c565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051610b2e9291906110e5565b60405180910390a150505050565b6003546001600160a01b031681565b6000546001600160a01b03163314610b9c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6002546060908067ffffffffffffffff81118015610c0d57600080fd5b50604051908082528060200260200182016040528015610c4757816020015b610c34610eca565b815260200190600190039081610c2c5790505b50915060005b81811015610cf55760028181548110610c6257fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610c9257fe5b6020026020010151602001818152505060028181548110610caf57fe5b60009182526020909120015483516001600160a01b0390911690849083908110610cd557fe5b60209081029190910101516001600160a01b039091169052600101610c4d565b505090565b6000546001600160a01b03163314610d4b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60045481565b6000546001600160a01b03163314610e13576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152600c81526b06164647265737320697320360a41b602082015281906001600160a01b038216610e5f5760405162461bcd60e51b81526004016103d5919061120c565b506003546040517f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591610e9f916001600160a01b039091169085906110cb565b60405180910390a150600380546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015290565b600082601f830112610ef1578081fd5b81356020610f06610f018361128c565b611268565b8281528181019085830183850287018401881015610f22578586fd5b855b85811015610f4057813584529284019290840190600101610f24565b5090979650505050505050565b600060208284031215610f5e578081fd5b8135610f69816112aa565b9392505050565b60008060408385031215610f82578081fd5b823567ffffffffffffffff80821115610f99578283fd5b818501915085601f830112610fac578283fd5b81356020610fbc610f018361128c565b82815281810190858301838502870184018b1015610fd8578788fd5b8796505b84871015611003578035610fef816112aa565b835260019690960195918301918301610fdc565b5096505086013592505080821115611019578283fd5b5061102685828601610ee1565b9150509250929050565b60008060208385031215611042578182fd5b823567ffffffffffffffff80821115611059578384fd5b818501915085601f83011261106c578384fd5b81358181111561107a578485fd5b866020808302850101111561108d578485fd5b60209290920196919550909350505050565b6000602082840312156110b0578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b828110156111275781516001600160a01b031684529284019290840190600101611102565b50505083810382850152845180825285830191830190845b81811015610f405783518352928401929184019160010161113f565b602080825282518282018190526000919060409081850190868401855b828110156111a657815180516001600160a01b03168552860151868501529284019290850190600101611178565b5091979650505050505050565b6020808252810182905260006001600160fb1b038311156111d2578081fd5b60208302808560408501379190910160400190815292915050565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602080835283518082850152825b818110156112385785810183015185820160400152820161121c565b818111156112495783604083870101525b50601f01601f1916929092016040019392505050565b90815260200190565b60405181810167ffffffffffffffff8111828210171561128457fe5b604052919050565b600067ffffffffffffffff8211156112a057fe5b5060209081020190565b6001600160a01b03811681146112bf57600080fd5b5056fea264697066735822122010ebd9724c47c521e9cec3c58123cb3e6dee644a670c31476ae10b0a59831db664736f6c63430007060033",
349
349
  "linkReferences": {},
350
350
  "deployedLinkReferences": {}
351
351
  }