@flarenetwork/flare-periphery-contract-artifacts 0.0.1

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