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

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 (317) hide show
  1. package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  2. package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  3. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  4. package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
  5. package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
  6. package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  7. package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  8. package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  9. package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  10. package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  11. package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  12. package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  13. package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  14. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  15. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  16. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  17. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  18. package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  19. package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  20. package/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  21. package/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  22. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  23. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  24. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  25. package/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  26. package/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  27. package/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  28. package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  29. package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  30. package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  31. package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  32. package/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  33. package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  34. package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  35. package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  36. package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  37. package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  38. package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  39. package/coston2/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
  40. package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
  41. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  42. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  43. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  44. package/coston2/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  45. package/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  46. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  47. package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  48. package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  49. package/coston2/deploys/contracts.json +23 -3
  50. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts +68 -0
  51. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts.map +1 -0
  52. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js +164 -0
  53. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js.map +1 -0
  54. package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts +33 -0
  55. package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts.map +1 -0
  56. package/dist/coston/StateConnector/libs/ts/AttestationResponse.js +30 -0
  57. package/dist/coston/StateConnector/libs/ts/AttestationResponse.js.map +1 -0
  58. package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts +103 -0
  59. package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts.map +1 -0
  60. package/dist/coston/StateConnector/libs/ts/MerkleTree.js +212 -0
  61. package/dist/coston/StateConnector/libs/ts/MerkleTree.js.map +1 -0
  62. package/dist/coston/StateConnector/libs/ts/config-types.d.ts +143 -0
  63. package/dist/coston/StateConnector/libs/ts/config-types.d.ts.map +1 -0
  64. package/dist/coston/StateConnector/libs/ts/config-types.js +3 -0
  65. package/dist/coston/StateConnector/libs/ts/config-types.js.map +1 -0
  66. package/dist/coston/StateConnector/libs/ts/interfaces.d.ts +32 -0
  67. package/dist/coston/StateConnector/libs/ts/interfaces.d.ts.map +1 -0
  68. package/dist/coston/StateConnector/libs/ts/interfaces.js +3 -0
  69. package/dist/coston/StateConnector/libs/ts/interfaces.js.map +1 -0
  70. package/dist/coston/StateConnector/libs/ts/random.d.ts +9 -0
  71. package/dist/coston/StateConnector/libs/ts/random.d.ts.map +1 -0
  72. package/dist/coston/StateConnector/libs/ts/random.js +70 -0
  73. package/dist/coston/StateConnector/libs/ts/random.js.map +1 -0
  74. package/dist/coston/StateConnector/libs/ts/utils.d.ts +73 -0
  75. package/dist/coston/StateConnector/libs/ts/utils.d.ts.map +1 -0
  76. package/dist/coston/StateConnector/libs/ts/utils.js +282 -0
  77. package/dist/coston/StateConnector/libs/ts/utils.js.map +1 -0
  78. package/dist/coston/StateConnector/typescript/AddressValidity.d.ts +91 -0
  79. package/dist/coston/StateConnector/typescript/AddressValidity.d.ts.map +1 -0
  80. package/dist/coston/StateConnector/typescript/AddressValidity.js +9 -0
  81. package/dist/coston/StateConnector/typescript/AddressValidity.js.map +1 -0
  82. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts +107 -0
  83. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts.map +1 -0
  84. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js +9 -0
  85. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js.map +1 -0
  86. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts +103 -0
  87. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts.map +1 -0
  88. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js +9 -0
  89. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js.map +1 -0
  90. package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts +160 -0
  91. package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts.map +1 -0
  92. package/dist/coston/StateConnector/typescript/EVMTransaction.js +9 -0
  93. package/dist/coston/StateConnector/typescript/EVMTransaction.js.map +1 -0
  94. package/dist/coston/StateConnector/typescript/Payment.d.ts +139 -0
  95. package/dist/coston/StateConnector/typescript/Payment.d.ts.map +1 -0
  96. package/dist/coston/StateConnector/typescript/Payment.js +9 -0
  97. package/dist/coston/StateConnector/typescript/Payment.js.map +1 -0
  98. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts +115 -0
  99. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts.map +1 -0
  100. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js +9 -0
  101. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js.map +1 -0
  102. package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts +146 -0
  103. package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts.map +1 -0
  104. package/dist/coston/StateConnector/typescript/TypeTemplate.js +9 -0
  105. package/dist/coston/StateConnector/typescript/TypeTemplate.js.map +1 -0
  106. package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts +29 -0
  107. package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts.map +1 -0
  108. package/dist/coston/StateConnector/typescript/data-sources/data-sources.js +33 -0
  109. package/dist/coston/StateConnector/typescript/data-sources/data-sources.js.map +1 -0
  110. package/dist/coston/StateConnector/typescript/index.d.ts +9 -0
  111. package/dist/coston/StateConnector/typescript/index.d.ts.map +1 -0
  112. package/dist/coston/StateConnector/typescript/index.js +25 -0
  113. package/dist/coston/StateConnector/typescript/index.js.map +1 -0
  114. package/dist/coston/abis.d.ts.map +1 -1
  115. package/dist/coston/abis.js +2 -0
  116. package/dist/coston/abis.js.map +1 -1
  117. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  118. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  119. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  120. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
  121. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
  122. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  123. package/dist/coston/deploys/mapper.js.map +1 -1
  124. package/dist/coston2/abis.d.ts.map +1 -1
  125. package/dist/coston2/abis.js +20 -2
  126. package/dist/coston2/abis.js.map +1 -1
  127. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  128. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  129. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  130. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  131. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  132. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  133. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  134. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  135. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  136. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  137. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  138. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  139. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  140. package/dist/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  141. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  142. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  143. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  144. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  145. package/dist/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  146. package/dist/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  147. package/dist/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  148. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  149. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  150. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  151. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  152. package/dist/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  153. package/dist/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  154. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  155. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  156. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  157. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  158. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  159. package/dist/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  160. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  161. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  162. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  163. package/dist/coston2/deploys/addresses.d.ts +4 -0
  164. package/dist/coston2/deploys/addresses.d.ts.map +1 -1
  165. package/dist/coston2/deploys/addresses.js +6 -2
  166. package/dist/coston2/deploys/addresses.js.map +1 -1
  167. package/dist/coston2/deploys/contracts.json +23 -3
  168. package/dist/coston2/deploys/mapper.js.map +1 -1
  169. package/dist/flare/abis.d.ts.map +1 -1
  170. package/dist/flare/abis.js +20 -2
  171. package/dist/flare/abis.js.map +1 -1
  172. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  173. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  174. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  175. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  176. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  177. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  178. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  179. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  180. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  181. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  182. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  183. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  184. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  185. package/dist/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  186. package/dist/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  187. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  188. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  189. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  190. package/dist/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  191. package/dist/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  192. package/dist/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  193. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  194. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  195. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  196. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  197. package/dist/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  198. package/dist/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  199. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  200. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  201. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  202. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  203. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  204. package/dist/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  205. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  206. package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  207. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  208. package/dist/flare/deploys/addresses.d.ts +4 -0
  209. package/dist/flare/deploys/addresses.d.ts.map +1 -1
  210. package/dist/flare/deploys/addresses.js +6 -2
  211. package/dist/flare/deploys/addresses.js.map +1 -1
  212. package/dist/flare/deploys/contracts.json +23 -3
  213. package/dist/flare/deploys/mapper.js.map +1 -1
  214. package/dist/songbird/abis.d.ts.map +1 -1
  215. package/dist/songbird/abis.js +20 -14
  216. package/dist/songbird/abis.js.map +1 -1
  217. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  218. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  219. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  220. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  221. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  222. package/dist/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  223. package/dist/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  224. package/dist/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  225. package/dist/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  226. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  227. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  228. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  229. package/dist/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  230. package/dist/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  231. package/dist/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  232. package/dist/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  233. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  234. package/dist/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  235. package/dist/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  236. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
  237. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  238. package/dist/songbird/deploys/addresses.js +3 -3
  239. package/dist/songbird/deploys/contracts.json +3 -3
  240. package/dist/songbird/deploys/mapper.js.map +1 -1
  241. package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  242. package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  243. package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  244. package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  245. package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  246. package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  247. package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  248. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  249. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  250. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  251. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  252. package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  253. package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  254. package/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  255. package/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  256. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  257. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  258. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  259. package/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  260. package/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  261. package/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  262. package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  263. package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  264. package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  265. package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  266. package/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  267. package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  268. package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  269. package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  270. package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  271. package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  272. package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  273. package/flare/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
  274. package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
  275. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  276. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  277. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  278. package/flare/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  279. package/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  280. package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  281. package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  282. package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  283. package/flare/deploys/contracts.json +23 -3
  284. package/package.json +3 -2
  285. package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  286. package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  287. package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  288. package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  289. package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  290. package/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  291. package/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  292. package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  293. package/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  294. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  295. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  296. package/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  297. package/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  298. package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  299. package/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  300. package/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  301. package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  302. package/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  303. package/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  304. package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
  305. package/songbird/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  306. package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  307. package/songbird/deploys/contracts.json +3 -3
  308. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  309. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  310. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  311. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  312. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  313. package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  314. package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  315. package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  316. package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  317. package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
