@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
@@ -0,0 +1,168 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PChainStakeMirrorVerifier",
4
+ "sourceName": "contracts/staking/implementation/PChainStakeMirrorVerifier.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract IPChainStakeMirrorMultiSigVoting",
10
+ "name": "_pChainStakeMirrorVoting",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "_minStakeDurationSeconds",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "_maxStakeDurationSeconds",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "_minStakeAmountGwei",
26
+ "type": "uint256"
27
+ },
28
+ {
29
+ "internalType": "uint256",
30
+ "name": "_maxStakeAmountGwei",
31
+ "type": "uint256"
32
+ }
33
+ ],
34
+ "stateMutability": "nonpayable",
35
+ "type": "constructor"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "maxStakeAmountGwei",
40
+ "outputs": [
41
+ {
42
+ "internalType": "uint256",
43
+ "name": "",
44
+ "type": "uint256"
45
+ }
46
+ ],
47
+ "stateMutability": "view",
48
+ "type": "function"
49
+ },
50
+ {
51
+ "inputs": [],
52
+ "name": "maxStakeDurationSeconds",
53
+ "outputs": [
54
+ {
55
+ "internalType": "uint256",
56
+ "name": "",
57
+ "type": "uint256"
58
+ }
59
+ ],
60
+ "stateMutability": "view",
61
+ "type": "function"
62
+ },
63
+ {
64
+ "inputs": [],
65
+ "name": "minStakeAmountGwei",
66
+ "outputs": [
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "",
70
+ "type": "uint256"
71
+ }
72
+ ],
73
+ "stateMutability": "view",
74
+ "type": "function"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "minStakeDurationSeconds",
79
+ "outputs": [
80
+ {
81
+ "internalType": "uint256",
82
+ "name": "",
83
+ "type": "uint256"
84
+ }
85
+ ],
86
+ "stateMutability": "view",
87
+ "type": "function"
88
+ },
89
+ {
90
+ "inputs": [],
91
+ "name": "pChainStakeMirrorVoting",
92
+ "outputs": [
93
+ {
94
+ "internalType": "contract IPChainStakeMirrorMultiSigVoting",
95
+ "name": "",
96
+ "type": "address"
97
+ }
98
+ ],
99
+ "stateMutability": "view",
100
+ "type": "function"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "components": [
106
+ {
107
+ "internalType": "bytes32",
108
+ "name": "txId",
109
+ "type": "bytes32"
110
+ },
111
+ {
112
+ "internalType": "uint8",
113
+ "name": "stakingType",
114
+ "type": "uint8"
115
+ },
116
+ {
117
+ "internalType": "bytes20",
118
+ "name": "inputAddress",
119
+ "type": "bytes20"
120
+ },
121
+ {
122
+ "internalType": "bytes20",
123
+ "name": "nodeId",
124
+ "type": "bytes20"
125
+ },
126
+ {
127
+ "internalType": "uint64",
128
+ "name": "startTime",
129
+ "type": "uint64"
130
+ },
131
+ {
132
+ "internalType": "uint64",
133
+ "name": "endTime",
134
+ "type": "uint64"
135
+ },
136
+ {
137
+ "internalType": "uint64",
138
+ "name": "weight",
139
+ "type": "uint64"
140
+ }
141
+ ],
142
+ "internalType": "struct IPChainStakeMirrorVerifier.PChainStake",
143
+ "name": "_stakeData",
144
+ "type": "tuple"
145
+ },
146
+ {
147
+ "internalType": "bytes32[]",
148
+ "name": "_merkleProof",
149
+ "type": "bytes32[]"
150
+ }
151
+ ],
152
+ "name": "verifyStake",
153
+ "outputs": [
154
+ {
155
+ "internalType": "bool",
156
+ "name": "",
157
+ "type": "bool"
158
+ }
159
+ ],
160
+ "stateMutability": "view",
161
+ "type": "function"
162
+ }
163
+ ],
164
+ "bytecode": "0x61010060405234801561001157600080fd5b506040516108db3803806108db833981016040819052610030916100ae565b828411156100595760405162461bcd60e51b815260040161005090610101565b60405180910390fd5b808211156100795760405162461bcd60e51b81526004016100509061012c565b600080546001600160a01b0319166001600160a01b03969096169590951790945560809290925260a05260c05260e052610155565b600080600080600060a086880312156100c5578081fd5b85516001600160a01b03811681146100db578182fd5b602087015160408801516060890151608090990151929a91995097965090945092505050565b602080825260119082015270191d5c985d1a5bdb9cc81a5b9d985b1a59607a1b604082015260600190565b6020808252600f908201526e185b5bdd5b9d1cc81a5b9d985b1a59608a1b604082015260600190565b60805160a05160c05160e05161073f61019c6000398060f8528061025e52508060d4528061021952508061012b52806101ed5250806101c25280610387525061073f6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063207159ff146100675780636e45ac8114610085578063acbf48fa1461008d578063c1da5a02146100a2578063e7fca64a146100aa578063efc707c6146100ca575b600080fd5b61006f6100d2565b60405161007c91906106eb565b60405180910390f35b61006f6100f6565b61009561011a565b60405161007c9190610628565b61006f610129565b6100bd6100b836600461056d565b61014d565b60405161007c919061061d565b61006f610385565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061015f60a08501608086016105f5565b67ffffffffffffffff1661017960c0860160a087016105f5565b67ffffffffffffffff1610156101915750600061037e565b60006101a360a08601608087016105f5565b6101b360c0870160a088016105f5565b0367ffffffffffffffff1690507f0000000000000000000000000000000000000000000000000000000000000000811015801561021057507f00000000000000000000000000000000000000000000000000000000000000008111155b801561025557507f000000000000000000000000000000000000000000000000000000000000000061024860e0870160c088016105f5565b67ffffffffffffffff1610155b801561029a57507f000000000000000000000000000000000000000000000000000000000000000061028d60e0870160c088016105f5565b67ffffffffffffffff1611155b801561037a575061037a84848080602002602001604051908101604052809392919081815260200183836020028082843760009201829052505461036c93506001600160a01b03169150635303548b90506102fb60a08b0160808c016105f5565b6040518263ffffffff1660e01b815260040161031791906106f4565b60206040518083038186803b15801561032f57600080fd5b505afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610555565b6103a9565b61037588610432565b610462565b9150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054604051630aab8ba560e01b81526001600160a01b0390911690630aab8ba5906103da9085906004016106eb565b60206040518083038186803b1580156103f257600080fd5b505afa158015610406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042a9190610555565b90505b919050565b600081604051602001610445919061063c565b604051602081830303815290604052805190602001209050919050565b600061046f848484610477565b949350505050565b600081815b855181101561051557600086828151811061049357fe5b602002602001015190508083116104da578281604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925061050c565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b5060010161047c565b509092149392505050565b80356bffffffffffffffffffffffff198116811461042d57600080fd5b803567ffffffffffffffff8116811461042d57600080fd5b600060208284031215610566578081fd5b5051919050565b6000806000838503610100811215610583578283fd5b60e0811215610590578283fd5b5083925060e084013567ffffffffffffffff808211156105ae578384fd5b818601915086601f8301126105c1578384fd5b8135818111156105cf578485fd5b87602080830285010111156105e2578485fd5b6020830194508093505050509250925092565b600060208284031215610606578081fd5b61037e8261053d565b67ffffffffffffffff169052565b901515815260200190565b6001600160a01b0391909116815260200190565b8135815260e08101602083013560ff811680821461065957600080fd5b60208401525061066b60408401610520565b6bffffffffffffffffffffffff1981811660408501528061068e60608701610520565b166060850152505067ffffffffffffffff6106ab6080850161053d565b1660808301526106bd60a0840161053d565b6106ca60a084018261060f565b506106d760c0840161053d565b6106e460c084018261060f565b5092915050565b90815260200190565b67ffffffffffffffff9190911681526020019056fea2646970667358221220a3862b67caa1303dfab124500d98e2f22c7bdf433b079c87eecb0ea59517b56264736f6c63430007060033",
165
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063207159ff146100675780636e45ac8114610085578063acbf48fa1461008d578063c1da5a02146100a2578063e7fca64a146100aa578063efc707c6146100ca575b600080fd5b61006f6100d2565b60405161007c91906106eb565b60405180910390f35b61006f6100f6565b61009561011a565b60405161007c9190610628565b61006f610129565b6100bd6100b836600461056d565b61014d565b60405161007c919061061d565b61006f610385565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061015f60a08501608086016105f5565b67ffffffffffffffff1661017960c0860160a087016105f5565b67ffffffffffffffff1610156101915750600061037e565b60006101a360a08601608087016105f5565b6101b360c0870160a088016105f5565b0367ffffffffffffffff1690507f0000000000000000000000000000000000000000000000000000000000000000811015801561021057507f00000000000000000000000000000000000000000000000000000000000000008111155b801561025557507f000000000000000000000000000000000000000000000000000000000000000061024860e0870160c088016105f5565b67ffffffffffffffff1610155b801561029a57507f000000000000000000000000000000000000000000000000000000000000000061028d60e0870160c088016105f5565b67ffffffffffffffff1611155b801561037a575061037a84848080602002602001604051908101604052809392919081815260200183836020028082843760009201829052505461036c93506001600160a01b03169150635303548b90506102fb60a08b0160808c016105f5565b6040518263ffffffff1660e01b815260040161031791906106f4565b60206040518083038186803b15801561032f57600080fd5b505afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610555565b6103a9565b61037588610432565b610462565b9150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054604051630aab8ba560e01b81526001600160a01b0390911690630aab8ba5906103da9085906004016106eb565b60206040518083038186803b1580156103f257600080fd5b505afa158015610406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042a9190610555565b90505b919050565b600081604051602001610445919061063c565b604051602081830303815290604052805190602001209050919050565b600061046f848484610477565b949350505050565b600081815b855181101561051557600086828151811061049357fe5b602002602001015190508083116104da578281604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925061050c565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b5060010161047c565b509092149392505050565b80356bffffffffffffffffffffffff198116811461042d57600080fd5b803567ffffffffffffffff8116811461042d57600080fd5b600060208284031215610566578081fd5b5051919050565b6000806000838503610100811215610583578283fd5b60e0811215610590578283fd5b5083925060e084013567ffffffffffffffff808211156105ae578384fd5b818601915086601f8301126105c1578384fd5b8135818111156105cf578485fd5b87602080830285010111156105e2578485fd5b6020830194508093505050509250925092565b600060208284031215610606578081fd5b61037e8261053d565b67ffffffffffffffff169052565b901515815260200190565b6001600160a01b0391909116815260200190565b8135815260e08101602083013560ff811680821461065957600080fd5b60208401525061066b60408401610520565b6bffffffffffffffffffffffff1981811660408501528061068e60608701610520565b166060850152505067ffffffffffffffff6106ab6080850161053d565b1660808301526106bd60a0840161053d565b6106ca60a084018261060f565b506106d760c0840161053d565b6106e460c084018261060f565b5092915050565b90815260200190565b67ffffffffffffffff9190911681526020019056fea2646970667358221220a3862b67caa1303dfab124500d98e2f22c7bdf433b079c87eecb0ea59517b56264736f6c63430007060033",
166
+ "linkReferences": {},
167
+ "deployedLinkReferences": {}
168
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IIPChainStakeMirrorVerifier",
4
+ "sourceName": "contracts/staking/interface/IIPChainStakeMirrorVerifier.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "components": [
10
+ {
11
+ "internalType": "bytes32",
12
+ "name": "txId",
13
+ "type": "bytes32"
14
+ },
15
+ {
16
+ "internalType": "uint8",
17
+ "name": "stakingType",
18
+ "type": "uint8"
19
+ },
20
+ {
21
+ "internalType": "bytes20",
22
+ "name": "inputAddress",
23
+ "type": "bytes20"
24
+ },
25
+ {
26
+ "internalType": "bytes20",
27
+ "name": "nodeId",
28
+ "type": "bytes20"
29
+ },
30
+ {
31
+ "internalType": "uint64",
32
+ "name": "startTime",
33
+ "type": "uint64"
34
+ },
35
+ {
36
+ "internalType": "uint64",
37
+ "name": "endTime",
38
+ "type": "uint64"
39
+ },
40
+ {
41
+ "internalType": "uint64",
42
+ "name": "weight",
43
+ "type": "uint64"
44
+ }
45
+ ],
46
+ "internalType": "struct IPChainStakeMirrorVerifier.PChainStake",
47
+ "name": "_stakeData",
48
+ "type": "tuple"
49
+ },
50
+ {
51
+ "internalType": "bytes32[]",
52
+ "name": "_merkleProof",
53
+ "type": "bytes32[]"
54
+ }
55
+ ],
56
+ "name": "verifyStake",
57
+ "outputs": [
58
+ {
59
+ "internalType": "bool",
60
+ "name": "",
61
+ "type": "bool"
62
+ }
63
+ ],
64
+ "stateMutability": "view",
65
+ "type": "function"
66
+ }
67
+ ],
68
+ "bytecode": "0x",
69
+ "deployedBytecode": "0x",
70
+ "linkReferences": {},
71
+ "deployedLinkReferences": {}
72
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PChainStakeHistory",
4
+ "sourceName": "contracts/staking/lib/PChainStakeHistory.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "MAX_NODE_IDS",
9
+ "outputs": [
10
+ {
11
+ "internalType": "uint256",
12
+ "name": "",
13
+ "type": "uint256"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ }
19
+ ],
20
+ "bytecode": "0x608b610024600b82828239805160001a607314601757fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063aceeec84146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b60038156fea2646970667358221220df66aa2546358b034f1b98e428be076b8d6a2c9439c52486d308a57032c3fd6f64736f6c63430007060033",
21
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063aceeec84146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b60038156fea2646970667358221220df66aa2546358b034f1b98e428be076b8d6a2c9439c52486d308a57032c3fd6f64736f6c63430007060033",
22
+ "linkReferences": {},
23
+ "deployedLinkReferences": {}
24
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "CombinedNat",
4
+ "sourceName": "contracts/token/implementation/CombinedNat.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract WNat",
10
+ "name": "_wNat",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "contract PChainStakeMirror",
15
+ "name": "_pChainStakeMirror",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "address",
26
+ "name": "_owner",
27
+ "type": "address"
28
+ }
29
+ ],
30
+ "name": "balanceOf",
31
+ "outputs": [
32
+ {
33
+ "internalType": "uint256",
34
+ "name": "",
35
+ "type": "uint256"
36
+ }
37
+ ],
38
+ "stateMutability": "view",
39
+ "type": "function"
40
+ },
41
+ {
42
+ "inputs": [
43
+ {
44
+ "internalType": "address",
45
+ "name": "_owner",
46
+ "type": "address"
47
+ },
48
+ {
49
+ "internalType": "uint256",
50
+ "name": "_blockNumber",
51
+ "type": "uint256"
52
+ }
53
+ ],
54
+ "name": "balanceOfAt",
55
+ "outputs": [
56
+ {
57
+ "internalType": "uint256",
58
+ "name": "",
59
+ "type": "uint256"
60
+ }
61
+ ],
62
+ "stateMutability": "view",
63
+ "type": "function"
64
+ },
65
+ {
66
+ "inputs": [],
67
+ "name": "pChainStakeMirror",
68
+ "outputs": [
69
+ {
70
+ "internalType": "contract PChainStakeMirror",
71
+ "name": "",
72
+ "type": "address"
73
+ }
74
+ ],
75
+ "stateMutability": "view",
76
+ "type": "function"
77
+ },
78
+ {
79
+ "inputs": [],
80
+ "name": "totalSupply",
81
+ "outputs": [
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "stateMutability": "view",
89
+ "type": "function"
90
+ },
91
+ {
92
+ "inputs": [
93
+ {
94
+ "internalType": "uint256",
95
+ "name": "_blockNumber",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "name": "totalSupplyAt",
100
+ "outputs": [
101
+ {
102
+ "internalType": "uint256",
103
+ "name": "",
104
+ "type": "uint256"
105
+ }
106
+ ],
107
+ "stateMutability": "view",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "wNat",
113
+ "outputs": [
114
+ {
115
+ "internalType": "contract WNat",
116
+ "name": "",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "stateMutability": "view",
121
+ "type": "function"
122
+ }
123
+ ],
124
+ "bytecode": "0x60c060405234801561001057600080fd5b506040516107883803806107888339818101604052604081101561003357600080fd5b5080516020909101516001600160a01b038216610084576040805162461bcd60e51b815260206004820152600a6024820152695f774e6174207a65726f60b01b604482015290519081900360640190fd5b6001600160a01b0381166100df576040805162461bcd60e51b815260206004820152601760248201527f5f70436861696e5374616b654d6972726f72207a65726f000000000000000000604482015290519081900360640190fd5b6001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61063f610149600039806101235280610244528061035e528061038752806104965250806101c0528061030c52806104405280610545528061058d525061063f6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806318160ddd146100675780634ee2cd7e1461008157806362d9c89a146100ad57806370a08231146100d1578063981b24d0146100f75780639edbf00714610114575b600080fd5b61006f61011c565b60408051918252519081900360200190f35b61006f6004803603604081101561009757600080fd5b506001600160a01b03813516906020013561023d565b6100b561035c565b604080516001600160a01b039092168252519081900360200190f35b61006f600480360360208110156100e757600080fd5b50356001600160a01b0316610380565b61006f6004803603602081101561010d57600080fd5b503561048f565b6100b561058b565b60006102387f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017a57600080fd5b505afa15801561018e573d6000803e3d6000fd5b505050506040513d60208110156101a457600080fd5b5051604080516318160ddd60e01b815290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916318160ddd916004808301926020929190829003018186803b15801561020657600080fd5b505afa15801561021a573d6000803e3d6000fd5b505050506040513d602081101561023057600080fd5b5051906105af565b905090565b60006103557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e85856040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156102b757600080fd5b505afa1580156102cb573d6000803e3d6000fd5b505050506040513d60208110156102e157600080fd5b50516040805163277166bf60e11b81526001600160a01b0387811660048301526024820187905291517f000000000000000000000000000000000000000000000000000000000000000090921691634ee2cd7e91604480820192602092909190829003018186803b15801561020657600080fd5b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006104897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103f257600080fd5b505afa158015610406573d6000803e3d6000fd5b505050506040513d602081101561041c57600080fd5b5051604080516370a0823160e01b81526001600160a01b03868116600483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916370a0823191602480820192602092909190829003018186803b15801561020657600080fd5b92915050565b60006104897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663981b24d0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156104f857600080fd5b505afa15801561050c573d6000803e3d6000fd5b505050506040513d602081101561052257600080fd5b505160408051630981b24d60e41b81526004810186905290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163981b24d0916024808301926020929190829003018186803b15801561020657600080fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b600082820183811015610355576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfea2646970667358221220f3d1f98bbcf55228bb6ccaf74c7e6882587a98302d3d341332876d6a79653e8a64736f6c63430007060033",
125
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806318160ddd146100675780634ee2cd7e1461008157806362d9c89a146100ad57806370a08231146100d1578063981b24d0146100f75780639edbf00714610114575b600080fd5b61006f61011c565b60408051918252519081900360200190f35b61006f6004803603604081101561009757600080fd5b506001600160a01b03813516906020013561023d565b6100b561035c565b604080516001600160a01b039092168252519081900360200190f35b61006f600480360360208110156100e757600080fd5b50356001600160a01b0316610380565b61006f6004803603602081101561010d57600080fd5b503561048f565b6100b561058b565b60006102387f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017a57600080fd5b505afa15801561018e573d6000803e3d6000fd5b505050506040513d60208110156101a457600080fd5b5051604080516318160ddd60e01b815290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916318160ddd916004808301926020929190829003018186803b15801561020657600080fd5b505afa15801561021a573d6000803e3d6000fd5b505050506040513d602081101561023057600080fd5b5051906105af565b905090565b60006103557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e85856040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156102b757600080fd5b505afa1580156102cb573d6000803e3d6000fd5b505050506040513d60208110156102e157600080fd5b50516040805163277166bf60e11b81526001600160a01b0387811660048301526024820187905291517f000000000000000000000000000000000000000000000000000000000000000090921691634ee2cd7e91604480820192602092909190829003018186803b15801561020657600080fd5b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006104897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103f257600080fd5b505afa158015610406573d6000803e3d6000fd5b505050506040513d602081101561041c57600080fd5b5051604080516370a0823160e01b81526001600160a01b03868116600483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916370a0823191602480820192602092909190829003018186803b15801561020657600080fd5b92915050565b60006104897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663981b24d0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156104f857600080fd5b505afa15801561050c573d6000803e3d6000fd5b505050506040513d602081101561052257600080fd5b505160408051630981b24d60e41b81526004810186905290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163981b24d0916024808301926020929190829003018186803b15801561020657600080fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b600082820183811015610355576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfea2646970667358221220f3d1f98bbcf55228bb6ccaf74c7e6882587a98302d3d341332876d6a79653e8a64736f6c63430007060033",
126
+ "linkReferences": {},
127
+ "deployedLinkReferences": {}
128
+ }
@@ -9,6 +9,11 @@
9
9
  "internalType": "contract IVPToken",
10
10
  "name": "_ownerToken",
11
11
  "type": "address"
12
+ },
13
+ {
14
+ "internalType": "contract IPChainStakeMirror",
15
+ "name": "_pChainStakeMirror",
16
+ "type": "address"
12
17
  }
13
18
  ],
14
19
  "stateMutability": "nonpayable",
@@ -226,6 +231,19 @@
226
231
  "stateMutability": "view",
227
232
  "type": "function"
228
233
  },
234
+ {
235
+ "inputs": [],
236
+ "name": "pChainStakeMirror",
237
+ "outputs": [
238
+ {
239
+ "internalType": "contract IPChainStakeMirror",
240
+ "name": "",
241
+ "type": "address"
242
+ }
243
+ ],
244
+ "stateMutability": "view",
245
+ "type": "function"
246
+ },
229
247
  {
230
248
  "inputs": [
231
249
  {
@@ -317,8 +335,8 @@
317
335
  "type": "function"
318
336
  }
319
337
  ],
320
- "bytecode": "0x60a060405234801561001057600080fd5b506040516118bb3803806118bb8339818101604052602081101561003357600080fd5b50516001600160a01b03811661007a5760405162461bcd60e51b815260040180806020018281038252602c81526020018061188f602c913960400191505060405180910390fd5b606081901b6001600160601b0319166080526001600160a01b03166117ca6100c5600039806102f152806104c052806105fc528061065a5280610749528061090d52506117ca6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639ab24eb01161008c578063b3e871ee11610066578063b3e871ee1461022c578063eadb436214610252578063f6a494af14610294578063f7ce0ddf146102ba576100ea565b80639ab24eb0146101f65780639ca20e4e1461021c578063a72ec4b614610224576100ea565b80635c19a95c116100c85780635c19a95c1461019457806365371883146101ba57806392ab89bb146101c257806392bfe6d8146101ca576100ea565b806313de97f5146100ef57806329a59ff21461010e5780633c028e9d1461014c575b600080fd5b61010c6004803603602081101561010557600080fd5b50356102e6565b005b61013a6004803603604081101561012457600080fd5b506001600160a01b0381351690602001356103da565b60408051918252519081900360200190f35b6101786004803603604081101561016257600080fd5b506001600160a01b038135169060200135610450565b604080516001600160a01b039092168252519081900360200190f35b61010c600480360360208110156101aa57600080fd5b50356001600160a01b031661045e565b6101786105fa565b61010c61061e565b61013a600480360360408110156101e057600080fd5b506001600160a01b03813516906020013561062a565b61013a6004803603602081101561020c57600080fd5b50356001600160a01b0316610708565b61017861071c565b61013a61072b565b6101786004803603602081101561024257600080fd5b50356001600160a01b0316610731565b61010c600480360360a081101561026857600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561073e565b61010c600480360360208110156102aa57600080fd5b50356001600160a01b0316610902565b61013a600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610994565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610356576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6002548110156103975760405162461bcd60e51b81526004018080602001828103825260288152602001806117176028913960400191505060405180910390fd5b4381106103d55760405162461bcd60e51b81526004018080602001828103825260218152602001806116f66021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b03163314610434576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104479060009085908590610a01565b90505b92915050565b600061044760018484610a48565b6001600160a01b0381163314156104bc576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b50519050600061056433610731565b90506001600160a01b0381161561058057610580338284610a75565b61058c60013385610afb565b6002805461059f91600191339190610b23565b506001600160a01b038316156105ba576105ba338484610b57565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610628600061045e565b565b600080610638818585610b71565b905060006106468585610450565b90506001600160a01b0381166107005760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156106cd57600080fd5b505afa1580156106e1573d6000803e3d6000fd5b505050506040513d60208110156106f757600080fd5b50519290920191505b509392505050565b6000610714824361062a565b90505b919050565b6003546001600160a01b031681565b60025490565b6000610714600183610b93565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ae576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161415610815576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b03851615158061083457506001600160a01b03841615155b61083d57600080fd5b600061084886610731565b9050600061085586610731565b90506001600160a01b038716610884576001600160a01b0381161561087f5761087f868285610b57565b6108f9565b6001600160a01b0386166108ac576001600160a01b0382161561087f5761087f878385610a75565b806001600160a01b0316826001600160a01b0316146108f9576001600160a01b038216156108df576108df878385610a75565b6001600160a01b038116156108f9576108f9868285610b57565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610972576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b031633146109ee576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104479060019085908590610b23565b60006001600160a01b03841615610a3c576001600160a01b0384166000908152602086905260409020610a35908484610bb4565b9050610a40565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610a6a8184610ca1565b9150505b9392505050565b6000610a818184610de4565b90506000610a8f8284610e05565b9050610a9d60008583610e62565b60028054610ab091600091879190610a01565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610b1d8183610e84565b50505050565b60006001600160a01b03841615610a3c576001600160a01b0384166000908152602086905260409020610a35908484611047565b6000610b638184610de4565b90506000610a8f82846110f5565b6001600160a01b0382166000908152602084905260408120610a6a818461114f565b6001600160a01b0381166000908152602083905260408120610a4081611287565b600081610bc357506000610a6e565b6001840154600160401b90046001600160401b031680610be7576000915050610a6e565b60018501546001600160401b03166000610c0d610c0483886110f5565b600185036112cf565b9050815b8181108015610c42575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b15610c5e57600081815260208990526040812055600101610c11565b82811115610c9357610c6f816112e5565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610cc857600091505061044a565b4383101580610cfa57506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610d2257600019016000908152602084905260409020546001600160a01b0316905061044a565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610d9b578015610d905760405162461bcd60e51b81526004018080602001828103825260308152602001806117656030913960400191505060405180910390fd5b60009250505061044a565b6001850154600090610dc19087908490600160401b90046001600160401b03168861132d565b6000908152602087905260409020546001600160a01b0316935050505092915050565b6001600160a01b0381166000908152602083905260408120610a40816113b7565b600082821115610e5c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610b1d81836113ff565b6001820154600160401b90046001600160401b031680610f40576040518060400160405280836001600160a01b03168152602001610ec1436112e5565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611042565b600019810160009081526020849052604090208054600160a01b90046001600160401b031643811415610f8b5781546001600160a01b0319166001600160a01b03851617825561103f565b804311610f9457fe5b6040518060400160405280856001600160a01b03168152602001610fb7436112e5565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161105657506000610a6e565b6001840154600160401b90046001600160401b03168061107a576000915050610a6e565b60018501546001600160401b03166000611097610c0483886110f5565b9050815b81811080156110cc575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b15610c5e57600081815260208990526040902080546001600160e01b031916905560010161109b565b600082820183811015610447576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001820154600090600160401b90046001600160401b03168061117657600091505061044a565b43831015806111a857506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b156111d057600019016000908152602084905260409020546001600160c01b0316905061044a565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b9091041684101561123e578015610d905760405162461bcd60e51b81526004018080602001828103825260308152602001806117656030913960400191505060405180910390fd5b60018501546000906112649087908490600160401b90046001600160401b0316886115c0565b6000908152602087905260409020546001600160c01b0316935050505092915050565b6001810154600090600160401b90046001600160401b0316806112ae576000915050610717565b6000190160009081526020929092525060409020546001600160a01b031690565b60008183106112de5781610447565b5090919050565b6000600160401b82106113295760405162461bcd60e51b815260040180806020018281038252602681526020018061173f6026913960400191505060405180910390fd5b5090565b6000838161133c856001610e05565b90505b818111156113ad5760006113696002611363600161135d86886110f5565b906110f5565b90611634565b600081815260208a90526040902054909150600160a01b90046001600160401b03168510611399578092506113a7565b6113a4816001610e05565b91505b5061133f565b5095945050505050565b6001810154600090600160401b90046001600160401b0316806113de576000915050610717565b6000190160009081526020929092525060409020546001600160c01b031690565b6001820154600160401b90046001600160401b0316806114b657604051806040016040528061142d8461169b565b6001600160c01b03168152602001611444436112e5565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611042565b600019810160009081526020849052604090208054600160c01b90046001600160401b03164381141561150c576114ec8461169b565b82546001600160c01b0319166001600160c01b039190911617825561103f565b80431161151557fe5b60405180604001604052806115298661169b565b6001600160c01b03168152602001611540436112e5565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b600083816115cf856001610e05565b90505b818111156113ad5760006115f06002611363600161135d86886110f5565b600081815260208a90526040902054909150600160c01b90046001600160401b031685106116205780925061162e565b61162b816001610e05565b91505b506115d2565b600080821161168a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161169357fe5b049392505050565b6000600160c01b8210611329576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fdfe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba26469706673582212205af1a345778002d4cd5ad31aa70604083ace937a249d7fe450026eab55e0af9564736f6c63430007060033676f7665726e616e6365566f7465506f776572206d7573742062656c6f6e6720746f2061205650546f6b656e",
321
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639ab24eb01161008c578063b3e871ee11610066578063b3e871ee1461022c578063eadb436214610252578063f6a494af14610294578063f7ce0ddf146102ba576100ea565b80639ab24eb0146101f65780639ca20e4e1461021c578063a72ec4b614610224576100ea565b80635c19a95c116100c85780635c19a95c1461019457806365371883146101ba57806392ab89bb146101c257806392bfe6d8146101ca576100ea565b806313de97f5146100ef57806329a59ff21461010e5780633c028e9d1461014c575b600080fd5b61010c6004803603602081101561010557600080fd5b50356102e6565b005b61013a6004803603604081101561012457600080fd5b506001600160a01b0381351690602001356103da565b60408051918252519081900360200190f35b6101786004803603604081101561016257600080fd5b506001600160a01b038135169060200135610450565b604080516001600160a01b039092168252519081900360200190f35b61010c600480360360208110156101aa57600080fd5b50356001600160a01b031661045e565b6101786105fa565b61010c61061e565b61013a600480360360408110156101e057600080fd5b506001600160a01b03813516906020013561062a565b61013a6004803603602081101561020c57600080fd5b50356001600160a01b0316610708565b61017861071c565b61013a61072b565b6101786004803603602081101561024257600080fd5b50356001600160a01b0316610731565b61010c600480360360a081101561026857600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561073e565b61010c600480360360208110156102aa57600080fd5b50356001600160a01b0316610902565b61013a600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610994565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610356576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6002548110156103975760405162461bcd60e51b81526004018080602001828103825260288152602001806117176028913960400191505060405180910390fd5b4381106103d55760405162461bcd60e51b81526004018080602001828103825260218152602001806116f66021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b03163314610434576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104479060009085908590610a01565b90505b92915050565b600061044760018484610a48565b6001600160a01b0381163314156104bc576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b50519050600061056433610731565b90506001600160a01b0381161561058057610580338284610a75565b61058c60013385610afb565b6002805461059f91600191339190610b23565b506001600160a01b038316156105ba576105ba338484610b57565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610628600061045e565b565b600080610638818585610b71565b905060006106468585610450565b90506001600160a01b0381166107005760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156106cd57600080fd5b505afa1580156106e1573d6000803e3d6000fd5b505050506040513d60208110156106f757600080fd5b50519290920191505b509392505050565b6000610714824361062a565b90505b919050565b6003546001600160a01b031681565b60025490565b6000610714600183610b93565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ae576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161415610815576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b03851615158061083457506001600160a01b03841615155b61083d57600080fd5b600061084886610731565b9050600061085586610731565b90506001600160a01b038716610884576001600160a01b0381161561087f5761087f868285610b57565b6108f9565b6001600160a01b0386166108ac576001600160a01b0382161561087f5761087f878385610a75565b806001600160a01b0316826001600160a01b0316146108f9576001600160a01b038216156108df576108df878385610a75565b6001600160a01b038116156108f9576108f9868285610b57565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610972576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b031633146109ee576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104479060019085908590610b23565b60006001600160a01b03841615610a3c576001600160a01b0384166000908152602086905260409020610a35908484610bb4565b9050610a40565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610a6a8184610ca1565b9150505b9392505050565b6000610a818184610de4565b90506000610a8f8284610e05565b9050610a9d60008583610e62565b60028054610ab091600091879190610a01565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610b1d8183610e84565b50505050565b60006001600160a01b03841615610a3c576001600160a01b0384166000908152602086905260409020610a35908484611047565b6000610b638184610de4565b90506000610a8f82846110f5565b6001600160a01b0382166000908152602084905260408120610a6a818461114f565b6001600160a01b0381166000908152602083905260408120610a4081611287565b600081610bc357506000610a6e565b6001840154600160401b90046001600160401b031680610be7576000915050610a6e565b60018501546001600160401b03166000610c0d610c0483886110f5565b600185036112cf565b9050815b8181108015610c42575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b15610c5e57600081815260208990526040812055600101610c11565b82811115610c9357610c6f816112e5565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610cc857600091505061044a565b4383101580610cfa57506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610d2257600019016000908152602084905260409020546001600160a01b0316905061044a565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610d9b578015610d905760405162461bcd60e51b81526004018080602001828103825260308152602001806117656030913960400191505060405180910390fd5b60009250505061044a565b6001850154600090610dc19087908490600160401b90046001600160401b03168861132d565b6000908152602087905260409020546001600160a01b0316935050505092915050565b6001600160a01b0381166000908152602083905260408120610a40816113b7565b600082821115610e5c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610b1d81836113ff565b6001820154600160401b90046001600160401b031680610f40576040518060400160405280836001600160a01b03168152602001610ec1436112e5565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611042565b600019810160009081526020849052604090208054600160a01b90046001600160401b031643811415610f8b5781546001600160a01b0319166001600160a01b03851617825561103f565b804311610f9457fe5b6040518060400160405280856001600160a01b03168152602001610fb7436112e5565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161105657506000610a6e565b6001840154600160401b90046001600160401b03168061107a576000915050610a6e565b60018501546001600160401b03166000611097610c0483886110f5565b9050815b81811080156110cc575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b15610c5e57600081815260208990526040902080546001600160e01b031916905560010161109b565b600082820183811015610447576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001820154600090600160401b90046001600160401b03168061117657600091505061044a565b43831015806111a857506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b156111d057600019016000908152602084905260409020546001600160c01b0316905061044a565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b9091041684101561123e578015610d905760405162461bcd60e51b81526004018080602001828103825260308152602001806117656030913960400191505060405180910390fd5b60018501546000906112649087908490600160401b90046001600160401b0316886115c0565b6000908152602087905260409020546001600160c01b0316935050505092915050565b6001810154600090600160401b90046001600160401b0316806112ae576000915050610717565b6000190160009081526020929092525060409020546001600160a01b031690565b60008183106112de5781610447565b5090919050565b6000600160401b82106113295760405162461bcd60e51b815260040180806020018281038252602681526020018061173f6026913960400191505060405180910390fd5b5090565b6000838161133c856001610e05565b90505b818111156113ad5760006113696002611363600161135d86886110f5565b906110f5565b90611634565b600081815260208a90526040902054909150600160a01b90046001600160401b03168510611399578092506113a7565b6113a4816001610e05565b91505b5061133f565b5095945050505050565b6001810154600090600160401b90046001600160401b0316806113de576000915050610717565b6000190160009081526020929092525060409020546001600160c01b031690565b6001820154600160401b90046001600160401b0316806114b657604051806040016040528061142d8461169b565b6001600160c01b03168152602001611444436112e5565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611042565b600019810160009081526020849052604090208054600160c01b90046001600160401b03164381141561150c576114ec8461169b565b82546001600160c01b0319166001600160c01b039190911617825561103f565b80431161151557fe5b60405180604001604052806115298661169b565b6001600160c01b03168152602001611540436112e5565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b600083816115cf856001610e05565b90505b818111156113ad5760006115f06002611363600161135d86886110f5565b600081815260208a90526040902054909150600160c01b90046001600160401b031685106116205780925061162e565b61162b816001610e05565b91505b506115d2565b600080821161168a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161169357fe5b049392505050565b6000600160c01b8210611329576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fdfe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba26469706673582212205af1a345778002d4cd5ad31aa70604083ace937a249d7fe450026eab55e0af9564736f6c63430007060033",
338
+ "bytecode": "0x60c060405234801561001057600080fd5b50604051611ac5380380611ac58339818101604052604081101561003357600080fd5b5080516020909101516001600160a01b03821661008a576040805162461bcd60e51b815260206004820152601060248201526f5f6f776e6572546f6b656e207a65726f60801b604482015290519081900360640190fd5b6001600160a01b0381166100e5576040805162461bcd60e51b815260206004820152601760248201527f5f70436861696e5374616b654d6972726f72207a65726f000000000000000000604482015290519081900360640190fd5b6001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61197661014f600039806104d652806106aa528061072f52806108c2525080610304528061058d52806106ce52806107f752806108905280610ab952506119766000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806392bfe6d811610097578063b3e871ee11610066578063b3e871ee1461023f578063eadb436214610265578063f6a494af146102a7578063f7ce0ddf146102cd576100f5565b806392bfe6d8146101dd5780639ab24eb0146102095780639ca20e4e1461022f578063a72ec4b614610237576100f5565b80635c19a95c116100d35780635c19a95c1461019f57806362d9c89a146101c557806365371883146101cd57806392ab89bb146101d5576100f5565b806313de97f5146100fa57806329a59ff2146101195780633c028e9d14610157575b600080fd5b6101176004803603602081101561011057600080fd5b50356102f9565b005b6101456004803603604081101561012f57600080fd5b506001600160a01b0381351690602001356103ed565b60408051918252519081900360200190f35b6101836004803603604081101561016d57600080fd5b506001600160a01b038135169060200135610463565b604080516001600160a01b039092168252519081900360200190f35b610117600480360360208110156101b557600080fd5b50356001600160a01b0316610471565b6101836106a8565b6101836106cc565b6101176106f0565b610145600480360360408110156101f357600080fd5b506001600160a01b0381351690602001356106fc565b6101456004803603602081101561021f57600080fd5b50356001600160a01b031661084f565b610183610863565b610145610872565b6101836004803603602081101561025557600080fd5b50356001600160a01b0316610878565b610117600480360360a081101561027b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610885565b610117600480360360208110156102bd57600080fd5b50356001600160a01b0316610aae565b610145600480360360408110156102e357600080fd5b506001600160a01b038135169060200135610b40565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610369576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6002548110156103aa5760405162461bcd60e51b81526004018080602001828103825260288152602001806118c36028913960400191505060405180910390fd5b4381106103e85760405162461bcd60e51b81526004018080602001828103825260218152602001806118a26021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b03163314610447576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60025461045a9060009085908590610bad565b90505b92915050565b600061045a60018484610bf4565b6001600160a01b0381163314156104cf576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60006106057f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561054157600080fd5b505afa158015610555573d6000803e3d6000fd5b505050506040513d602081101561056b57600080fd5b5051604080516370a0823160e01b815233600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d60208110156105fd57600080fd5b505190610c21565b9050600061061233610878565b90506001600160a01b0381161561062e5761062e338284610c7b565b61063a60013385610d01565b6002805461064d91600191339190610d29565b506001600160a01b0383161561066857610668338484610d5d565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106fa6000610471565b565b60008061070a818585610d77565b905060006107188585610463565b90506001600160a01b0381166108475760006108407f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e88886040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156107a257600080fd5b505afa1580156107b6573d6000803e3d6000fd5b505050506040513d60208110156107cc57600080fd5b50516040805163277166bf60e11b81526001600160a01b038a81166004830152602482018a905291517f000000000000000000000000000000000000000000000000000000000000000090921691634ee2cd7e91604480820192602092909190829003018186803b1580156105d357600080fd5b9290920191505b509392505050565b600061085b82436106fc565b90505b919050565b6003546001600160a01b031681565b60025490565b600061085b600183610d99565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108e45750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61092c576040805162461bcd60e51b81526020600482015260146024820152736f6e6c79206f776e657220636f6e74726163747360601b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161415610993576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b0385161515806109b257506001600160a01b03841615155b6109bb57600080fd5b60006001600160a01b038616156109da576109d586610878565b6109dd565b60005b905060006001600160a01b038616156109fe576109f986610878565b610a01565b60005b90506001600160a01b038716610a30576001600160a01b03811615610a2b57610a2b868285610d5d565b610aa5565b6001600160a01b038616610a58576001600160a01b03821615610a2b57610a2b878385610c7b565b806001600160a01b0316826001600160a01b031614610aa5576001600160a01b03821615610a8b57610a8b878385610c7b565b6001600160a01b03811615610aa557610aa5868285610d5d565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b1e576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b03163314610b9a576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60025461045a9060019085908590610d29565b60006001600160a01b03841615610be8576001600160a01b0384166000908152602086905260409020610be1908484610dba565b9050610bec565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610c168184610ea7565b9150505b9392505050565b60008282018381101561045a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c878184610fea565b90506000610c95828461100b565b9050610ca360008583611068565b60028054610cb691600091879190610bad565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610d23818361108a565b50505050565b60006001600160a01b03841615610be8576001600160a01b0384166000908152602086905260409020610be190848461124d565b6000610d698184610fea565b90506000610c958284610c21565b6001600160a01b0382166000908152602084905260408120610c1681846112fb565b6001600160a01b0381166000908152602083905260408120610bec81611433565b600081610dc957506000610c1a565b6001840154600160401b90046001600160401b031680610ded576000915050610c1a565b60018501546001600160401b03166000610e13610e0a8388610c21565b6001850361147b565b9050815b8181108015610e48575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b15610e6457600081815260208990526040812055600101610e17565b82811115610e9957610e7581611491565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610ece57600091505061045d565b4383101580610f0057506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610f2857600019016000908152602084905260409020546001600160a01b0316905061045d565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610fa1578015610f965760405162461bcd60e51b81526004018080602001828103825260308152602001806119116030913960400191505060405180910390fd5b60009250505061045d565b6001850154600090610fc79087908490600160401b90046001600160401b0316886114d9565b6000908152602087905260409020546001600160a01b0316935050505092915050565b6001600160a01b0381166000908152602083905260408120610bec81611563565b600082821115611062576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610d2381836115ab565b6001820154600160401b90046001600160401b031680611146576040518060400160405280836001600160a01b031681526020016110c743611491565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611248565b600019810160009081526020849052604090208054600160a01b90046001600160401b0316438114156111915781546001600160a01b0319166001600160a01b038516178255611245565b80431161119a57fe5b6040518060400160405280856001600160a01b031681526020016111bd43611491565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161125c57506000610c1a565b6001840154600160401b90046001600160401b031680611280576000915050610c1a565b60018501546001600160401b0316600061129d610e0a8388610c21565b9050815b81811080156112d2575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b15610e6457600081815260208990526040902080546001600160e01b03191690556001016112a1565b6001820154600090600160401b90046001600160401b03168061132257600091505061045d565b438310158061135457506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561137c57600019016000908152602084905260409020546001600160c01b0316905061045d565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b909104168410156113ea578015610f965760405162461bcd60e51b81526004018080602001828103825260308152602001806119116030913960400191505060405180910390fd5b60018501546000906114109087908490600160401b90046001600160401b03168861176c565b6000908152602087905260409020546001600160c01b0316935050505092915050565b6001810154600090600160401b90046001600160401b03168061145a57600091505061085e565b6000190160009081526020929092525060409020546001600160a01b031690565b600081831061148a578161045a565b5090919050565b6000600160401b82106114d55760405162461bcd60e51b81526004018080602001828103825260268152602001806118eb6026913960400191505060405180910390fd5b5090565b600083816114e885600161100b565b90505b81811115611559576000611515600261150f60016115098688610c21565b90610c21565b906117e0565b600081815260208a90526040902054909150600160a01b90046001600160401b0316851061154557809250611553565b61155081600161100b565b91505b506114eb565b5095945050505050565b6001810154600090600160401b90046001600160401b03168061158a57600091505061085e565b6000190160009081526020929092525060409020546001600160c01b031690565b6001820154600160401b90046001600160401b0316806116625760405180604001604052806115d984611847565b6001600160c01b031681526020016115f043611491565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611248565b600019810160009081526020849052604090208054600160c01b90046001600160401b0316438114156116b85761169884611847565b82546001600160c01b0319166001600160c01b0391909116178255611245565b8043116116c157fe5b60405180604001604052806116d586611847565b6001600160c01b031681526020016116ec43611491565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b6000838161177b85600161100b565b90505b8181111561155957600061179c600261150f60016115098688610c21565b600081815260208a90526040902054909150600160c01b90046001600160401b031685106117cc578092506117da565b6117d781600161100b565b91505b5061177e565b6000808211611836576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161183f57fe5b049392505050565b6000600160c01b82106114d5576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fdfe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba2646970667358221220c815567e569ad1452a087226fe253aa4d6ea202a75266e1215ac1a603a0ea9b864736f6c63430007060033",
339
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806392bfe6d811610097578063b3e871ee11610066578063b3e871ee1461023f578063eadb436214610265578063f6a494af146102a7578063f7ce0ddf146102cd576100f5565b806392bfe6d8146101dd5780639ab24eb0146102095780639ca20e4e1461022f578063a72ec4b614610237576100f5565b80635c19a95c116100d35780635c19a95c1461019f57806362d9c89a146101c557806365371883146101cd57806392ab89bb146101d5576100f5565b806313de97f5146100fa57806329a59ff2146101195780633c028e9d14610157575b600080fd5b6101176004803603602081101561011057600080fd5b50356102f9565b005b6101456004803603604081101561012f57600080fd5b506001600160a01b0381351690602001356103ed565b60408051918252519081900360200190f35b6101836004803603604081101561016d57600080fd5b506001600160a01b038135169060200135610463565b604080516001600160a01b039092168252519081900360200190f35b610117600480360360208110156101b557600080fd5b50356001600160a01b0316610471565b6101836106a8565b6101836106cc565b6101176106f0565b610145600480360360408110156101f357600080fd5b506001600160a01b0381351690602001356106fc565b6101456004803603602081101561021f57600080fd5b50356001600160a01b031661084f565b610183610863565b610145610872565b6101836004803603602081101561025557600080fd5b50356001600160a01b0316610878565b610117600480360360a081101561027b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610885565b610117600480360360208110156102bd57600080fd5b50356001600160a01b0316610aae565b610145600480360360408110156102e357600080fd5b506001600160a01b038135169060200135610b40565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610369576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6002548110156103aa5760405162461bcd60e51b81526004018080602001828103825260288152602001806118c36028913960400191505060405180910390fd5b4381106103e85760405162461bcd60e51b81526004018080602001828103825260218152602001806118a26021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b03163314610447576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60025461045a9060009085908590610bad565b90505b92915050565b600061045a60018484610bf4565b6001600160a01b0381163314156104cf576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60006106057f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561054157600080fd5b505afa158015610555573d6000803e3d6000fd5b505050506040513d602081101561056b57600080fd5b5051604080516370a0823160e01b815233600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d60208110156105fd57600080fd5b505190610c21565b9050600061061233610878565b90506001600160a01b0381161561062e5761062e338284610c7b565b61063a60013385610d01565b6002805461064d91600191339190610d29565b506001600160a01b0383161561066857610668338484610d5d565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106fa6000610471565b565b60008061070a818585610d77565b905060006107188585610463565b90506001600160a01b0381166108475760006108407f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e88886040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156107a257600080fd5b505afa1580156107b6573d6000803e3d6000fd5b505050506040513d60208110156107cc57600080fd5b50516040805163277166bf60e11b81526001600160a01b038a81166004830152602482018a905291517f000000000000000000000000000000000000000000000000000000000000000090921691634ee2cd7e91604480820192602092909190829003018186803b1580156105d357600080fd5b9290920191505b509392505050565b600061085b82436106fc565b90505b919050565b6003546001600160a01b031681565b60025490565b600061085b600183610d99565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108e45750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61092c576040805162461bcd60e51b81526020600482015260146024820152736f6e6c79206f776e657220636f6e74726163747360601b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161415610993576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b0385161515806109b257506001600160a01b03841615155b6109bb57600080fd5b60006001600160a01b038616156109da576109d586610878565b6109dd565b60005b905060006001600160a01b038616156109fe576109f986610878565b610a01565b60005b90506001600160a01b038716610a30576001600160a01b03811615610a2b57610a2b868285610d5d565b610aa5565b6001600160a01b038616610a58576001600160a01b03821615610a2b57610a2b878385610c7b565b806001600160a01b0316826001600160a01b031614610aa5576001600160a01b03821615610a8b57610a8b878385610c7b565b6001600160a01b03811615610aa557610aa5868285610d5d565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b1e576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b03163314610b9a576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60025461045a9060019085908590610d29565b60006001600160a01b03841615610be8576001600160a01b0384166000908152602086905260409020610be1908484610dba565b9050610bec565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610c168184610ea7565b9150505b9392505050565b60008282018381101561045a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c878184610fea565b90506000610c95828461100b565b9050610ca360008583611068565b60028054610cb691600091879190610bad565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610d23818361108a565b50505050565b60006001600160a01b03841615610be8576001600160a01b0384166000908152602086905260409020610be190848461124d565b6000610d698184610fea565b90506000610c958284610c21565b6001600160a01b0382166000908152602084905260408120610c1681846112fb565b6001600160a01b0381166000908152602083905260408120610bec81611433565b600081610dc957506000610c1a565b6001840154600160401b90046001600160401b031680610ded576000915050610c1a565b60018501546001600160401b03166000610e13610e0a8388610c21565b6001850361147b565b9050815b8181108015610e48575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b15610e6457600081815260208990526040812055600101610e17565b82811115610e9957610e7581611491565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610ece57600091505061045d565b4383101580610f0057506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610f2857600019016000908152602084905260409020546001600160a01b0316905061045d565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610fa1578015610f965760405162461bcd60e51b81526004018080602001828103825260308152602001806119116030913960400191505060405180910390fd5b60009250505061045d565b6001850154600090610fc79087908490600160401b90046001600160401b0316886114d9565b6000908152602087905260409020546001600160a01b0316935050505092915050565b6001600160a01b0381166000908152602083905260408120610bec81611563565b600082821115611062576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610d2381836115ab565b6001820154600160401b90046001600160401b031680611146576040518060400160405280836001600160a01b031681526020016110c743611491565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611248565b600019810160009081526020849052604090208054600160a01b90046001600160401b0316438114156111915781546001600160a01b0319166001600160a01b038516178255611245565b80431161119a57fe5b6040518060400160405280856001600160a01b031681526020016111bd43611491565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161125c57506000610c1a565b6001840154600160401b90046001600160401b031680611280576000915050610c1a565b60018501546001600160401b0316600061129d610e0a8388610c21565b9050815b81811080156112d2575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b15610e6457600081815260208990526040902080546001600160e01b03191690556001016112a1565b6001820154600090600160401b90046001600160401b03168061132257600091505061045d565b438310158061135457506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561137c57600019016000908152602084905260409020546001600160c01b0316905061045d565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b909104168410156113ea578015610f965760405162461bcd60e51b81526004018080602001828103825260308152602001806119116030913960400191505060405180910390fd5b60018501546000906114109087908490600160401b90046001600160401b03168861176c565b6000908152602087905260409020546001600160c01b0316935050505092915050565b6001810154600090600160401b90046001600160401b03168061145a57600091505061085e565b6000190160009081526020929092525060409020546001600160a01b031690565b600081831061148a578161045a565b5090919050565b6000600160401b82106114d55760405162461bcd60e51b81526004018080602001828103825260268152602001806118eb6026913960400191505060405180910390fd5b5090565b600083816114e885600161100b565b90505b81811115611559576000611515600261150f60016115098688610c21565b90610c21565b906117e0565b600081815260208a90526040902054909150600160a01b90046001600160401b0316851061154557809250611553565b61155081600161100b565b91505b506114eb565b5095945050505050565b6001810154600090600160401b90046001600160401b03168061158a57600091505061085e565b6000190160009081526020929092525060409020546001600160c01b031690565b6001820154600160401b90046001600160401b0316806116625760405180604001604052806115d984611847565b6001600160c01b031681526020016115f043611491565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611248565b600019810160009081526020849052604090208054600160c01b90046001600160401b0316438114156116b85761169884611847565b82546001600160c01b0319166001600160c01b0391909116178255611245565b8043116116c157fe5b60405180604001604052806116d586611847565b6001600160c01b031681526020016116ec43611491565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b6000838161177b85600161100b565b90505b8181111561155957600061179c600261150f60016115098688610c21565b600081815260208a90526040902054909150600160c01b90046001600160401b031685106117cc578092506117da565b6117d781600161100b565b91505b5061177e565b6000808211611836576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161183f57fe5b049392505050565b6000600160c01b82106114d5576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fdfe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba2646970667358221220c815567e569ad1452a087226fe253aa4d6ea202a75266e1215ac1a603a0ea9b864736f6c63430007060033",
322
340
  "linkReferences": {},
323
341
  "deployedLinkReferences": {}
324
342
  }