@@ -734,8 +734,8 @@
734
734
  "type": "function"
735
735
  }
736
736
  ],
737
- "bytecode": "0x60a06040523480156200001157600080fd5b5060405162002cb038038062002cb0833981810160405260608110156200003757600080fd5b50805160208201516040909201519091908282828183806001600160a01b0381161562000069576200006981620000e7565b506001600160a01b038116620000b9576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600255620000ca81620001aa565b5060601b6001600160601b03191660805250620001ce9350505050565b600054600160a01b900460ff161562000147576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60805160601c612ac4620001ec60003980610f3b5250612ac46000f3fe6080604052600436106101e35760003560e01c80639119c49411610102578063dfd14c3411610095578063f1367b7f11610064578063f1367b7f14610a1f578063f5a9838314610a6b578063f5f5ba7214610a80578063fbde354d14610b0a576101e3565b8063dfd14c3414610998578063e17f212e146109cb578063e2739563146109e0578063ed39d3f814610a0a576101e3565b8063acc2166a116100d1578063acc2166a1461075a578063b00c0b761461076f578063b2c121921461089f578063d2a4ac61146108ea576101e3565b80639119c494146106315780639d6a890f146106df5780639edbf00714610712578063a1809b9514610727576101e3565b806351b42b001161017a57806362354e031161014957806362354e03146104ed57806367fc40291461050257806374e6310e1461053657806384e10a90146105e9576101e3565b806351b42b001461047a5780635267a15d1461048f5780635aa6e675146104a45780635ff27079146104b9576101e3565b80632dafdbbf116101b65780632dafdbbf1461036057806336300be2146103935780633f317fe1146103c4578063470ce08714610447576101e3565b806302fb0c5e146101e857806306201f1d146102115780630f15f4c01461021b578063143ba4f314610230575b600080fd5b3480156101f457600080fd5b506101fd610b1f565b604080519115158252519081900360200190f35b610219610b28565b005b34801561022757600080fd5b50610219610b88565b34801561023c57600080fd5b506102196004803603604081101561025357600080fd5b810190602081018135600160201b81111561026d57600080fd5b82018360208201111561027f57600080fd5b803590602001918460208302840111600160201b831117156102a057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c47945050505050565b34801561036c57600080fd5b50610375610f2e565b60408051938452602084019290925282820152519081900360600190f35b34801561039f57600080fd5b506103a8610f39565b604080516001600160a01b039092168252519081900360200190f35b3480156103d057600080fd5b506103f7600480360360208110156103e757600080fd5b50356001600160a01b0316610f5d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043357818101518382015260200161041b565b505050509050019250505060405180910390f35b34801561045357600080fd5b506102196004803603602081101561046a57600080fd5b50356001600160a01b0316610fd3565b34801561048657600080fd5b506102196110e9565b34801561049b57600080fd5b506103a8611130565b3480156104b057600080fd5b506103a8611155565b3480156104c557600080fd5b50610219600480360360208110156104dc57600080fd5b50356001600160e01b0319166111ea565b3480156104f957600080fd5b506103a861153f565b34801561050e57600080fd5b506102196004803603602081101561052557600080fd5b50356001600160e01b03191661154a565b34801561054257600080fd5b5061056a6004803603602081101561055957600080fd5b50356001600160e01b031916611632565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105ad578181015183820152602001610595565b50505050905090810190601f1680156105da5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156105f557600080fd5b506105fe6116d8565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561063d57600080fd5b506102196004803603602081101561065457600080fd5b810190602081018135600160201b81111561066e57600080fd5b82018360208201111561068057600080fd5b803590602001918460208302840111600160201b831117156106a157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506116f2945050505050565b3480156106eb57600080fd5b506102196004803603602081101561070257600080fd5b50356001600160a01b0316611794565b34801561071e57600080fd5b506103a861184d565b34801561073357600080fd5b506102196004803603602081101561074a57600080fd5b50356001600160a01b031661185c565b34801561076657600080fd5b506103a86118ab565b34801561077b57600080fd5b506102196004803603604081101561079257600080fd5b810190602081018135600160201b8111156107ac57600080fd5b8201836020820111156107be57600080fd5b803590602001918460208302840111600160201b831117156107df57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561082e57600080fd5b82018360208201111561084057600080fd5b803590602001918460208302840111600160201b8311171561086157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506118ba945050505050565b3480156108ab57600080fd5b50610219600480360360808110156108c257600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515611965565b3480156108f657600080fd5b506102196004803603602081101561090d57600080fd5b810190602081018135600160201b81111561092757600080fd5b82018360208201111561093957600080fd5b803590602001918460208302840111600160201b8311171561095a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119fa945050505050565b3480156109a457600080fd5b506103f7600480360360208110156109bb57600080fd5b50356001600160a01b0316611a84565b3480156109d757600080fd5b506101fd611af8565b3480156109ec57600080fd5b5061021960048036036020811015610a0357600080fd5b5035611b08565b348015610a1657600080fd5b506103a8611b5f565b348015610a2b57600080fd5b50610a5260048036036020811015610a4257600080fd5b50356001600160a01b0316611b6e565b6040805192835260208301919091528051918290030190f35b348015610a7757600080fd5b50610219611b96565b348015610a8c57600080fd5b50610a95611c50565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610acf578181015183820152602001610ab7565b50505050905090810190601f168015610afc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b1657600080fd5b506103a8611c80565b60035460ff1681565b610b30611c8f565b610b38611d0e565b600e55600b54610b489034611d75565b600b556040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a1610b86611dd6565b565b610b90611e53565b6010546001600160a01b031615801590610bb457506011546001600160a01b031615155b610c05576040805162461bcd60e51b815260206004820152601a60248201527f636f6e747261637420616464726573736573206e6f7420736574000000000000604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f737e471bd254cc455ba135c7ad67820ab7dc993fe0aa02a037fd0cd75d2d653a9181900360200190a1565b610c4f611eb2565b8151815160408051808201909152601781527f617272617973206c656e67746873206d69736d617463680000000000000000006020820152908214610d125760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cd7578181015183820152602001610cbf565b50505050905090810190601f168015610d045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000805b82811015610de957610d7d848281518110610d2e57fe5b602002602001015160046000888581518110610d4657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054611d7590919063ffffffff16565b60046000878481518110610d8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610ddf848281518110610dc857fe5b602002602001015183611d7590919063ffffffff16565b9150600101610d17565b50600854610df79082611d75565b6008818155600a5460408051808201909152918252670e8dede40daeac6d60c31b602083015290911115610e6c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b507fe69d325558610ba73c441901deb46d7f251108348dc5dc9447e8866774c12edc8484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610ed4578181015183820152602001610ebc565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610f13578181015183820152602001610efb565b5050505090500194505050505060405180910390a150505050565b600a54600954600092565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b038116600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610fc757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610fa9575b50505050509050919050565b600054600160b01b900460ff1680610ff55750600054600160a81b900460ff16155b156110db57611002611f40565b6012546001600160a01b031615611060576040805162461bcd60e51b815260206004820152601e60248201527f6e657720726577617264206d616e6167657220616c7265616479207365740000604482015290519081900360640190fd5b6001600160a01b0381166110bb576040805162461bcd60e51b815260206004820152601760248201527f6e657720726577617264206d616e61676572207a65726f000000000000000000604482015290519081900360640190fd5b601280546001600160a01b0319166001600160a01b0383161790556110e6565b6110e6600036611f75565b50565b6110f1611e53565b6003805460ff191690556040805130815290517fa2d2a6acb907bb897be972c8e6757c1bcffccc171055a61c54c7fa947c4918509181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611178576000546001600160a01b03166111e5565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b1580156111b857600080fd5b505afa1580156111cc573d6000803e3d6000fd5b505050506040513d60208110156111e257600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561122e57600080fd5b505afa158015611242573d6000803e3d6000fd5b505050506040513d602081101561125857600080fd5b505161129b576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611307576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b805442101561135d576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113f75780601f106113cc576101008083540402835291602001916113f7565b820191906000526020600020905b8154815290600101906020018083116113da57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061142b91508301826129b1565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106114735780518252601f199092019160209182019101611454565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114d5576040519150601f19603f3d011682016040523d82523d6000602084013e6114da565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611539816120f8565b50505050565b60076001609c1b0181565b611552611e53565b6001600160e01b031981166000908152600160205260409020546115bd576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061162d908301826129b1565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156116ce5780601f106116a3576101008083540402835291602001916116ce565b820191906000526020600020905b8154815290600101906020018083116116b157829003601f168201915b5050505050905082565b600854600954600a54600b54600c54600d54909192939495565b33600090815260066020526040902061170b9082612115565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561177d578181015183820152602001611765565b50505050905001935050505060405180910390a150565b600054600160a01b900460ff16156117ea576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6011546001600160a01b031681565b600054600160b01b900460ff168061187e5750600054600160a81b900460ff16155b156110db5761188b611f40565b600f80546001600160a01b0319166001600160a01b0383161790556110e6565b600f546001600160a01b031681565b6118c2611130565b6001600160a01b0316336001600160a01b03161461191e576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61195761195283836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250612128565b612255565b6119618282612279565b5050565b61196d612316565b6002805414156119c4576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60028055836119d28161239c565b84846119de8282612453565b6119ea87878787612528565b5050600160025550611539611dd6565b336000908152600760205260409020611a139082612115565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360008381101561177d578181015183820152602001611765565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610fc7576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610fa95750505050509050919050565b600054600160a81b900460ff1681565b611b10611c8f565b600d819055600a54611b229082611d75565b600a5542600c556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6010546001600160a01b031690565b6001600160a01b03166000908152600460209081526040808320546005909252909120549091565b611b9e611e53565b600054600160a81b900460ff1615611bfd576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6040805180820190915260168152752b30b634b230ba37b92932bbb0b93226b0b730b3b2b960511b602082015290565b6012546001600160a01b031681565b60105460408051808201909152600e81526d696e666c6174696f6e206f6e6c7960901b6020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600e54600090611d1e9034611d75565b90504781811115611d675761dead6108fc611d3983856126e9565b6040518115909202916000818181858888f19350505050158015611d61573d6000803e3d6000fd5b50611d71565b81811015611d7157fe5b5090565b600082820183811015611dcf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611dde612746565b47146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b611e5b611155565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600f5460408051808201909152601781527f726577617264206469737472696275746f72206f6e6c790000000000000000006020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600054600160b01b900460ff1615611f6d57333014611f5b57fe5b6000805460ff60b01b19169055610b86565b610b86611e53565b611f7d611e53565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fc557600080fd5b505afa158015611fd9573d6000803e3d6000fd5b505050506040513d6020811015611fef57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612073939285019201906129f5565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e8215612111578181f35b8181fd5b61211e8261275f565b61196182826127d7565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561216c578181015183820152602001612154565b50505050905090810190601f1680156121995780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015612201578681815181106121cf57fe5b60200260200101518314156121f9578581815181106121ea57fe5b60200260200101519150612201565b6001016121ba565b506001600160a01b03811661224c576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b6122a582826040518060400160405280600981526020016824b7333630ba34b7b760b91b815250612128565b601060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506122f282826040518060400160405280600481526020016315d3985d60e21b815250612128565b601180546001600160a01b0319166001600160a01b03929092169190911790555050565b60035460408051808201909152601a81527f726577617264206d616e6167657220646561637469766174656400000000000060208201529060ff166110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b0381163314806123d857506001600160a01b038116600090815260066020908152604080832033845260010190915290205415155b6040518060400160405280601681526020017537b7363c9037bbb732b91037b91032bc32b1baba37b960511b815250906119615760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b336001600160a01b038316148061247b5750816001600160a01b0316816001600160a01b0316145b806124ae57506001600160a01b038083166000908152600760209081526040808320938516835260019093019052205415155b604051806040016040528060158152602001741c9958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b8152509061162d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b60408051808201909152600e81526d726563697069656e74207a65726f60901b60208201526001600160a01b0384166125a25760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506125ab611d0e565b506001600160a01b0384166000908152600560205260409020546125cf9083611d75565b6001600160a01b0385166000908152600560208181526040808420859055600482529283902054918152825180840190935260088352670e8dede40daeac6d60c31b90830152909111156126645760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506009546126729083611d75565b600955801561268a576126858383612808565b612694565b612694838361287c565b826001600160a01b0316846001600160a01b03167f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7846040518082815260200191505060405180910390a3505047600e555050565b600082821115612740576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006111e5600954600b546126e990919063ffffffff16565b8054156110e657805460018201906000908390600019810190811061278057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400181205580548190806127b057fe5b600082815260209020810160001990810180546001600160a01b031916905501905561275f565b60005b815181101561162d57612800838383815181106127f357fe5b6020026020010151612948565b6001016127da565b8015611961576011546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b15801561285f57600080fd5b505af1158015612873573d6000803e3d6000fd5b50505050505050565b8015611961576040516000906001600160a01b0384169083908381818185875af1925050503d80600081146128cd576040519150601f19603f3d011682016040523d82523d6000602084013e6128d2565b606091505b50509050806040518060400160405280600c81526020016b18db185a5b4819985a5b195960a21b815250906115395760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b03811660009081526001830160205260409020541561296d57611961565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f106129d757506110e6565b601f0160209004906000526020600020908101906110e69190612a79565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612a2b5760008555612a71565b82601f10612a4457805160ff1916838001178555612a71565b82800160010185558215612a71579182015b82811115612a71578251825591602001919060010190612a56565b50611d719291505b5b80821115611d715760008155600101612a7a56fea26469706673582212203f5952251045267110a3675a036d0bb6b5870285b436e4c71dc69ed6c15f3c4b64736f6c63430007060033",
738
- "deployedBytecode": "0x6080604052600436106101e35760003560e01c80639119c49411610102578063dfd14c3411610095578063f1367b7f11610064578063f1367b7f14610a1f578063f5a9838314610a6b578063f5f5ba7214610a80578063fbde354d14610b0a576101e3565b8063dfd14c3414610998578063e17f212e146109cb578063e2739563146109e0578063ed39d3f814610a0a576101e3565b8063acc2166a116100d1578063acc2166a1461075a578063b00c0b761461076f578063b2c121921461089f578063d2a4ac61146108ea576101e3565b80639119c494146106315780639d6a890f146106df5780639edbf00714610712578063a1809b9514610727576101e3565b806351b42b001161017a57806362354e031161014957806362354e03146104ed57806367fc40291461050257806374e6310e1461053657806384e10a90146105e9576101e3565b806351b42b001461047a5780635267a15d1461048f5780635aa6e675146104a45780635ff27079146104b9576101e3565b80632dafdbbf116101b65780632dafdbbf1461036057806336300be2146103935780633f317fe1146103c4578063470ce08714610447576101e3565b806302fb0c5e146101e857806306201f1d146102115780630f15f4c01461021b578063143ba4f314610230575b600080fd5b3480156101f457600080fd5b506101fd610b1f565b604080519115158252519081900360200190f35b610219610b28565b005b34801561022757600080fd5b50610219610b88565b34801561023c57600080fd5b506102196004803603604081101561025357600080fd5b810190602081018135600160201b81111561026d57600080fd5b82018360208201111561027f57600080fd5b803590602001918460208302840111600160201b831117156102a057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c47945050505050565b34801561036c57600080fd5b50610375610f2e565b60408051938452602084019290925282820152519081900360600190f35b34801561039f57600080fd5b506103a8610f39565b604080516001600160a01b039092168252519081900360200190f35b3480156103d057600080fd5b506103f7600480360360208110156103e757600080fd5b50356001600160a01b0316610f5d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043357818101518382015260200161041b565b505050509050019250505060405180910390f35b34801561045357600080fd5b506102196004803603602081101561046a57600080fd5b50356001600160a01b0316610fd3565b34801561048657600080fd5b506102196110e9565b34801561049b57600080fd5b506103a8611130565b3480156104b057600080fd5b506103a8611155565b3480156104c557600080fd5b50610219600480360360208110156104dc57600080fd5b50356001600160e01b0319166111ea565b3480156104f957600080fd5b506103a861153f565b34801561050e57600080fd5b506102196004803603602081101561052557600080fd5b50356001600160e01b03191661154a565b34801561054257600080fd5b5061056a6004803603602081101561055957600080fd5b50356001600160e01b031916611632565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105ad578181015183820152602001610595565b50505050905090810190601f1680156105da5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156105f557600080fd5b506105fe6116d8565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561063d57600080fd5b506102196004803603602081101561065457600080fd5b810190602081018135600160201b81111561066e57600080fd5b82018360208201111561068057600080fd5b803590602001918460208302840111600160201b831117156106a157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506116f2945050505050565b3480156106eb57600080fd5b506102196004803603602081101561070257600080fd5b50356001600160a01b0316611794565b34801561071e57600080fd5b506103a861184d565b34801561073357600080fd5b506102196004803603602081101561074a57600080fd5b50356001600160a01b031661185c565b34801561076657600080fd5b506103a86118ab565b34801561077b57600080fd5b506102196004803603604081101561079257600080fd5b810190602081018135600160201b8111156107ac57600080fd5b8201836020820111156107be57600080fd5b803590602001918460208302840111600160201b831117156107df57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561082e57600080fd5b82018360208201111561084057600080fd5b803590602001918460208302840111600160201b8311171561086157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506118ba945050505050565b3480156108ab57600080fd5b50610219600480360360808110156108c257600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515611965565b3480156108f657600080fd5b506102196004803603602081101561090d57600080fd5b810190602081018135600160201b81111561092757600080fd5b82018360208201111561093957600080fd5b803590602001918460208302840111600160201b8311171561095a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119fa945050505050565b3480156109a457600080fd5b506103f7600480360360208110156109bb57600080fd5b50356001600160a01b0316611a84565b3480156109d757600080fd5b506101fd611af8565b3480156109ec57600080fd5b5061021960048036036020811015610a0357600080fd5b5035611b08565b348015610a1657600080fd5b506103a8611b5f565b348015610a2b57600080fd5b50610a5260048036036020811015610a4257600080fd5b50356001600160a01b0316611b6e565b6040805192835260208301919091528051918290030190f35b348015610a7757600080fd5b50610219611b96565b348015610a8c57600080fd5b50610a95611c50565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610acf578181015183820152602001610ab7565b50505050905090810190601f168015610afc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b1657600080fd5b506103a8611c80565b60035460ff1681565b610b30611c8f565b610b38611d0e565b600e55600b54610b489034611d75565b600b556040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a1610b86611dd6565b565b610b90611e53565b6010546001600160a01b031615801590610bb457506011546001600160a01b031615155b610c05576040805162461bcd60e51b815260206004820152601a60248201527f636f6e747261637420616464726573736573206e6f7420736574000000000000604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f737e471bd254cc455ba135c7ad67820ab7dc993fe0aa02a037fd0cd75d2d653a9181900360200190a1565b610c4f611eb2565b8151815160408051808201909152601781527f617272617973206c656e67746873206d69736d617463680000000000000000006020820152908214610d125760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cd7578181015183820152602001610cbf565b50505050905090810190601f168015610d045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000805b82811015610de957610d7d848281518110610d2e57fe5b602002602001015160046000888581518110610d4657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054611d7590919063ffffffff16565b60046000878481518110610d8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610ddf848281518110610dc857fe5b602002602001015183611d7590919063ffffffff16565b9150600101610d17565b50600854610df79082611d75565b6008818155600a5460408051808201909152918252670e8dede40daeac6d60c31b602083015290911115610e6c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b507fe69d325558610ba73c441901deb46d7f251108348dc5dc9447e8866774c12edc8484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610ed4578181015183820152602001610ebc565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610f13578181015183820152602001610efb565b5050505090500194505050505060405180910390a150505050565b600a54600954600092565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b038116600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610fc757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610fa9575b50505050509050919050565b600054600160b01b900460ff1680610ff55750600054600160a81b900460ff16155b156110db57611002611f40565b6012546001600160a01b031615611060576040805162461bcd60e51b815260206004820152601e60248201527f6e657720726577617264206d616e6167657220616c7265616479207365740000604482015290519081900360640190fd5b6001600160a01b0381166110bb576040805162461bcd60e51b815260206004820152601760248201527f6e657720726577617264206d616e61676572207a65726f000000000000000000604482015290519081900360640190fd5b601280546001600160a01b0319166001600160a01b0383161790556110e6565b6110e6600036611f75565b50565b6110f1611e53565b6003805460ff191690556040805130815290517fa2d2a6acb907bb897be972c8e6757c1bcffccc171055a61c54c7fa947c4918509181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611178576000546001600160a01b03166111e5565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b1580156111b857600080fd5b505afa1580156111cc573d6000803e3d6000fd5b505050506040513d60208110156111e257600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561122e57600080fd5b505afa158015611242573d6000803e3d6000fd5b505050506040513d602081101561125857600080fd5b505161129b576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611307576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b805442101561135d576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113f75780601f106113cc576101008083540402835291602001916113f7565b820191906000526020600020905b8154815290600101906020018083116113da57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061142b91508301826129b1565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106114735780518252601f199092019160209182019101611454565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114d5576040519150601f19603f3d011682016040523d82523d6000602084013e6114da565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611539816120f8565b50505050565b60076001609c1b0181565b611552611e53565b6001600160e01b031981166000908152600160205260409020546115bd576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061162d908301826129b1565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156116ce5780601f106116a3576101008083540402835291602001916116ce565b820191906000526020600020905b8154815290600101906020018083116116b157829003601f168201915b5050505050905082565b600854600954600a54600b54600c54600d54909192939495565b33600090815260066020526040902061170b9082612115565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561177d578181015183820152602001611765565b50505050905001935050505060405180910390a150565b600054600160a01b900460ff16156117ea576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6011546001600160a01b031681565b600054600160b01b900460ff168061187e5750600054600160a81b900460ff16155b156110db5761188b611f40565b600f80546001600160a01b0319166001600160a01b0383161790556110e6565b600f546001600160a01b031681565b6118c2611130565b6001600160a01b0316336001600160a01b03161461191e576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61195761195283836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250612128565b612255565b6119618282612279565b5050565b61196d612316565b6002805414156119c4576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60028055836119d28161239c565b84846119de8282612453565b6119ea87878787612528565b5050600160025550611539611dd6565b336000908152600760205260409020611a139082612115565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360008381101561177d578181015183820152602001611765565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610fc7576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610fa95750505050509050919050565b600054600160a81b900460ff1681565b611b10611c8f565b600d819055600a54611b229082611d75565b600a5542600c556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6010546001600160a01b031690565b6001600160a01b03166000908152600460209081526040808320546005909252909120549091565b611b9e611e53565b600054600160a81b900460ff1615611bfd576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6040805180820190915260168152752b30b634b230ba37b92932bbb0b93226b0b730b3b2b960511b602082015290565b6012546001600160a01b031681565b60105460408051808201909152600e81526d696e666c6174696f6e206f6e6c7960901b6020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600e54600090611d1e9034611d75565b90504781811115611d675761dead6108fc611d3983856126e9565b6040518115909202916000818181858888f19350505050158015611d61573d6000803e3d6000fd5b50611d71565b81811015611d7157fe5b5090565b600082820183811015611dcf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611dde612746565b47146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b611e5b611155565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600f5460408051808201909152601781527f726577617264206469737472696275746f72206f6e6c790000000000000000006020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600054600160b01b900460ff1615611f6d57333014611f5b57fe5b6000805460ff60b01b19169055610b86565b610b86611e53565b611f7d611e53565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fc557600080fd5b505afa158015611fd9573d6000803e3d6000fd5b505050506040513d6020811015611fef57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612073939285019201906129f5565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e8215612111578181f35b8181fd5b61211e8261275f565b61196182826127d7565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561216c578181015183820152602001612154565b50505050905090810190601f1680156121995780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015612201578681815181106121cf57fe5b60200260200101518314156121f9578581815181106121ea57fe5b60200260200101519150612201565b6001016121ba565b506001600160a01b03811661224c576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b6122a582826040518060400160405280600981526020016824b7333630ba34b7b760b91b815250612128565b601060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506122f282826040518060400160405280600481526020016315d3985d60e21b815250612128565b601180546001600160a01b0319166001600160a01b03929092169190911790555050565b60035460408051808201909152601a81527f726577617264206d616e6167657220646561637469766174656400000000000060208201529060ff166110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b0381163314806123d857506001600160a01b038116600090815260066020908152604080832033845260010190915290205415155b6040518060400160405280601681526020017537b7363c9037bbb732b91037b91032bc32b1baba37b960511b815250906119615760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b336001600160a01b038316148061247b5750816001600160a01b0316816001600160a01b0316145b806124ae57506001600160a01b038083166000908152600760209081526040808320938516835260019093019052205415155b604051806040016040528060158152602001741c9958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b8152509061162d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b60408051808201909152600e81526d726563697069656e74207a65726f60901b60208201526001600160a01b0384166125a25760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506125ab611d0e565b506001600160a01b0384166000908152600560205260409020546125cf9083611d75565b6001600160a01b0385166000908152600560208181526040808420859055600482529283902054918152825180840190935260088352670e8dede40daeac6d60c31b90830152909111156126645760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506009546126729083611d75565b600955801561268a576126858383612808565b612694565b612694838361287c565b826001600160a01b0316846001600160a01b03167f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7846040518082815260200191505060405180910390a3505047600e555050565b600082821115612740576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006111e5600954600b546126e990919063ffffffff16565b8054156110e657805460018201906000908390600019810190811061278057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400181205580548190806127b057fe5b600082815260209020810160001990810180546001600160a01b031916905501905561275f565b60005b815181101561162d57612800838383815181106127f357fe5b6020026020010151612948565b6001016127da565b8015611961576011546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b15801561285f57600080fd5b505af1158015612873573d6000803e3d6000fd5b50505050505050565b8015611961576040516000906001600160a01b0384169083908381818185875af1925050503d80600081146128cd576040519150601f19603f3d011682016040523d82523d6000602084013e6128d2565b606091505b50509050806040518060400160405280600c81526020016b18db185a5b4819985a5b195960a21b815250906115395760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b03811660009081526001830160205260409020541561296d57611961565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f106129d757506110e6565b601f0160209004906000526020600020908101906110e69190612a79565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612a2b5760008555612a71565b82601f10612a4457805160ff1916838001178555612a71565b82800160010185558215612a71579182015b82811115612a71578251825591602001919060010190612a56565b50611d719291505b5b80821115611d715760008155600101612a7a56fea26469706673582212203f5952251045267110a3675a036d0bb6b5870285b436e4c71dc69ed6c15f3c4b64736f6c63430007060033",
737
+ "bytecode": "0x60a06040523480156200001157600080fd5b5060405162002cb038038062002cb0833981810160405260608110156200003757600080fd5b50805160208201516040909201519091908282828183806001600160a01b0381161562000069576200006981620000e7565b506001600160a01b038116620000b9576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600255620000ca81620001aa565b5060601b6001600160601b03191660805250620001ce9350505050565b600054600160a01b900460ff161562000147576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60805160601c612ac4620001ec60003980610f3b5250612ac46000f3fe6080604052600436106101e35760003560e01c80639119c49411610102578063dfd14c3411610095578063f1367b7f11610064578063f1367b7f14610a1f578063f5a9838314610a6b578063f5f5ba7214610a80578063fbde354d14610b0a576101e3565b8063dfd14c3414610998578063e17f212e146109cb578063e2739563146109e0578063ed39d3f814610a0a576101e3565b8063acc2166a116100d1578063acc2166a1461075a578063b00c0b761461076f578063b2c121921461089f578063d2a4ac61146108ea576101e3565b80639119c494146106315780639d6a890f146106df5780639edbf00714610712578063a1809b9514610727576101e3565b806351b42b001161017a57806362354e031161014957806362354e03146104ed57806367fc40291461050257806374e6310e1461053657806384e10a90146105e9576101e3565b806351b42b001461047a5780635267a15d1461048f5780635aa6e675146104a45780635ff27079146104b9576101e3565b80632dafdbbf116101b65780632dafdbbf1461036057806336300be2146103935780633f317fe1146103c4578063470ce08714610447576101e3565b806302fb0c5e146101e857806306201f1d146102115780630f15f4c01461021b578063143ba4f314610230575b600080fd5b3480156101f457600080fd5b506101fd610b1f565b604080519115158252519081900360200190f35b610219610b28565b005b34801561022757600080fd5b50610219610b88565b34801561023c57600080fd5b506102196004803603604081101561025357600080fd5b810190602081018135600160201b81111561026d57600080fd5b82018360208201111561027f57600080fd5b803590602001918460208302840111600160201b831117156102a057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c47945050505050565b34801561036c57600080fd5b50610375610f2e565b60408051938452602084019290925282820152519081900360600190f35b34801561039f57600080fd5b506103a8610f39565b604080516001600160a01b039092168252519081900360200190f35b3480156103d057600080fd5b506103f7600480360360208110156103e757600080fd5b50356001600160a01b0316610f5d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043357818101518382015260200161041b565b505050509050019250505060405180910390f35b34801561045357600080fd5b506102196004803603602081101561046a57600080fd5b50356001600160a01b0316610fd3565b34801561048657600080fd5b506102196110e9565b34801561049b57600080fd5b506103a8611130565b3480156104b057600080fd5b506103a8611155565b3480156104c557600080fd5b50610219600480360360208110156104dc57600080fd5b50356001600160e01b0319166111ea565b3480156104f957600080fd5b506103a861153f565b34801561050e57600080fd5b506102196004803603602081101561052557600080fd5b50356001600160e01b03191661154a565b34801561054257600080fd5b5061056a6004803603602081101561055957600080fd5b50356001600160e01b031916611632565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105ad578181015183820152602001610595565b50505050905090810190601f1680156105da5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156105f557600080fd5b506105fe6116d8565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561063d57600080fd5b506102196004803603602081101561065457600080fd5b810190602081018135600160201b81111561066e57600080fd5b82018360208201111561068057600080fd5b803590602001918460208302840111600160201b831117156106a157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506116f2945050505050565b3480156106eb57600080fd5b506102196004803603602081101561070257600080fd5b50356001600160a01b0316611794565b34801561071e57600080fd5b506103a861184d565b34801561073357600080fd5b506102196004803603602081101561074a57600080fd5b50356001600160a01b031661185c565b34801561076657600080fd5b506103a86118ab565b34801561077b57600080fd5b506102196004803603604081101561079257600080fd5b810190602081018135600160201b8111156107ac57600080fd5b8201836020820111156107be57600080fd5b803590602001918460208302840111600160201b831117156107df57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561082e57600080fd5b82018360208201111561084057600080fd5b803590602001918460208302840111600160201b8311171561086157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506118ba945050505050565b3480156108ab57600080fd5b50610219600480360360808110156108c257600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515611965565b3480156108f657600080fd5b506102196004803603602081101561090d57600080fd5b810190602081018135600160201b81111561092757600080fd5b82018360208201111561093957600080fd5b803590602001918460208302840111600160201b8311171561095a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119fa945050505050565b3480156109a457600080fd5b506103f7600480360360208110156109bb57600080fd5b50356001600160a01b0316611a84565b3480156109d757600080fd5b506101fd611af8565b3480156109ec57600080fd5b5061021960048036036020811015610a0357600080fd5b5035611b08565b348015610a1657600080fd5b506103a8611b5f565b348015610a2b57600080fd5b50610a5260048036036020811015610a4257600080fd5b50356001600160a01b0316611b6e565b6040805192835260208301919091528051918290030190f35b348015610a7757600080fd5b50610219611b96565b348015610a8c57600080fd5b50610a95611c50565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610acf578181015183820152602001610ab7565b50505050905090810190601f168015610afc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b1657600080fd5b506103a8611c80565b60035460ff1681565b610b30611c8f565b610b38611d0e565b600e55600b54610b489034611d75565b600b556040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a1610b86611dd6565b565b610b90611e53565b6010546001600160a01b031615801590610bb457506011546001600160a01b031615155b610c05576040805162461bcd60e51b815260206004820152601a60248201527f636f6e747261637420616464726573736573206e6f7420736574000000000000604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f737e471bd254cc455ba135c7ad67820ab7dc993fe0aa02a037fd0cd75d2d653a9181900360200190a1565b610c4f611eb2565b8151815160408051808201909152601781527f617272617973206c656e67746873206d69736d617463680000000000000000006020820152908214610d125760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cd7578181015183820152602001610cbf565b50505050905090810190601f168015610d045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000805b82811015610de957610d7d848281518110610d2e57fe5b602002602001015160046000888581518110610d4657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054611d7590919063ffffffff16565b60046000878481518110610d8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610ddf848281518110610dc857fe5b602002602001015183611d7590919063ffffffff16565b9150600101610d17565b50600854610df79082611d75565b6008818155600a5460408051808201909152918252670e8dede40daeac6d60c31b602083015290911115610e6c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b507fe69d325558610ba73c441901deb46d7f251108348dc5dc9447e8866774c12edc8484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610ed4578181015183820152602001610ebc565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610f13578181015183820152602001610efb565b5050505090500194505050505060405180910390a150505050565b600a54600954600092565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b038116600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610fc757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610fa9575b50505050509050919050565b600054600160b01b900460ff1680610ff55750600054600160a81b900460ff16155b156110db57611002611f40565b6012546001600160a01b031615611060576040805162461bcd60e51b815260206004820152601e60248201527f6e657720726577617264206d616e6167657220616c7265616479207365740000604482015290519081900360640190fd5b6001600160a01b0381166110bb576040805162461bcd60e51b815260206004820152601760248201527f6e657720726577617264206d616e61676572207a65726f000000000000000000604482015290519081900360640190fd5b601280546001600160a01b0319166001600160a01b0383161790556110e6565b6110e6600036611f75565b50565b6110f1611e53565b6003805460ff191690556040805130815290517fa2d2a6acb907bb897be972c8e6757c1bcffccc171055a61c54c7fa947c4918509181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611178576000546001600160a01b03166111e5565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b1580156111b857600080fd5b505afa1580156111cc573d6000803e3d6000fd5b505050506040513d60208110156111e257600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561122e57600080fd5b505afa158015611242573d6000803e3d6000fd5b505050506040513d602081101561125857600080fd5b505161129b576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611307576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b805442101561135d576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113f75780601f106113cc576101008083540402835291602001916113f7565b820191906000526020600020905b8154815290600101906020018083116113da57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061142b91508301826129b1565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106114735780518252601f199092019160209182019101611454565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114d5576040519150601f19603f3d011682016040523d82523d6000602084013e6114da565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611539816120f8565b50505050565b60076001609c1b0181565b611552611e53565b6001600160e01b031981166000908152600160205260409020546115bd576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061162d908301826129b1565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156116ce5780601f106116a3576101008083540402835291602001916116ce565b820191906000526020600020905b8154815290600101906020018083116116b157829003601f168201915b5050505050905082565b600854600954600a54600b54600c54600d54909192939495565b33600090815260066020526040902061170b9082612115565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561177d578181015183820152602001611765565b50505050905001935050505060405180910390a150565b600054600160a01b900460ff16156117ea576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6011546001600160a01b031681565b600054600160b01b900460ff168061187e5750600054600160a81b900460ff16155b156110db5761188b611f40565b600f80546001600160a01b0319166001600160a01b0383161790556110e6565b600f546001600160a01b031681565b6118c2611130565b6001600160a01b0316336001600160a01b03161461191e576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61195761195283836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250612128565b612255565b6119618282612279565b5050565b61196d612316565b6002805414156119c4576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60028055836119d28161239c565b84846119de8282612453565b6119ea87878787612528565b5050600160025550611539611dd6565b336000908152600760205260409020611a139082612115565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360008381101561177d578181015183820152602001611765565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610fc7576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610fa95750505050509050919050565b600054600160a81b900460ff1681565b611b10611c8f565b600d819055600a54611b229082611d75565b600a5542600c556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6010546001600160a01b031690565b6001600160a01b03166000908152600460209081526040808320546005909252909120549091565b611b9e611e53565b600054600160a81b900460ff1615611bfd576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6040805180820190915260168152752b30b634b230ba37b92932bbb0b93226b0b730b3b2b960511b602082015290565b6012546001600160a01b031681565b60105460408051808201909152600e81526d696e666c6174696f6e206f6e6c7960901b6020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600e54600090611d1e9034611d75565b90504781811115611d675761dead6108fc611d3983856126e9565b6040518115909202916000818181858888f19350505050158015611d61573d6000803e3d6000fd5b50611d71565b81811015611d7157fe5b5090565b600082820183811015611dcf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611dde612746565b47146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b611e5b611155565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600f5460408051808201909152601781527f726577617264206469737472696275746f72206f6e6c790000000000000000006020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600054600160b01b900460ff1615611f6d57333014611f5b57fe5b6000805460ff60b01b19169055610b86565b610b86611e53565b611f7d611e53565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fc557600080fd5b505afa158015611fd9573d6000803e3d6000fd5b505050506040513d6020811015611fef57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612073939285019201906129f5565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e8215612111578181f35b8181fd5b61211e8261275f565b61196182826127d7565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561216c578181015183820152602001612154565b50505050905090810190601f1680156121995780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015612201578681815181106121cf57fe5b60200260200101518314156121f9578581815181106121ea57fe5b60200260200101519150612201565b6001016121ba565b506001600160a01b03811661224c576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b6122a582826040518060400160405280600981526020016824b7333630ba34b7b760b91b815250612128565b601060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506122f282826040518060400160405280600481526020016315d3985d60e21b815250612128565b601180546001600160a01b0319166001600160a01b03929092169190911790555050565b60035460408051808201909152601a81527f726577617264206d616e6167657220646561637469766174656400000000000060208201529060ff166110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b0381163314806123d857506001600160a01b038116600090815260066020908152604080832033845260010190915290205415155b6040518060400160405280601681526020017537b7363c9037bbb732b91037b91032bc32b1baba37b960511b815250906119615760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b336001600160a01b038316148061247b5750816001600160a01b0316816001600160a01b0316145b806124ae57506001600160a01b038083166000908152600760209081526040808320938516835260019093019052205415155b604051806040016040528060158152602001741c9958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b8152509061162d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b60408051808201909152600e81526d726563697069656e74207a65726f60901b60208201526001600160a01b0384166125a25760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506125ab611d0e565b506001600160a01b0384166000908152600560205260409020546125cf9083611d75565b6001600160a01b0385166000908152600560208181526040808420859055600482529283902054918152825180840190935260088352670e8dede40daeac6d60c31b90830152909111156126645760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506009546126729083611d75565b600955801561268a576126858383612808565b612694565b612694838361287c565b826001600160a01b0316846001600160a01b03167f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7846040518082815260200191505060405180910390a3505047600e555050565b600082821115612740576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006111e5600954600b546126e990919063ffffffff16565b8054156110e657805460018201906000908390600019810190811061278057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400181205580548190806127b057fe5b600082815260209020810160001990810180546001600160a01b031916905501905561275f565b60005b815181101561162d57612800838383815181106127f357fe5b6020026020010151612948565b6001016127da565b8015611961576011546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b15801561285f57600080fd5b505af1158015612873573d6000803e3d6000fd5b50505050505050565b8015611961576040516000906001600160a01b0384169083908381818185875af1925050503d80600081146128cd576040519150601f19603f3d011682016040523d82523d6000602084013e6128d2565b606091505b50509050806040518060400160405280600c81526020016b18db185a5b4819985a5b195960a21b815250906115395760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b03811660009081526001830160205260409020541561296d57611961565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f106129d757506110e6565b601f0160209004906000526020600020908101906110e69190612a79565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612a2b5760008555612a71565b82601f10612a4457805160ff1916838001178555612a71565b82800160010185558215612a71579182015b82811115612a71578251825591602001919060010190612a56565b50611d719291505b5b80821115611d715760008155600101612a7a56fea26469706673582212200e86f78870ee5b3e7de07bbb0a4d40f60e269f66be2d4bbed9176874cbe1197f64736f6c63430007060033",
738
+ "deployedBytecode": "0x6080604052600436106101e35760003560e01c80639119c49411610102578063dfd14c3411610095578063f1367b7f11610064578063f1367b7f14610a1f578063f5a9838314610a6b578063f5f5ba7214610a80578063fbde354d14610b0a576101e3565b8063dfd14c3414610998578063e17f212e146109cb578063e2739563146109e0578063ed39d3f814610a0a576101e3565b8063acc2166a116100d1578063acc2166a1461075a578063b00c0b761461076f578063b2c121921461089f578063d2a4ac61146108ea576101e3565b80639119c494146106315780639d6a890f146106df5780639edbf00714610712578063a1809b9514610727576101e3565b806351b42b001161017a57806362354e031161014957806362354e03146104ed57806367fc40291461050257806374e6310e1461053657806384e10a90146105e9576101e3565b806351b42b001461047a5780635267a15d1461048f5780635aa6e675146104a45780635ff27079146104b9576101e3565b80632dafdbbf116101b65780632dafdbbf1461036057806336300be2146103935780633f317fe1146103c4578063470ce08714610447576101e3565b806302fb0c5e146101e857806306201f1d146102115780630f15f4c01461021b578063143ba4f314610230575b600080fd5b3480156101f457600080fd5b506101fd610b1f565b604080519115158252519081900360200190f35b610219610b28565b005b34801561022757600080fd5b50610219610b88565b34801561023c57600080fd5b506102196004803603604081101561025357600080fd5b810190602081018135600160201b81111561026d57600080fd5b82018360208201111561027f57600080fd5b803590602001918460208302840111600160201b831117156102a057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c47945050505050565b34801561036c57600080fd5b50610375610f2e565b60408051938452602084019290925282820152519081900360600190f35b34801561039f57600080fd5b506103a8610f39565b604080516001600160a01b039092168252519081900360200190f35b3480156103d057600080fd5b506103f7600480360360208110156103e757600080fd5b50356001600160a01b0316610f5d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043357818101518382015260200161041b565b505050509050019250505060405180910390f35b34801561045357600080fd5b506102196004803603602081101561046a57600080fd5b50356001600160a01b0316610fd3565b34801561048657600080fd5b506102196110e9565b34801561049b57600080fd5b506103a8611130565b3480156104b057600080fd5b506103a8611155565b3480156104c557600080fd5b50610219600480360360208110156104dc57600080fd5b50356001600160e01b0319166111ea565b3480156104f957600080fd5b506103a861153f565b34801561050e57600080fd5b506102196004803603602081101561052557600080fd5b50356001600160e01b03191661154a565b34801561054257600080fd5b5061056a6004803603602081101561055957600080fd5b50356001600160e01b031916611632565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105ad578181015183820152602001610595565b50505050905090810190601f1680156105da5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156105f557600080fd5b506105fe6116d8565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561063d57600080fd5b506102196004803603602081101561065457600080fd5b810190602081018135600160201b81111561066e57600080fd5b82018360208201111561068057600080fd5b803590602001918460208302840111600160201b831117156106a157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506116f2945050505050565b3480156106eb57600080fd5b506102196004803603602081101561070257600080fd5b50356001600160a01b0316611794565b34801561071e57600080fd5b506103a861184d565b34801561073357600080fd5b506102196004803603602081101561074a57600080fd5b50356001600160a01b031661185c565b34801561076657600080fd5b506103a86118ab565b34801561077b57600080fd5b506102196004803603604081101561079257600080fd5b810190602081018135600160201b8111156107ac57600080fd5b8201836020820111156107be57600080fd5b803590602001918460208302840111600160201b831117156107df57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561082e57600080fd5b82018360208201111561084057600080fd5b803590602001918460208302840111600160201b8311171561086157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506118ba945050505050565b3480156108ab57600080fd5b50610219600480360360808110156108c257600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515611965565b3480156108f657600080fd5b506102196004803603602081101561090d57600080fd5b810190602081018135600160201b81111561092757600080fd5b82018360208201111561093957600080fd5b803590602001918460208302840111600160201b8311171561095a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119fa945050505050565b3480156109a457600080fd5b506103f7600480360360208110156109bb57600080fd5b50356001600160a01b0316611a84565b3480156109d757600080fd5b506101fd611af8565b3480156109ec57600080fd5b5061021960048036036020811015610a0357600080fd5b5035611b08565b348015610a1657600080fd5b506103a8611b5f565b348015610a2b57600080fd5b50610a5260048036036020811015610a4257600080fd5b50356001600160a01b0316611b6e565b6040805192835260208301919091528051918290030190f35b348015610a7757600080fd5b50610219611b96565b348015610a8c57600080fd5b50610a95611c50565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610acf578181015183820152602001610ab7565b50505050905090810190601f168015610afc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b1657600080fd5b506103a8611c80565b60035460ff1681565b610b30611c8f565b610b38611d0e565b600e55600b54610b489034611d75565b600b556040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a1610b86611dd6565b565b610b90611e53565b6010546001600160a01b031615801590610bb457506011546001600160a01b031615155b610c05576040805162461bcd60e51b815260206004820152601a60248201527f636f6e747261637420616464726573736573206e6f7420736574000000000000604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f737e471bd254cc455ba135c7ad67820ab7dc993fe0aa02a037fd0cd75d2d653a9181900360200190a1565b610c4f611eb2565b8151815160408051808201909152601781527f617272617973206c656e67746873206d69736d617463680000000000000000006020820152908214610d125760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cd7578181015183820152602001610cbf565b50505050905090810190601f168015610d045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000805b82811015610de957610d7d848281518110610d2e57fe5b602002602001015160046000888581518110610d4657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054611d7590919063ffffffff16565b60046000878481518110610d8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610ddf848281518110610dc857fe5b602002602001015183611d7590919063ffffffff16565b9150600101610d17565b50600854610df79082611d75565b6008818155600a5460408051808201909152918252670e8dede40daeac6d60c31b602083015290911115610e6c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b507fe69d325558610ba73c441901deb46d7f251108348dc5dc9447e8866774c12edc8484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610ed4578181015183820152602001610ebc565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610f13578181015183820152602001610efb565b5050505090500194505050505060405180910390a150505050565b600a54600954600092565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b038116600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610fc757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610fa9575b50505050509050919050565b600054600160b01b900460ff1680610ff55750600054600160a81b900460ff16155b156110db57611002611f40565b6012546001600160a01b031615611060576040805162461bcd60e51b815260206004820152601e60248201527f6e657720726577617264206d616e6167657220616c7265616479207365740000604482015290519081900360640190fd5b6001600160a01b0381166110bb576040805162461bcd60e51b815260206004820152601760248201527f6e657720726577617264206d616e61676572207a65726f000000000000000000604482015290519081900360640190fd5b601280546001600160a01b0319166001600160a01b0383161790556110e6565b6110e6600036611f75565b50565b6110f1611e53565b6003805460ff191690556040805130815290517fa2d2a6acb907bb897be972c8e6757c1bcffccc171055a61c54c7fa947c4918509181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611178576000546001600160a01b03166111e5565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b1580156111b857600080fd5b505afa1580156111cc573d6000803e3d6000fd5b505050506040513d60208110156111e257600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561122e57600080fd5b505afa158015611242573d6000803e3d6000fd5b505050506040513d602081101561125857600080fd5b505161129b576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611307576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b805442101561135d576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113f75780601f106113cc576101008083540402835291602001916113f7565b820191906000526020600020905b8154815290600101906020018083116113da57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061142b91508301826129b1565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106114735780518252601f199092019160209182019101611454565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114d5576040519150601f19603f3d011682016040523d82523d6000602084013e6114da565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611539816120f8565b50505050565b60076001609c1b0181565b611552611e53565b6001600160e01b031981166000908152600160205260409020546115bd576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061162d908301826129b1565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156116ce5780601f106116a3576101008083540402835291602001916116ce565b820191906000526020600020905b8154815290600101906020018083116116b157829003601f168201915b5050505050905082565b600854600954600a54600b54600c54600d54909192939495565b33600090815260066020526040902061170b9082612115565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561177d578181015183820152602001611765565b50505050905001935050505060405180910390a150565b600054600160a01b900460ff16156117ea576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6011546001600160a01b031681565b600054600160b01b900460ff168061187e5750600054600160a81b900460ff16155b156110db5761188b611f40565b600f80546001600160a01b0319166001600160a01b0383161790556110e6565b600f546001600160a01b031681565b6118c2611130565b6001600160a01b0316336001600160a01b03161461191e576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61195761195283836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250612128565b612255565b6119618282612279565b5050565b61196d612316565b6002805414156119c4576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60028055836119d28161239c565b84846119de8282612453565b6119ea87878787612528565b5050600160025550611539611dd6565b336000908152600760205260409020611a139082612115565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360008381101561177d578181015183820152602001611765565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610fc7576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610fa95750505050509050919050565b600054600160a81b900460ff1681565b611b10611c8f565b600d819055600a54611b229082611d75565b600a5542600c556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6010546001600160a01b031690565b6001600160a01b03166000908152600460209081526040808320546005909252909120549091565b611b9e611e53565b600054600160a81b900460ff1615611bfd576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6040805180820190915260168152752b30b634b230ba37b92932bbb0b93226b0b730b3b2b960511b602082015290565b6012546001600160a01b031681565b60105460408051808201909152600e81526d696e666c6174696f6e206f6e6c7960901b6020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600e54600090611d1e9034611d75565b90504781811115611d675761dead6108fc611d3983856126e9565b6040518115909202916000818181858888f19350505050158015611d61573d6000803e3d6000fd5b50611d71565b81811015611d7157fe5b5090565b600082820183811015611dcf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611dde612746565b47146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b611e5b611155565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600f5460408051808201909152601781527f726577617264206469737472696275746f72206f6e6c790000000000000000006020820152906001600160a01b031633146110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b600054600160b01b900460ff1615611f6d57333014611f5b57fe5b6000805460ff60b01b19169055610b86565b610b86611e53565b611f7d611e53565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fc557600080fd5b505afa158015611fd9573d6000803e3d6000fd5b505050506040513d6020811015611fef57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612073939285019201906129f5565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e8215612111578181f35b8181fd5b61211e8261275f565b61196182826127d7565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561216c578181015183820152602001612154565b50505050905090810190601f1680156121995780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015612201578681815181106121cf57fe5b60200260200101518314156121f9578581815181106121ea57fe5b60200260200101519150612201565b6001016121ba565b506001600160a01b03811661224c576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b6122a582826040518060400160405280600981526020016824b7333630ba34b7b760b91b815250612128565b601060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506122f282826040518060400160405280600481526020016315d3985d60e21b815250612128565b601180546001600160a01b0319166001600160a01b03929092169190911790555050565b60035460408051808201909152601a81527f726577617264206d616e6167657220646561637469766174656400000000000060208201529060ff166110e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b0381163314806123d857506001600160a01b038116600090815260066020908152604080832033845260010190915290205415155b6040518060400160405280601681526020017537b7363c9037bbb732b91037b91032bc32b1baba37b960511b815250906119615760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b336001600160a01b038316148061247b5750816001600160a01b0316816001600160a01b0316145b806124ae57506001600160a01b038083166000908152600760209081526040808320938516835260019093019052205415155b604051806040016040528060158152602001741c9958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b8152509061162d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b60408051808201909152600e81526d726563697069656e74207a65726f60901b60208201526001600160a01b0384166125a25760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506125ab611d0e565b506001600160a01b0384166000908152600560205260409020546125cf9083611d75565b6001600160a01b0385166000908152600560208181526040808420859055600482529283902054918152825180840190935260088352670e8dede40daeac6d60c31b90830152909111156126645760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b506009546126729083611d75565b600955801561268a576126858383612808565b612694565b612694838361287c565b826001600160a01b0316846001600160a01b03167f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7846040518082815260200191505060405180910390a3505047600e555050565b600082821115612740576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006111e5600954600b546126e990919063ffffffff16565b8054156110e657805460018201906000908390600019810190811061278057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400181205580548190806127b057fe5b600082815260209020810160001990810180546001600160a01b031916905501905561275f565b60005b815181101561162d57612800838383815181106127f357fe5b6020026020010151612948565b6001016127da565b8015611961576011546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b15801561285f57600080fd5b505af1158015612873573d6000803e3d6000fd5b50505050505050565b8015611961576040516000906001600160a01b0384169083908381818185875af1925050503d80600081146128cd576040519150601f19603f3d011682016040523d82523d6000602084013e6128d2565b606091505b50509050806040518060400160405280600c81526020016b18db185a5b4819985a5b195960a21b815250906115395760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cd7578181015183820152602001610cbf565b6001600160a01b03811660009081526001830160205260409020541561296d57611961565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f106129d757506110e6565b601f0160209004906000526020600020908101906110e69190612a79565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612a2b5760008555612a71565b82601f10612a4457805160ff1916838001178555612a71565b82800160010185558215612a71579182015b82811115612a71578251825591602001919060010190612a56565b50611d719291505b5b80821115611d715760008155600101612a7a56fea26469706673582212200e86f78870ee5b3e7de07bbb0a4d40f60e269f66be2d4bbed9176874cbe1197f64736f6c63430007060033",
739
739
  "linkReferences": {},
740
740
  "deployedLinkReferences": {}
741
741
  }
@@ -0,0 +1,121 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IAddressBinder",
4
+ "sourceName": "contracts/userInterfaces/IAddressBinder.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "bytes",
12
+ "name": "publicKey",
13
+ "type": "bytes"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "bytes20",
18
+ "name": "pAddress",
19
+ "type": "bytes20"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "address",
24
+ "name": "cAddress",
25
+ "type": "address"
26
+ }
27
+ ],
28
+ "name": "AddressesRegistered",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "inputs": [
33
+ {
34
+ "internalType": "address",
35
+ "name": "_cAddress",
36
+ "type": "address"
37
+ }
38
+ ],
39
+ "name": "cAddressToPAddress",
40
+ "outputs": [
41
+ {
42
+ "internalType": "bytes20",
43
+ "name": "_pAddress",
44
+ "type": "bytes20"
45
+ }
46
+ ],
47
+ "stateMutability": "view",
48
+ "type": "function"
49
+ },
50
+ {
51
+ "inputs": [
52
+ {
53
+ "internalType": "bytes20",
54
+ "name": "_pAddress",
55
+ "type": "bytes20"
56
+ }
57
+ ],
58
+ "name": "pAddressToCAddress",
59
+ "outputs": [
60
+ {
61
+ "internalType": "address",
62
+ "name": "_cAddress",
63
+ "type": "address"
64
+ }
65
+ ],
66
+ "stateMutability": "view",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "bytes",
73
+ "name": "_publicKey",
74
+ "type": "bytes"
75
+ },
76
+ {
77
+ "internalType": "bytes20",
78
+ "name": "_pAddress",
79
+ "type": "bytes20"
80
+ },
81
+ {
82
+ "internalType": "address",
83
+ "name": "_cAddress",
84
+ "type": "address"
85
+ }
86
+ ],
87
+ "name": "registerAddresses",
88
+ "outputs": [],
89
+ "stateMutability": "nonpayable",
90
+ "type": "function"
91
+ },
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "bytes",
96
+ "name": "_publicKey",
97
+ "type": "bytes"
98
+ }
99
+ ],
100
+ "name": "registerPublicKey",
101
+ "outputs": [
102
+ {
103
+ "internalType": "bytes20",
104
+ "name": "_pAddress",
105
+ "type": "bytes20"
106
+ },
107
+ {
108
+ "internalType": "address",
109
+ "name": "_cAddress",
110
+ "type": "address"
111
+ }
112
+ ],
113
+ "stateMutability": "nonpayable",
114
+ "type": "function"
115
+ }
116
+ ],
117
+ "bytecode": "0x",
118
+ "deployedBytecode": "0x",
119
+ "linkReferences": {},
120
+ "deployedLinkReferences": {}
121
+ }
@@ -63,7 +63,7 @@
63
63
  "inputs": [
64
64
  {
65
65
  "internalType": "address",
66
- "name": "account",
66
+ "name": "_who",
67
67
  "type": "address"
68
68
  }
69
69
  ],