@wireio/stake 2.7.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/README.md +34 -15
  2. package/lib/stake.browser.js +50561 -13484
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +564 -15719
  5. package/lib/stake.js +47546 -10288
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +50561 -13484
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/assets/evm/hoodi/.gitkeep +1 -0
  11. package/src/assets/evm/monad-testnet/.gitkeep +0 -0
  12. package/src/assets/evm/polygon-amoy/.gitkeep +0 -0
  13. package/src/assets/evm/wiredev/common/Base58.sol/Base58.dbg.json +4 -0
  14. package/src/assets/evm/wiredev/common/Base58.sol/Base58.json +164 -0
  15. package/src/assets/evm/wiredev/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  16. package/src/assets/evm/wiredev/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
  17. package/src/assets/evm/wiredev/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  18. package/src/assets/evm/wiredev/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
  19. package/src/assets/evm/wiredev/common/iodata.sol/iodata.dbg.json +4 -0
  20. package/src/assets/evm/wiredev/common/iodata.sol/iodata.json +618 -0
  21. package/src/assets/evm/wiredev/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  22. package/src/assets/evm/wiredev/common/iodata_util.sol/iodata_util.json +40 -0
  23. package/src/assets/evm/wiredev/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  24. package/src/assets/evm/wiredev/common/sysio_data.sol/sysio_data.json +10 -0
  25. package/src/assets/evm/wiredev/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  26. package/src/assets/evm/wiredev/common/sysio_errors.sol/sysio_errors.json +10 -0
  27. package/src/assets/evm/wiredev/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  28. package/src/assets/evm/wiredev/common/sysio_merkle.sol/sysio_merkle.json +233 -0
  29. package/src/assets/evm/wiredev/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  30. package/src/assets/evm/wiredev/common/sysio_name.sol/sysio_name.json +49 -0
  31. package/src/assets/evm/wiredev/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  32. package/src/assets/evm/wiredev/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
  33. package/src/assets/evm/wiredev/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  34. package/src/assets/evm/wiredev/common/sysio_read.sol/sysio_read.json +1458 -0
  35. package/src/assets/evm/wiredev/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  36. package/src/assets/evm/wiredev/common/sysio_tester.sol/SysioTester.json +1532 -0
  37. package/src/assets/evm/wiredev/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  38. package/src/assets/evm/wiredev/common/sysio_verify.sol/sysio_verify.json +1525 -0
  39. package/src/assets/evm/wiredev/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  40. package/src/assets/evm/wiredev/common/sysio_write.sol/sysio_write.json +1076 -0
  41. package/src/assets/evm/wiredev/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  42. package/src/assets/evm/wiredev/liqEth/BeaconState.sol/BeaconState.json +807 -0
  43. package/src/assets/evm/wiredev/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  44. package/src/assets/evm/wiredev/liqEth/DepositManager.sol/DepositManagerV2.json +985 -0
  45. package/src/assets/evm/wiredev/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  46. package/src/assets/evm/wiredev/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  47. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  48. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IAccounting.json +182 -0
  49. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  50. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  51. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  52. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  53. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  54. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  55. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  56. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  57. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  58. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  59. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  60. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IStakingModule.json +344 -0
  61. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  62. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  63. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  64. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  65. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  66. package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  67. package/src/assets/evm/wiredev/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  68. package/src/assets/evm/wiredev/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  69. package/src/assets/evm/wiredev/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  70. package/src/assets/evm/wiredev/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  71. package/src/assets/evm/wiredev/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  72. package/src/assets/evm/wiredev/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  73. package/src/assets/evm/wiredev/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  74. package/src/assets/evm/wiredev/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  75. package/src/assets/evm/wiredev/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  76. package/src/assets/evm/wiredev/liqEth/Yield.sol/YieldOracle.json +1376 -0
  77. package/src/assets/evm/wiredev/liqEth/accounting.sol/AccountingV2.dbg.json +4 -0
  78. package/src/assets/evm/wiredev/liqEth/accounting.sol/AccountingV2.json +629 -0
  79. package/src/assets/evm/wiredev/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  80. package/src/assets/evm/wiredev/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  81. package/src/assets/evm/wiredev/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  82. package/src/assets/evm/wiredev/liqEth/stakingModule.sol/StakingModuleV2.json +1779 -0
  83. package/src/assets/evm/wiredev/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  84. package/src/assets/evm/wiredev/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  85. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  86. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
  87. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  88. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  89. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  90. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  91. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  92. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  93. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  94. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
  95. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  96. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  97. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  98. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  99. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  100. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  101. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  102. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  103. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  104. package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  105. package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  106. package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
  107. package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  108. package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
  109. package/src/assets/evm/wiredev/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  110. package/src/assets/evm/wiredev/liqEth/v1/accounting.sol/Accounting.json +548 -0
  111. package/src/assets/evm/wiredev/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  112. package/src/assets/evm/wiredev/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  113. package/src/assets/evm/wiredev/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  114. package/src/assets/evm/wiredev/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  115. package/src/assets/evm/wiredev/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  116. package/src/assets/evm/wiredev/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
  117. package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  118. package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  119. package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  120. package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  121. package/src/assets/evm/wiredev/outpost/BAR.sol/BAR.dbg.json +4 -0
  122. package/src/assets/evm/wiredev/outpost/BAR.sol/BAR.json +1154 -0
  123. package/src/assets/evm/wiredev/outpost/Depositor.sol/Depositor.dbg.json +4 -0
  124. package/src/assets/evm/wiredev/outpost/Depositor.sol/Depositor.json +1633 -0
  125. package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  126. package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
  127. package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  128. package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +274 -0
  129. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.dbg.json +4 -0
  130. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.json +10 -0
  131. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.dbg.json +4 -0
  132. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.json +10 -0
  133. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.dbg.json +4 -0
  134. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.json +10 -0
  135. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawFailedCodec.dbg.json +4 -0
  136. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawFailedCodec.json +10 -0
  137. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.dbg.json +4 -0
  138. package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.json +10 -0
  139. package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/IDepositorBridgeHooks.dbg.json +4 -0
  140. package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/IDepositorBridgeHooks.json +29 -0
  141. package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/LiqEthBridge.dbg.json +4 -0
  142. package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/LiqEthBridge.json +1076 -0
  143. package/src/assets/evm/wiredev/outpost/OPP.sol/OPP.dbg.json +4 -0
  144. package/src/assets/evm/wiredev/outpost/OPP.sol/OPP.json +1098 -0
  145. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  146. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPP.json +81 -0
  147. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  148. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
  149. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  150. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPInbound.json +330 -0
  151. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  152. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
  153. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  154. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPSender.json +41 -0
  155. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  156. package/src/assets/evm/wiredev/outpost/OPPCommon.sol/OPPCommon.json +287 -0
  157. package/src/assets/evm/wiredev/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  158. package/src/assets/evm/wiredev/outpost/OPPEndpoint.sol/OPPEndpoint.json +337 -0
  159. package/src/assets/evm/wiredev/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  160. package/src/assets/evm/wiredev/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +458 -0
  161. package/src/assets/evm/wiredev/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  162. package/src/assets/evm/wiredev/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +442 -0
  163. package/src/assets/evm/wiredev/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  164. package/src/assets/evm/wiredev/outpost/OPPErrors.sol/OPPErrors.json +288 -0
  165. package/src/assets/evm/wiredev/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  166. package/src/assets/evm/wiredev/outpost/OPPInbound.sol/OPPInbound.json +1298 -0
  167. package/src/assets/evm/wiredev/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  168. package/src/assets/evm/wiredev/outpost/OPPReceiver.sol/OPPReceiver.json +355 -0
  169. package/src/assets/evm/wiredev/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  170. package/src/assets/evm/wiredev/outpost/OPPSender.sol/OPPSender.json +367 -0
  171. package/src/assets/evm/wiredev/outpost/OperatorRegistry.sol/OperatorRegistry.dbg.json +4 -0
  172. package/src/assets/evm/wiredev/outpost/OperatorRegistry.sol/OperatorRegistry.json +1111 -0
  173. package/src/assets/evm/wiredev/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  174. package/src/assets/evm/wiredev/outpost/OutpostErrors.sol/OutpostErrors.json +211 -0
  175. package/src/assets/evm/wiredev/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  176. package/src/assets/evm/wiredev/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
  177. package/src/assets/evm/wiredev/outpost/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  178. package/src/assets/evm/wiredev/outpost/OutpostManager.sol/OutpostManager.json +794 -0
  179. package/src/assets/evm/wiredev/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  180. package/src/assets/evm/wiredev/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
  181. package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  182. package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
  183. package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  184. package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
  185. package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  186. package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
  187. package/src/assets/evm/wiredev/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  188. package/src/assets/evm/wiredev/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
  189. package/src/assets/evm/wiredev/outpost/OutpostReserve.sol/OutpostReserve.dbg.json +4 -0
  190. package/src/assets/evm/wiredev/outpost/OutpostReserve.sol/OutpostReserve.json +931 -0
  191. package/src/assets/evm/wiredev/outpost/Pool.sol/Pool.dbg.json +4 -0
  192. package/src/assets/evm/wiredev/outpost/Pool.sol/Pool.json +659 -0
  193. package/src/assets/evm/wiredev/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
  194. package/src/assets/evm/wiredev/outpost/Pretoken.sol/Pretoken.json +1436 -0
  195. package/src/assets/evm/wiredev/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  196. package/src/assets/evm/wiredev/outpost/ReceiptNFT.sol/ReceiptNFT.json +1738 -0
  197. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.dbg.json +4 -0
  198. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.json +10 -0
  199. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.dbg.json +4 -0
  200. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.json +10 -0
  201. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.dbg.json +4 -0
  202. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.json +10 -0
  203. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.dbg.json +4 -0
  204. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.json +10 -0
  205. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.dbg.json +4 -0
  206. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.json +10 -0
  207. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.dbg.json +4 -0
  208. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.json +10 -0
  209. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.dbg.json +4 -0
  210. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.json +10 -0
  211. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.dbg.json +4 -0
  212. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.json +10 -0
  213. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.dbg.json +4 -0
  214. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.json +10 -0
  215. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.dbg.json +4 -0
  216. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.json +10 -0
  217. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.dbg.json +4 -0
  218. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.json +1437 -0
  219. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.dbg.json +4 -0
  220. package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.json +10 -0
  221. package/src/assets/evm/wiredev/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  222. package/src/assets/evm/wiredev/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  223. package/src/assets/evm/wiredev/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  224. package/src/assets/evm/wiredev/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
  225. package/src/assets/evm/wiredev/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  226. package/src/assets/evm/wiredev/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
  227. package/src/assets/evm/wiredev/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  228. package/src/assets/evm/wiredev/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
  229. package/src/assets/evm/wiredev/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  230. package/src/assets/evm/wiredev/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  231. package/src/assets/evm/wiredev/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  232. package/src/assets/evm/wiredev/token/ERC20Token.sol/ERC20Token.json +330 -0
  233. package/src/assets/evm/wiredev/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  234. package/src/assets/evm/wiredev/token/ERC721Token.sol/ERC721Token.json +449 -0
  235. package/src/assets/evm/wiredev/token/Eman1155.sol/Eman1155.dbg.json +4 -0
  236. package/src/assets/evm/wiredev/token/Eman1155.sol/Eman1155.json +560 -0
  237. package/src/assets/evm/wiredev/token/Eman20.sol/Eman20.dbg.json +4 -0
  238. package/src/assets/evm/wiredev/token/Eman20.sol/Eman20.json +460 -0
  239. package/src/assets/evm/wiredev/token/Eman721.sol/Eman721.dbg.json +4 -0
  240. package/src/assets/evm/wiredev/token/Eman721.sol/Eman721.json +624 -0
  241. package/src/assets/solana/mainnet/idl/validator_leaderboard.json.bak +568 -0
  242. package/src/assets/solana/wiredev/idl/liqsol_core.json +8726 -0
  243. package/src/assets/solana/wiredev/idl/liqsol_token.json +217 -0
  244. package/src/assets/solana/wiredev/idl/transfer_hook.json +490 -0
  245. package/src/assets/solana/wiredev/idl/validator_leaderboard.json +735 -0
  246. package/src/assets/solana/wiredev/types/liqsol_core.ts +8732 -0
  247. package/src/assets/solana/wiredev/types/liqsol_token.ts +223 -0
  248. package/src/assets/solana/wiredev/types/transfer_hook.ts +496 -0
  249. package/src/assets/solana/wiredev/types/validator_leaderboard.ts +741 -0
  250. package/src/chains.ts +165 -0
  251. package/src/index.ts +7 -3
  252. package/src/networks/{ethereum → evm}/clients/convert.client.ts +8 -3
  253. package/src/networks/evm/clients/instaswap.client.ts +440 -0
  254. package/src/networks/{ethereum → evm}/clients/opp.client.ts +3 -3
  255. package/src/networks/{ethereum → evm}/clients/pretoken.client.ts +11 -6
  256. package/src/networks/{ethereum → evm}/clients/receipt.client.ts +3 -3
  257. package/src/networks/{ethereum → evm}/clients/stake.client.ts +144 -20
  258. package/src/networks/{ethereum → evm}/clients/validator.client.ts +3 -3
  259. package/src/networks/{ethereum → evm}/contract.ts +207 -116
  260. package/src/networks/{ethereum/ethereum.ts → evm/evm.ts} +214 -68
  261. package/src/networks/{ethereum → evm}/utils.ts +56 -4
  262. package/src/networks/solana/clients/convert.client.ts +47 -11
  263. package/src/networks/solana/clients/distribution.client.ts +17 -13
  264. package/src/networks/solana/clients/instaswap.client.ts +486 -0
  265. package/src/networks/solana/clients/leaderboard.client.ts +4 -5
  266. package/src/networks/solana/clients/outpost.client.ts +110 -47
  267. package/src/networks/solana/clients/token.client.ts +20 -11
  268. package/src/networks/solana/constants.ts +27 -7
  269. package/src/networks/solana/program.ts +104 -19
  270. package/src/networks/solana/solana.ts +145 -15
  271. package/src/networks/solana/types.ts +1 -2
  272. package/src/networks/solana/utils.ts +36 -4
  273. package/src/staker.ts +22 -20
  274. package/src/status.ts +301 -0
  275. package/src/types.ts +6 -11
  276. /package/src/assets/{ethereum → evm}/mainnet/common/Base58.sol/Base58.dbg.json +0 -0
  277. /package/src/assets/{ethereum → evm}/mainnet/common/Base58.sol/Base58.json +0 -0
  278. /package/src/assets/{ethereum → evm}/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +0 -0
  279. /package/src/assets/{ethereum → evm}/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +0 -0
  280. /package/src/assets/{ethereum → evm}/mainnet/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +0 -0
  281. /package/src/assets/{ethereum → evm}/mainnet/common/RestrictedCallers.sol/RestrictedCallers.json +0 -0
  282. /package/src/assets/{ethereum → evm}/mainnet/common/iodata.sol/iodata.dbg.json +0 -0
  283. /package/src/assets/{ethereum → evm}/mainnet/common/iodata.sol/iodata.json +0 -0
  284. /package/src/assets/{ethereum → evm}/mainnet/common/iodata_util.sol/iodata_util.dbg.json +0 -0
  285. /package/src/assets/{ethereum → evm}/mainnet/common/iodata_util.sol/iodata_util.json +0 -0
  286. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_data.sol/sysio_data.dbg.json +0 -0
  287. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_data.sol/sysio_data.json +0 -0
  288. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_errors.sol/sysio_errors.dbg.json +0 -0
  289. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_errors.sol/sysio_errors.json +0 -0
  290. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_merkle.sol/sysio_merkle.dbg.json +0 -0
  291. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_merkle.sol/sysio_merkle.json +0 -0
  292. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_name.sol/sysio_name.dbg.json +0 -0
  293. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_name.sol/sysio_name.json +0 -0
  294. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +0 -0
  295. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_pubkey.sol/sysio_pubkey.json +0 -0
  296. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_read.sol/sysio_read.dbg.json +0 -0
  297. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_read.sol/sysio_read.json +0 -0
  298. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_tester.sol/SysioTester.dbg.json +0 -0
  299. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_tester.sol/SysioTester.json +0 -0
  300. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_verify.sol/sysio_verify.dbg.json +0 -0
  301. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_verify.sol/sysio_verify.json +0 -0
  302. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_write.sol/sysio_write.dbg.json +0 -0
  303. /package/src/assets/{ethereum → evm}/mainnet/common/sysio_write.sol/sysio_write.json +0 -0
  304. /package/src/assets/{ethereum → evm}/mainnet/liqEth/BeaconState.sol/BeaconState.dbg.json +0 -0
  305. /package/src/assets/{ethereum → evm}/mainnet/liqEth/BeaconState.sol/BeaconState.json +0 -0
  306. /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +0 -0
  307. /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/DepositManagerV2.json +0 -0
  308. /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +0 -0
  309. /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +0 -0
  310. /package/src/assets/{ethereum → evm}/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +0 -0
  311. /package/src/assets/{ethereum → evm}/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.json +0 -0
  312. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +0 -0
  313. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +0 -0
  314. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +0 -0
  315. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.json +0 -0
  316. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +0 -0
  317. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.json +0 -0
  318. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +0 -0
  319. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.json +0 -0
  320. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +0 -0
  321. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +0 -0
  322. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +0 -0
  323. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.json +0 -0
  324. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +0 -0
  325. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +0 -0
  326. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +0 -0
  327. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.json +0 -0
  328. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +0 -0
  329. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +0 -0
  330. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +0 -0
  331. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +0 -0
  332. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +0 -0
  333. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.json +0 -0
  334. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +0 -0
  335. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +0 -0
  336. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +0 -0
  337. /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.json +0 -0
  338. /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +0 -0
  339. /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +0 -0
  340. /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +0 -0
  341. /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +0 -0
  342. /package/src/assets/{ethereum → evm}/mainnet/liqEth/StakingLib.sol/StakingLib.dbg.json +0 -0
  343. /package/src/assets/{ethereum → evm}/mainnet/liqEth/StakingLib.sol/StakingLib.json +0 -0
  344. /package/src/assets/{ethereum → evm}/mainnet/liqEth/Yield.sol/YieldOracle.dbg.json +0 -0
  345. /package/src/assets/{ethereum → evm}/mainnet/liqEth/Yield.sol/YieldOracle.json +0 -0
  346. /package/src/assets/{ethereum → evm}/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +0 -0
  347. /package/src/assets/{ethereum → evm}/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.json +0 -0
  348. /package/src/assets/{ethereum → evm}/mainnet/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +0 -0
  349. /package/src/assets/{ethereum → evm}/mainnet/liqEth/stakingModule.sol/StakingModuleV2.json +0 -0
  350. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +0 -0
  351. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/DepositManager.sol/DepositManager.json +0 -0
  352. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +0 -0
  353. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.json +0 -0
  354. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +0 -0
  355. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +0 -0
  356. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +0 -0
  357. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +0 -0
  358. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +0 -0
  359. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +0 -0
  360. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +0 -0
  361. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +0 -0
  362. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +0 -0
  363. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +0 -0
  364. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +0 -0
  365. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +0 -0
  366. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +0 -0
  367. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +0 -0
  368. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +0 -0
  369. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +0 -0
  370. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +0 -0
  371. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +0 -0
  372. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +0 -0
  373. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +0 -0
  374. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +0 -0
  375. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +0 -0
  376. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/accounting.sol/Accounting.dbg.json +0 -0
  377. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/accounting.sol/Accounting.json +0 -0
  378. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +0 -0
  379. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.json +0 -0
  380. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +0 -0
  381. /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/stakingModule.sol/StakingModule.json +0 -0
  382. /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +0 -0
  383. /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +0 -0
  384. /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +0 -0
  385. /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/Uint64BE.json +0 -0
  386. /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +0 -0
  387. /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.json +0 -0
  388. /package/src/assets/{ethereum → evm}/mainnet/outpost/BAR.sol/BARV2.dbg.json +0 -0
  389. /package/src/assets/{ethereum → evm}/mainnet/outpost/BAR.sol/BARV2.json +0 -0
  390. /package/src/assets/{ethereum → evm}/mainnet/outpost/Depositor.sol/DepositorV2.dbg.json +0 -0
  391. /package/src/assets/{ethereum → evm}/mainnet/outpost/Depositor.sol/DepositorV2.json +0 -0
  392. /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +0 -0
  393. /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +0 -0
  394. /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +0 -0
  395. /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +0 -0
  396. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPP.sol/OPP.dbg.json +0 -0
  397. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPP.sol/OPP.json +0 -0
  398. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPP.dbg.json +0 -0
  399. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPP.json +0 -0
  400. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +0 -0
  401. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.json +0 -0
  402. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPInbound.dbg.json +0 -0
  403. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPInbound.json +0 -0
  404. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +0 -0
  405. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPReceiver.json +0 -0
  406. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPSender.dbg.json +0 -0
  407. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPSender.json +0 -0
  408. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/OPPCommon.dbg.json +0 -0
  409. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/OPPCommon.json +0 -0
  410. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +0 -0
  411. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.json +0 -0
  412. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +0 -0
  413. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +0 -0
  414. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +0 -0
  415. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +0 -0
  416. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPErrors.sol/OPPErrors.dbg.json +0 -0
  417. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPErrors.sol/OPPErrors.json +0 -0
  418. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPInbound.sol/OPPInbound.dbg.json +0 -0
  419. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPInbound.sol/OPPInbound.json +0 -0
  420. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +0 -0
  421. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPReceiver.sol/OPPReceiver.json +0 -0
  422. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPSender.sol/OPPSender.dbg.json +0 -0
  423. /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPSender.sol/OPPSender.json +0 -0
  424. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +0 -0
  425. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostErrors.sol/OutpostErrors.json +0 -0
  426. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +0 -0
  427. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManaged.sol/OutpostManaged.json +0 -0
  428. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +0 -0
  429. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.json +0 -0
  430. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +0 -0
  431. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +0 -0
  432. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +0 -0
  433. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.json +0 -0
  434. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +0 -0
  435. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +0 -0
  436. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +0 -0
  437. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +0 -0
  438. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +0 -0
  439. /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.json +0 -0
  440. /package/src/assets/{ethereum → evm}/mainnet/outpost/Pool.sol/PoolV2.dbg.json +0 -0
  441. /package/src/assets/{ethereum → evm}/mainnet/outpost/Pool.sol/PoolV2.json +0 -0
  442. /package/src/assets/{ethereum → evm}/mainnet/outpost/Pretoken.sol/PretokenV2.dbg.json +0 -0
  443. /package/src/assets/{ethereum → evm}/mainnet/outpost/Pretoken.sol/PretokenV2.json +0 -0
  444. /package/src/assets/{ethereum → evm}/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +0 -0
  445. /package/src/assets/{ethereum → evm}/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.json +0 -0
  446. /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +0 -0
  447. /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.json +0 -0
  448. /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +0 -0
  449. /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.json +0 -0
  450. /package/src/assets/{ethereum → evm}/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +0 -0
  451. /package/src/assets/{ethereum → evm}/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +0 -0
  452. /package/src/assets/{ethereum → evm}/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +0 -0
  453. /package/src/assets/{ethereum → evm}/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +0 -0
  454. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/BAR.sol/BAR.dbg.json +0 -0
  455. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/BAR.sol/BAR.json +0 -0
  456. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Depositor.sol/Depositor.dbg.json +0 -0
  457. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Depositor.sol/Depositor.json +0 -0
  458. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +0 -0
  459. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.json +0 -0
  460. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pool.sol/Pool.dbg.json +0 -0
  461. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pool.sol/Pool.json +0 -0
  462. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pretoken.sol/Pretoken.dbg.json +0 -0
  463. /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pretoken.sol/Pretoken.json +0 -0
  464. /package/src/assets/{ethereum → evm}/mainnet/token/ERC1155Token.sol/ERC1155Token.dbg.json +0 -0
  465. /package/src/assets/{ethereum → evm}/mainnet/token/ERC1155Token.sol/ERC1155Token.json +0 -0
  466. /package/src/assets/{ethereum → evm}/mainnet/token/ERC20Token.sol/ERC20Token.dbg.json +0 -0
  467. /package/src/assets/{ethereum → evm}/mainnet/token/ERC20Token.sol/ERC20Token.json +0 -0
  468. /package/src/assets/{ethereum → evm}/mainnet/token/ERC721Token.sol/ERC721Token.dbg.json +0 -0
  469. /package/src/assets/{ethereum → evm}/mainnet/token/ERC721Token.sol/ERC721Token.json +0 -0
  470. /package/src/networks/{ethereum → evm}/types.ts +0 -0
@@ -0,0 +1,1779 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "StakingModuleV2",
4
+ "sourceName": "contracts/liqEth/stakingModule.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "authority",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "caller",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
28
+ }
29
+ ],
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "address",
48
+ "name": "target",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "AddressEmptyCode",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "internalType": "address",
59
+ "name": "implementation",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "ERC1967InvalidImplementation",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ERC1967NonPayable",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "EnforcedPause",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "ExpectedPause",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "FailedCall",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "balance",
91
+ "type": "uint256"
92
+ },
93
+ {
94
+ "internalType": "uint256",
95
+ "name": "needed",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "name": "InsufficientBalance",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [],
104
+ "name": "InvalidInitialization",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [],
109
+ "name": "NotInitializing",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [],
114
+ "name": "ReentrancyGuardReentrantCall",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "UUPSUnauthorizedCallContext",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "internalType": "bytes32",
126
+ "name": "slot",
127
+ "type": "bytes32"
128
+ }
129
+ ],
130
+ "name": "UUPSUnsupportedProxiableUUID",
131
+ "type": "error"
132
+ },
133
+ {
134
+ "anonymous": false,
135
+ "inputs": [
136
+ {
137
+ "indexed": true,
138
+ "internalType": "uint64",
139
+ "name": "valIndex",
140
+ "type": "uint64"
141
+ },
142
+ {
143
+ "indexed": false,
144
+ "internalType": "uint64",
145
+ "name": "epoch",
146
+ "type": "uint64"
147
+ },
148
+ {
149
+ "indexed": false,
150
+ "internalType": "uint256",
151
+ "name": "id",
152
+ "type": "uint256"
153
+ }
154
+ ],
155
+ "name": "ActivationEpochRecorded",
156
+ "type": "event"
157
+ },
158
+ {
159
+ "anonymous": false,
160
+ "inputs": [
161
+ {
162
+ "indexed": false,
163
+ "internalType": "address",
164
+ "name": "authority",
165
+ "type": "address"
166
+ }
167
+ ],
168
+ "name": "AuthorityUpdated",
169
+ "type": "event"
170
+ },
171
+ {
172
+ "anonymous": false,
173
+ "inputs": [
174
+ {
175
+ "indexed": true,
176
+ "internalType": "address",
177
+ "name": "operator",
178
+ "type": "address"
179
+ },
180
+ {
181
+ "indexed": false,
182
+ "internalType": "uint256",
183
+ "name": "amount",
184
+ "type": "uint256"
185
+ }
186
+ ],
187
+ "name": "BondLocked",
188
+ "type": "event"
189
+ },
190
+ {
191
+ "anonymous": false,
192
+ "inputs": [
193
+ {
194
+ "indexed": true,
195
+ "internalType": "address",
196
+ "name": "operator",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint256",
202
+ "name": "amount",
203
+ "type": "uint256"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "uint256",
208
+ "name": "fee",
209
+ "type": "uint256"
210
+ }
211
+ ],
212
+ "name": "BondUnlocked",
213
+ "type": "event"
214
+ },
215
+ {
216
+ "anonymous": false,
217
+ "inputs": [
218
+ {
219
+ "indexed": true,
220
+ "internalType": "uint256",
221
+ "name": "id",
222
+ "type": "uint256"
223
+ }
224
+ ],
225
+ "name": "Deposited",
226
+ "type": "event"
227
+ },
228
+ {
229
+ "anonymous": false,
230
+ "inputs": [
231
+ {
232
+ "indexed": false,
233
+ "internalType": "uint64",
234
+ "name": "version",
235
+ "type": "uint64"
236
+ }
237
+ ],
238
+ "name": "Initialized",
239
+ "type": "event"
240
+ },
241
+ {
242
+ "anonymous": false,
243
+ "inputs": [
244
+ {
245
+ "indexed": true,
246
+ "internalType": "uint256",
247
+ "name": "id",
248
+ "type": "uint256"
249
+ },
250
+ {
251
+ "indexed": true,
252
+ "internalType": "address",
253
+ "name": "operator",
254
+ "type": "address"
255
+ }
256
+ ],
257
+ "name": "KeyUploaded",
258
+ "type": "event"
259
+ },
260
+ {
261
+ "anonymous": false,
262
+ "inputs": [
263
+ {
264
+ "indexed": false,
265
+ "internalType": "address",
266
+ "name": "op",
267
+ "type": "address"
268
+ },
269
+ {
270
+ "indexed": false,
271
+ "internalType": "uint256[]",
272
+ "name": "ids",
273
+ "type": "uint256[]"
274
+ }
275
+ ],
276
+ "name": "KeysRemoved",
277
+ "type": "event"
278
+ },
279
+ {
280
+ "anonymous": false,
281
+ "inputs": [
282
+ {
283
+ "indexed": false,
284
+ "internalType": "address",
285
+ "name": "account",
286
+ "type": "address"
287
+ }
288
+ ],
289
+ "name": "Paused",
290
+ "type": "event"
291
+ },
292
+ {
293
+ "anonymous": false,
294
+ "inputs": [
295
+ {
296
+ "indexed": true,
297
+ "internalType": "address",
298
+ "name": "operator",
299
+ "type": "address"
300
+ },
301
+ {
302
+ "indexed": false,
303
+ "internalType": "uint256",
304
+ "name": "penalty",
305
+ "type": "uint256"
306
+ }
307
+ ],
308
+ "name": "Slashed",
309
+ "type": "event"
310
+ },
311
+ {
312
+ "anonymous": false,
313
+ "inputs": [
314
+ {
315
+ "indexed": true,
316
+ "internalType": "address",
317
+ "name": "to",
318
+ "type": "address"
319
+ },
320
+ {
321
+ "indexed": false,
322
+ "internalType": "uint256",
323
+ "name": "amount",
324
+ "type": "uint256"
325
+ }
326
+ ],
327
+ "name": "Swept",
328
+ "type": "event"
329
+ },
330
+ {
331
+ "anonymous": false,
332
+ "inputs": [
333
+ {
334
+ "indexed": false,
335
+ "internalType": "bytes",
336
+ "name": "pubkey",
337
+ "type": "bytes"
338
+ },
339
+ {
340
+ "indexed": false,
341
+ "internalType": "uint256",
342
+ "name": "ethAmount",
343
+ "type": "uint256"
344
+ }
345
+ ],
346
+ "name": "TopUpValidator",
347
+ "type": "event"
348
+ },
349
+ {
350
+ "anonymous": false,
351
+ "inputs": [
352
+ {
353
+ "indexed": false,
354
+ "internalType": "address",
355
+ "name": "account",
356
+ "type": "address"
357
+ }
358
+ ],
359
+ "name": "Unpaused",
360
+ "type": "event"
361
+ },
362
+ {
363
+ "anonymous": false,
364
+ "inputs": [
365
+ {
366
+ "indexed": true,
367
+ "internalType": "address",
368
+ "name": "implementation",
369
+ "type": "address"
370
+ }
371
+ ],
372
+ "name": "Upgraded",
373
+ "type": "event"
374
+ },
375
+ {
376
+ "anonymous": false,
377
+ "inputs": [
378
+ {
379
+ "indexed": true,
380
+ "internalType": "uint256",
381
+ "name": "id",
382
+ "type": "uint256"
383
+ }
384
+ ],
385
+ "name": "ValidatorForcedExit",
386
+ "type": "event"
387
+ },
388
+ {
389
+ "anonymous": false,
390
+ "inputs": [
391
+ {
392
+ "indexed": true,
393
+ "internalType": "uint256",
394
+ "name": "id",
395
+ "type": "uint256"
396
+ },
397
+ {
398
+ "indexed": false,
399
+ "internalType": "uint64",
400
+ "name": "oldIndex",
401
+ "type": "uint64"
402
+ },
403
+ {
404
+ "indexed": false,
405
+ "internalType": "uint64",
406
+ "name": "newIndex",
407
+ "type": "uint64"
408
+ },
409
+ {
410
+ "indexed": true,
411
+ "internalType": "address",
412
+ "name": "operator",
413
+ "type": "address"
414
+ }
415
+ ],
416
+ "name": "ValidatorIndexUpdated",
417
+ "type": "event"
418
+ },
419
+ {
420
+ "anonymous": false,
421
+ "inputs": [
422
+ {
423
+ "indexed": true,
424
+ "internalType": "uint64",
425
+ "name": "valIndex",
426
+ "type": "uint64"
427
+ },
428
+ {
429
+ "indexed": false,
430
+ "internalType": "uint64",
431
+ "name": "epoch",
432
+ "type": "uint64"
433
+ }
434
+ ],
435
+ "name": "WithdrawableEpochRecorded",
436
+ "type": "event"
437
+ },
438
+ {
439
+ "anonymous": false,
440
+ "inputs": [
441
+ {
442
+ "indexed": true,
443
+ "internalType": "uint256",
444
+ "name": "id",
445
+ "type": "uint256"
446
+ }
447
+ ],
448
+ "name": "Withdrawn",
449
+ "type": "event"
450
+ },
451
+ {
452
+ "inputs": [],
453
+ "name": "BDC",
454
+ "outputs": [
455
+ {
456
+ "internalType": "contract IDepositContract",
457
+ "name": "",
458
+ "type": "address"
459
+ }
460
+ ],
461
+ "stateMutability": "view",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [],
466
+ "name": "GENESIS_TIME",
467
+ "outputs": [
468
+ {
469
+ "internalType": "uint64",
470
+ "name": "",
471
+ "type": "uint64"
472
+ }
473
+ ],
474
+ "stateMutability": "view",
475
+ "type": "function"
476
+ },
477
+ {
478
+ "inputs": [],
479
+ "name": "KEY_REMOVAL_CHARGE",
480
+ "outputs": [
481
+ {
482
+ "internalType": "uint256",
483
+ "name": "",
484
+ "type": "uint256"
485
+ }
486
+ ],
487
+ "stateMutability": "view",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [],
492
+ "name": "MANAGER_ROLE",
493
+ "outputs": [
494
+ {
495
+ "internalType": "bytes32",
496
+ "name": "",
497
+ "type": "bytes32"
498
+ }
499
+ ],
500
+ "stateMutability": "view",
501
+ "type": "function"
502
+ },
503
+ {
504
+ "inputs": [],
505
+ "name": "MAX_BATCH",
506
+ "outputs": [
507
+ {
508
+ "internalType": "uint256",
509
+ "name": "",
510
+ "type": "uint256"
511
+ }
512
+ ],
513
+ "stateMutability": "view",
514
+ "type": "function"
515
+ },
516
+ {
517
+ "inputs": [],
518
+ "name": "MAX_REMOVE_BATCH",
519
+ "outputs": [
520
+ {
521
+ "internalType": "uint256",
522
+ "name": "",
523
+ "type": "uint256"
524
+ }
525
+ ],
526
+ "stateMutability": "view",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [],
531
+ "name": "SECONDS_PER_SLOT",
532
+ "outputs": [
533
+ {
534
+ "internalType": "uint64",
535
+ "name": "",
536
+ "type": "uint64"
537
+ }
538
+ ],
539
+ "stateMutability": "view",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [],
544
+ "name": "SLOTS_PER_EPOCH",
545
+ "outputs": [
546
+ {
547
+ "internalType": "uint64",
548
+ "name": "",
549
+ "type": "uint64"
550
+ }
551
+ ],
552
+ "stateMutability": "view",
553
+ "type": "function"
554
+ },
555
+ {
556
+ "inputs": [],
557
+ "name": "UPGRADE_INTERFACE_VERSION",
558
+ "outputs": [
559
+ {
560
+ "internalType": "string",
561
+ "name": "",
562
+ "type": "string"
563
+ }
564
+ ],
565
+ "stateMutability": "view",
566
+ "type": "function"
567
+ },
568
+ {
569
+ "inputs": [
570
+ {
571
+ "internalType": "uint256",
572
+ "name": "",
573
+ "type": "uint256"
574
+ }
575
+ ],
576
+ "name": "_pexits",
577
+ "outputs": [
578
+ {
579
+ "internalType": "uint64",
580
+ "name": "valIndex",
581
+ "type": "uint64"
582
+ },
583
+ {
584
+ "internalType": "uint64",
585
+ "name": "gweiAmount",
586
+ "type": "uint64"
587
+ }
588
+ ],
589
+ "stateMutability": "view",
590
+ "type": "function"
591
+ },
592
+ {
593
+ "inputs": [
594
+ {
595
+ "internalType": "uint256",
596
+ "name": "",
597
+ "type": "uint256"
598
+ }
599
+ ],
600
+ "name": "_topups",
601
+ "outputs": [
602
+ {
603
+ "internalType": "uint64",
604
+ "name": "valIndex",
605
+ "type": "uint64"
606
+ },
607
+ {
608
+ "internalType": "uint64",
609
+ "name": "gweiAmount",
610
+ "type": "uint64"
611
+ }
612
+ ],
613
+ "stateMutability": "view",
614
+ "type": "function"
615
+ },
616
+ {
617
+ "inputs": [],
618
+ "name": "accounting",
619
+ "outputs": [
620
+ {
621
+ "internalType": "contract IAccounting",
622
+ "name": "",
623
+ "type": "address"
624
+ }
625
+ ],
626
+ "stateMutability": "view",
627
+ "type": "function"
628
+ },
629
+ {
630
+ "inputs": [
631
+ {
632
+ "internalType": "uint256",
633
+ "name": "",
634
+ "type": "uint256"
635
+ }
636
+ ],
637
+ "name": "allValIndexes",
638
+ "outputs": [
639
+ {
640
+ "internalType": "uint64",
641
+ "name": "",
642
+ "type": "uint64"
643
+ }
644
+ ],
645
+ "stateMutability": "view",
646
+ "type": "function"
647
+ },
648
+ {
649
+ "inputs": [],
650
+ "name": "authority",
651
+ "outputs": [
652
+ {
653
+ "internalType": "address",
654
+ "name": "",
655
+ "type": "address"
656
+ }
657
+ ],
658
+ "stateMutability": "view",
659
+ "type": "function"
660
+ },
661
+ {
662
+ "inputs": [],
663
+ "name": "availableExitCount",
664
+ "outputs": [
665
+ {
666
+ "internalType": "uint64",
667
+ "name": "exitsAvailable",
668
+ "type": "uint64"
669
+ }
670
+ ],
671
+ "stateMutability": "view",
672
+ "type": "function"
673
+ },
674
+ {
675
+ "inputs": [],
676
+ "name": "availableFlowCounts",
677
+ "outputs": [
678
+ {
679
+ "internalType": "uint64",
680
+ "name": "topupsAvail",
681
+ "type": "uint64"
682
+ },
683
+ {
684
+ "internalType": "uint64",
685
+ "name": "pexitsAvail",
686
+ "type": "uint64"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [
694
+ {
695
+ "internalType": "uint256",
696
+ "name": "nKeys",
697
+ "type": "uint256"
698
+ }
699
+ ],
700
+ "name": "batchDeposit",
701
+ "outputs": [],
702
+ "stateMutability": "payable",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [
707
+ {
708
+ "internalType": "bytes",
709
+ "name": "pubkey",
710
+ "type": "bytes"
711
+ },
712
+ {
713
+ "internalType": "bytes32",
714
+ "name": "withdrawalCredentials",
715
+ "type": "bytes32"
716
+ },
717
+ {
718
+ "internalType": "bytes",
719
+ "name": "signature",
720
+ "type": "bytes"
721
+ }
722
+ ],
723
+ "name": "computeRootFor",
724
+ "outputs": [
725
+ {
726
+ "internalType": "bytes32",
727
+ "name": "",
728
+ "type": "bytes32"
729
+ }
730
+ ],
731
+ "stateMutability": "pure",
732
+ "type": "function"
733
+ },
734
+ {
735
+ "inputs": [
736
+ {
737
+ "internalType": "uint64",
738
+ "name": "topupCount",
739
+ "type": "uint64"
740
+ },
741
+ {
742
+ "internalType": "uint64",
743
+ "name": "pexitCount",
744
+ "type": "uint64"
745
+ }
746
+ ],
747
+ "name": "consumeByCounts",
748
+ "outputs": [
749
+ {
750
+ "internalType": "uint64",
751
+ "name": "topupsSumGwei",
752
+ "type": "uint64"
753
+ },
754
+ {
755
+ "internalType": "uint64",
756
+ "name": "pexitsSumGwei",
757
+ "type": "uint64"
758
+ }
759
+ ],
760
+ "stateMutability": "nonpayable",
761
+ "type": "function"
762
+ },
763
+ {
764
+ "inputs": [
765
+ {
766
+ "internalType": "uint64",
767
+ "name": "exitCount",
768
+ "type": "uint64"
769
+ }
770
+ ],
771
+ "name": "consumeExits",
772
+ "outputs": [],
773
+ "stateMutability": "nonpayable",
774
+ "type": "function"
775
+ },
776
+ {
777
+ "inputs": [],
778
+ "name": "depositCursor",
779
+ "outputs": [
780
+ {
781
+ "internalType": "uint256",
782
+ "name": "",
783
+ "type": "uint256"
784
+ }
785
+ ],
786
+ "stateMutability": "view",
787
+ "type": "function"
788
+ },
789
+ {
790
+ "inputs": [],
791
+ "name": "depositManager",
792
+ "outputs": [
793
+ {
794
+ "internalType": "contract IDepositManager",
795
+ "name": "",
796
+ "type": "address"
797
+ }
798
+ ],
799
+ "stateMutability": "view",
800
+ "type": "function"
801
+ },
802
+ {
803
+ "inputs": [
804
+ {
805
+ "internalType": "uint256",
806
+ "name": "",
807
+ "type": "uint256"
808
+ }
809
+ ],
810
+ "name": "exitIndexes",
811
+ "outputs": [
812
+ {
813
+ "internalType": "uint64",
814
+ "name": "",
815
+ "type": "uint64"
816
+ }
817
+ ],
818
+ "stateMutability": "view",
819
+ "type": "function"
820
+ },
821
+ {
822
+ "inputs": [],
823
+ "name": "exitsConsumed",
824
+ "outputs": [
825
+ {
826
+ "internalType": "uint256",
827
+ "name": "",
828
+ "type": "uint256"
829
+ }
830
+ ],
831
+ "stateMutability": "view",
832
+ "type": "function"
833
+ },
834
+ {
835
+ "inputs": [],
836
+ "name": "exitsRecorded",
837
+ "outputs": [
838
+ {
839
+ "internalType": "uint256",
840
+ "name": "",
841
+ "type": "uint256"
842
+ }
843
+ ],
844
+ "stateMutability": "view",
845
+ "type": "function"
846
+ },
847
+ {
848
+ "inputs": [
849
+ {
850
+ "internalType": "uint64",
851
+ "name": "valIndex",
852
+ "type": "uint64"
853
+ }
854
+ ],
855
+ "name": "getActivationEpoch",
856
+ "outputs": [
857
+ {
858
+ "internalType": "uint64",
859
+ "name": "",
860
+ "type": "uint64"
861
+ }
862
+ ],
863
+ "stateMutability": "view",
864
+ "type": "function"
865
+ },
866
+ {
867
+ "inputs": [
868
+ {
869
+ "internalType": "uint64",
870
+ "name": "ts",
871
+ "type": "uint64"
872
+ }
873
+ ],
874
+ "name": "getActiveSet",
875
+ "outputs": [
876
+ {
877
+ "internalType": "bytes32",
878
+ "name": "activeHash",
879
+ "type": "bytes32"
880
+ },
881
+ {
882
+ "internalType": "uint64",
883
+ "name": "activeCount",
884
+ "type": "uint64"
885
+ }
886
+ ],
887
+ "stateMutability": "view",
888
+ "type": "function"
889
+ },
890
+ {
891
+ "inputs": [],
892
+ "name": "getAllValIndexes",
893
+ "outputs": [
894
+ {
895
+ "internalType": "uint64[]",
896
+ "name": "",
897
+ "type": "uint64[]"
898
+ }
899
+ ],
900
+ "stateMutability": "view",
901
+ "type": "function"
902
+ },
903
+ {
904
+ "inputs": [
905
+ {
906
+ "internalType": "uint256",
907
+ "name": "start",
908
+ "type": "uint256"
909
+ },
910
+ {
911
+ "internalType": "uint256",
912
+ "name": "count",
913
+ "type": "uint256"
914
+ }
915
+ ],
916
+ "name": "getExitIndexes",
917
+ "outputs": [
918
+ {
919
+ "internalType": "uint64[]",
920
+ "name": "out",
921
+ "type": "uint64[]"
922
+ }
923
+ ],
924
+ "stateMutability": "view",
925
+ "type": "function"
926
+ },
927
+ {
928
+ "inputs": [
929
+ {
930
+ "internalType": "uint64",
931
+ "name": "valIndex",
932
+ "type": "uint64"
933
+ }
934
+ ],
935
+ "name": "getKeyMetaByindex",
936
+ "outputs": [
937
+ {
938
+ "internalType": "bool",
939
+ "name": "exists",
940
+ "type": "bool"
941
+ },
942
+ {
943
+ "internalType": "uint256",
944
+ "name": "id",
945
+ "type": "uint256"
946
+ },
947
+ {
948
+ "internalType": "address",
949
+ "name": "operator",
950
+ "type": "address"
951
+ },
952
+ {
953
+ "internalType": "uint8",
954
+ "name": "status",
955
+ "type": "uint8"
956
+ }
957
+ ],
958
+ "stateMutability": "view",
959
+ "type": "function"
960
+ },
961
+ {
962
+ "inputs": [
963
+ {
964
+ "internalType": "bytes",
965
+ "name": "pubkey",
966
+ "type": "bytes"
967
+ }
968
+ ],
969
+ "name": "getValIndexByPubkey",
970
+ "outputs": [
971
+ {
972
+ "internalType": "bool",
973
+ "name": "exists",
974
+ "type": "bool"
975
+ },
976
+ {
977
+ "internalType": "uint64",
978
+ "name": "valIndex",
979
+ "type": "uint64"
980
+ },
981
+ {
982
+ "internalType": "uint256",
983
+ "name": "id",
984
+ "type": "uint256"
985
+ },
986
+ {
987
+ "internalType": "address",
988
+ "name": "operator",
989
+ "type": "address"
990
+ },
991
+ {
992
+ "internalType": "uint8",
993
+ "name": "status",
994
+ "type": "uint8"
995
+ },
996
+ {
997
+ "internalType": "uint64",
998
+ "name": "activationEpoch",
999
+ "type": "uint64"
1000
+ }
1001
+ ],
1002
+ "stateMutability": "view",
1003
+ "type": "function"
1004
+ },
1005
+ {
1006
+ "inputs": [
1007
+ {
1008
+ "internalType": "uint64",
1009
+ "name": "valIndex",
1010
+ "type": "uint64"
1011
+ }
1012
+ ],
1013
+ "name": "getWithdrawableEpoch",
1014
+ "outputs": [
1015
+ {
1016
+ "internalType": "uint64",
1017
+ "name": "",
1018
+ "type": "uint64"
1019
+ }
1020
+ ],
1021
+ "stateMutability": "view",
1022
+ "type": "function"
1023
+ },
1024
+ {
1025
+ "inputs": [
1026
+ {
1027
+ "internalType": "address",
1028
+ "name": "manager",
1029
+ "type": "address"
1030
+ },
1031
+ {
1032
+ "internalType": "bytes32",
1033
+ "name": "_withdrawalCreds",
1034
+ "type": "bytes32"
1035
+ },
1036
+ {
1037
+ "internalType": "address",
1038
+ "name": "bdc",
1039
+ "type": "address"
1040
+ },
1041
+ {
1042
+ "internalType": "address",
1043
+ "name": "_acc",
1044
+ "type": "address"
1045
+ },
1046
+ {
1047
+ "internalType": "address",
1048
+ "name": "_depMan",
1049
+ "type": "address"
1050
+ },
1051
+ {
1052
+ "internalType": "uint64",
1053
+ "name": "_genesis",
1054
+ "type": "uint64"
1055
+ }
1056
+ ],
1057
+ "name": "initialize",
1058
+ "outputs": [],
1059
+ "stateMutability": "nonpayable",
1060
+ "type": "function"
1061
+ },
1062
+ {
1063
+ "inputs": [],
1064
+ "name": "initializeV2",
1065
+ "outputs": [],
1066
+ "stateMutability": "nonpayable",
1067
+ "type": "function"
1068
+ },
1069
+ {
1070
+ "inputs": [],
1071
+ "name": "isConsumingScheduledOp",
1072
+ "outputs": [
1073
+ {
1074
+ "internalType": "bytes4",
1075
+ "name": "",
1076
+ "type": "bytes4"
1077
+ }
1078
+ ],
1079
+ "stateMutability": "view",
1080
+ "type": "function"
1081
+ },
1082
+ {
1083
+ "inputs": [
1084
+ {
1085
+ "internalType": "uint64",
1086
+ "name": "",
1087
+ "type": "uint64"
1088
+ }
1089
+ ],
1090
+ "name": "keyIdByValindex",
1091
+ "outputs": [
1092
+ {
1093
+ "internalType": "uint256",
1094
+ "name": "",
1095
+ "type": "uint256"
1096
+ }
1097
+ ],
1098
+ "stateMutability": "view",
1099
+ "type": "function"
1100
+ },
1101
+ {
1102
+ "inputs": [
1103
+ {
1104
+ "internalType": "uint256",
1105
+ "name": "",
1106
+ "type": "uint256"
1107
+ }
1108
+ ],
1109
+ "name": "keys",
1110
+ "outputs": [
1111
+ {
1112
+ "internalType": "bytes",
1113
+ "name": "pubkey",
1114
+ "type": "bytes"
1115
+ },
1116
+ {
1117
+ "internalType": "bytes",
1118
+ "name": "signature",
1119
+ "type": "bytes"
1120
+ },
1121
+ {
1122
+ "internalType": "bytes32",
1123
+ "name": "depositDataRoot",
1124
+ "type": "bytes32"
1125
+ },
1126
+ {
1127
+ "internalType": "address",
1128
+ "name": "operator",
1129
+ "type": "address"
1130
+ },
1131
+ {
1132
+ "internalType": "enum StakingModuleV2.VStatus",
1133
+ "name": "status",
1134
+ "type": "uint8"
1135
+ },
1136
+ {
1137
+ "internalType": "uint64",
1138
+ "name": "valIndex",
1139
+ "type": "uint64"
1140
+ }
1141
+ ],
1142
+ "stateMutability": "view",
1143
+ "type": "function"
1144
+ },
1145
+ {
1146
+ "inputs": [
1147
+ {
1148
+ "internalType": "address",
1149
+ "name": "operator",
1150
+ "type": "address"
1151
+ },
1152
+ {
1153
+ "internalType": "uint256",
1154
+ "name": "tokenShares",
1155
+ "type": "uint256"
1156
+ }
1157
+ ],
1158
+ "name": "lockBond",
1159
+ "outputs": [],
1160
+ "stateMutability": "nonpayable",
1161
+ "type": "function"
1162
+ },
1163
+ {
1164
+ "inputs": [
1165
+ {
1166
+ "internalType": "uint256",
1167
+ "name": "id",
1168
+ "type": "uint256"
1169
+ }
1170
+ ],
1171
+ "name": "markWithdrawn",
1172
+ "outputs": [],
1173
+ "stateMutability": "nonpayable",
1174
+ "type": "function"
1175
+ },
1176
+ {
1177
+ "inputs": [
1178
+ {
1179
+ "internalType": "uint64",
1180
+ "name": "",
1181
+ "type": "uint64"
1182
+ }
1183
+ ],
1184
+ "name": "metaByIndex",
1185
+ "outputs": [
1186
+ {
1187
+ "internalType": "uint64",
1188
+ "name": "activationEpoch",
1189
+ "type": "uint64"
1190
+ },
1191
+ {
1192
+ "internalType": "uint64",
1193
+ "name": "withdrawableEpoch",
1194
+ "type": "uint64"
1195
+ },
1196
+ {
1197
+ "internalType": "uint64",
1198
+ "name": "valIndex",
1199
+ "type": "uint64"
1200
+ },
1201
+ {
1202
+ "internalType": "bytes32",
1203
+ "name": "pubkeyHash",
1204
+ "type": "bytes32"
1205
+ }
1206
+ ],
1207
+ "stateMutability": "view",
1208
+ "type": "function"
1209
+ },
1210
+ {
1211
+ "inputs": [],
1212
+ "name": "nextId",
1213
+ "outputs": [
1214
+ {
1215
+ "internalType": "uint256",
1216
+ "name": "",
1217
+ "type": "uint256"
1218
+ }
1219
+ ],
1220
+ "stateMutability": "view",
1221
+ "type": "function"
1222
+ },
1223
+ {
1224
+ "inputs": [
1225
+ {
1226
+ "internalType": "address",
1227
+ "name": "",
1228
+ "type": "address"
1229
+ }
1230
+ ],
1231
+ "name": "operators",
1232
+ "outputs": [
1233
+ {
1234
+ "internalType": "uint32",
1235
+ "name": "pendingKeys",
1236
+ "type": "uint32"
1237
+ },
1238
+ {
1239
+ "internalType": "uint32",
1240
+ "name": "activeKeys",
1241
+ "type": "uint32"
1242
+ },
1243
+ {
1244
+ "internalType": "uint64",
1245
+ "name": "lastDepositTs",
1246
+ "type": "uint64"
1247
+ }
1248
+ ],
1249
+ "stateMutability": "view",
1250
+ "type": "function"
1251
+ },
1252
+ {
1253
+ "inputs": [],
1254
+ "name": "pause",
1255
+ "outputs": [],
1256
+ "stateMutability": "nonpayable",
1257
+ "type": "function"
1258
+ },
1259
+ {
1260
+ "inputs": [],
1261
+ "name": "paused",
1262
+ "outputs": [
1263
+ {
1264
+ "internalType": "bool",
1265
+ "name": "",
1266
+ "type": "bool"
1267
+ }
1268
+ ],
1269
+ "stateMutability": "view",
1270
+ "type": "function"
1271
+ },
1272
+ {
1273
+ "inputs": [],
1274
+ "name": "pendingCount",
1275
+ "outputs": [
1276
+ {
1277
+ "internalType": "uint32",
1278
+ "name": "",
1279
+ "type": "uint32"
1280
+ }
1281
+ ],
1282
+ "stateMutability": "view",
1283
+ "type": "function"
1284
+ },
1285
+ {
1286
+ "inputs": [],
1287
+ "name": "pexitsConsumed",
1288
+ "outputs": [
1289
+ {
1290
+ "internalType": "uint256",
1291
+ "name": "",
1292
+ "type": "uint256"
1293
+ }
1294
+ ],
1295
+ "stateMutability": "view",
1296
+ "type": "function"
1297
+ },
1298
+ {
1299
+ "inputs": [
1300
+ {
1301
+ "internalType": "uint64",
1302
+ "name": "topupCount",
1303
+ "type": "uint64"
1304
+ },
1305
+ {
1306
+ "internalType": "uint64",
1307
+ "name": "pexitCount",
1308
+ "type": "uint64"
1309
+ }
1310
+ ],
1311
+ "name": "previewByCounts",
1312
+ "outputs": [
1313
+ {
1314
+ "internalType": "uint64",
1315
+ "name": "topupsSumGwei",
1316
+ "type": "uint64"
1317
+ },
1318
+ {
1319
+ "internalType": "uint64",
1320
+ "name": "pexitsSumGwei",
1321
+ "type": "uint64"
1322
+ }
1323
+ ],
1324
+ "stateMutability": "view",
1325
+ "type": "function"
1326
+ },
1327
+ {
1328
+ "inputs": [],
1329
+ "name": "proxiableUUID",
1330
+ "outputs": [
1331
+ {
1332
+ "internalType": "bytes32",
1333
+ "name": "",
1334
+ "type": "bytes32"
1335
+ }
1336
+ ],
1337
+ "stateMutability": "view",
1338
+ "type": "function"
1339
+ },
1340
+ {
1341
+ "inputs": [
1342
+ {
1343
+ "internalType": "bytes32",
1344
+ "name": "",
1345
+ "type": "bytes32"
1346
+ }
1347
+ ],
1348
+ "name": "pubkeyUsed",
1349
+ "outputs": [
1350
+ {
1351
+ "internalType": "bool",
1352
+ "name": "",
1353
+ "type": "bool"
1354
+ }
1355
+ ],
1356
+ "stateMutability": "view",
1357
+ "type": "function"
1358
+ },
1359
+ {
1360
+ "inputs": [
1361
+ {
1362
+ "internalType": "uint64",
1363
+ "name": "id",
1364
+ "type": "uint64"
1365
+ },
1366
+ {
1367
+ "internalType": "bytes",
1368
+ "name": "pubkey",
1369
+ "type": "bytes"
1370
+ },
1371
+ {
1372
+ "internalType": "uint64",
1373
+ "name": "ts",
1374
+ "type": "uint64"
1375
+ },
1376
+ {
1377
+ "internalType": "bytes32[]",
1378
+ "name": "branchWitnesses",
1379
+ "type": "bytes32[]"
1380
+ },
1381
+ {
1382
+ "internalType": "bytes32",
1383
+ "name": "actLeaf",
1384
+ "type": "bytes32"
1385
+ },
1386
+ {
1387
+ "internalType": "bytes32[]",
1388
+ "name": "leafWitnesses",
1389
+ "type": "bytes32[]"
1390
+ },
1391
+ {
1392
+ "internalType": "uint256",
1393
+ "name": "index",
1394
+ "type": "uint256"
1395
+ },
1396
+ {
1397
+ "internalType": "uint64",
1398
+ "name": "expectedActivationEpoch",
1399
+ "type": "uint64"
1400
+ }
1401
+ ],
1402
+ "name": "recordActivationEpoch",
1403
+ "outputs": [],
1404
+ "stateMutability": "nonpayable",
1405
+ "type": "function"
1406
+ },
1407
+ {
1408
+ "inputs": [
1409
+ {
1410
+ "internalType": "uint64",
1411
+ "name": "valIndex",
1412
+ "type": "uint64"
1413
+ },
1414
+ {
1415
+ "internalType": "uint64",
1416
+ "name": "gweiAmount",
1417
+ "type": "uint64"
1418
+ }
1419
+ ],
1420
+ "name": "recordPartialExit",
1421
+ "outputs": [],
1422
+ "stateMutability": "nonpayable",
1423
+ "type": "function"
1424
+ },
1425
+ {
1426
+ "inputs": [
1427
+ {
1428
+ "internalType": "uint64",
1429
+ "name": "valIndex",
1430
+ "type": "uint64"
1431
+ },
1432
+ {
1433
+ "internalType": "uint64",
1434
+ "name": "ts",
1435
+ "type": "uint64"
1436
+ },
1437
+ {
1438
+ "internalType": "bytes32[]",
1439
+ "name": "branchWitnesses",
1440
+ "type": "bytes32[]"
1441
+ },
1442
+ {
1443
+ "internalType": "bytes32",
1444
+ "name": "leaf",
1445
+ "type": "bytes32"
1446
+ },
1447
+ {
1448
+ "internalType": "bytes32[]",
1449
+ "name": "leafWitnesses",
1450
+ "type": "bytes32[]"
1451
+ },
1452
+ {
1453
+ "internalType": "uint64",
1454
+ "name": "expectedWithdrawableEpoch",
1455
+ "type": "uint64"
1456
+ }
1457
+ ],
1458
+ "name": "recordWithdrawableEpoch",
1459
+ "outputs": [],
1460
+ "stateMutability": "nonpayable",
1461
+ "type": "function"
1462
+ },
1463
+ {
1464
+ "inputs": [
1465
+ {
1466
+ "internalType": "uint256[]",
1467
+ "name": "ids",
1468
+ "type": "uint256[]"
1469
+ }
1470
+ ],
1471
+ "name": "removeKeys",
1472
+ "outputs": [],
1473
+ "stateMutability": "nonpayable",
1474
+ "type": "function"
1475
+ },
1476
+ {
1477
+ "inputs": [
1478
+ {
1479
+ "internalType": "uint256",
1480
+ "name": "id",
1481
+ "type": "uint256"
1482
+ },
1483
+ {
1484
+ "internalType": "bytes",
1485
+ "name": "pubkey",
1486
+ "type": "bytes"
1487
+ },
1488
+ {
1489
+ "internalType": "bytes",
1490
+ "name": "signature",
1491
+ "type": "bytes"
1492
+ },
1493
+ {
1494
+ "internalType": "bytes32",
1495
+ "name": "depositDataRoot",
1496
+ "type": "bytes32"
1497
+ }
1498
+ ],
1499
+ "name": "replaceUploadedKeyData",
1500
+ "outputs": [],
1501
+ "stateMutability": "nonpayable",
1502
+ "type": "function"
1503
+ },
1504
+ {
1505
+ "inputs": [
1506
+ {
1507
+ "internalType": "address",
1508
+ "name": "newAuthority",
1509
+ "type": "address"
1510
+ }
1511
+ ],
1512
+ "name": "setAuthority",
1513
+ "outputs": [],
1514
+ "stateMutability": "nonpayable",
1515
+ "type": "function"
1516
+ },
1517
+ {
1518
+ "inputs": [
1519
+ {
1520
+ "internalType": "uint64",
1521
+ "name": "d",
1522
+ "type": "uint64"
1523
+ }
1524
+ ],
1525
+ "name": "setUnlockDelay",
1526
+ "outputs": [],
1527
+ "stateMutability": "nonpayable",
1528
+ "type": "function"
1529
+ },
1530
+ {
1531
+ "inputs": [
1532
+ {
1533
+ "internalType": "bytes32",
1534
+ "name": "creds",
1535
+ "type": "bytes32"
1536
+ }
1537
+ ],
1538
+ "name": "setWithdrawalCreds",
1539
+ "outputs": [],
1540
+ "stateMutability": "nonpayable",
1541
+ "type": "function"
1542
+ },
1543
+ {
1544
+ "inputs": [
1545
+ {
1546
+ "internalType": "address",
1547
+ "name": "operator",
1548
+ "type": "address"
1549
+ },
1550
+ {
1551
+ "internalType": "uint256",
1552
+ "name": "penalty",
1553
+ "type": "uint256"
1554
+ },
1555
+ {
1556
+ "internalType": "uint256",
1557
+ "name": "id",
1558
+ "type": "uint256"
1559
+ }
1560
+ ],
1561
+ "name": "slash",
1562
+ "outputs": [],
1563
+ "stateMutability": "nonpayable",
1564
+ "type": "function"
1565
+ },
1566
+ {
1567
+ "inputs": [
1568
+ {
1569
+ "internalType": "address payable",
1570
+ "name": "to",
1571
+ "type": "address"
1572
+ }
1573
+ ],
1574
+ "name": "sweep",
1575
+ "outputs": [],
1576
+ "stateMutability": "nonpayable",
1577
+ "type": "function"
1578
+ },
1579
+ {
1580
+ "inputs": [
1581
+ {
1582
+ "internalType": "uint256",
1583
+ "name": "id",
1584
+ "type": "uint256"
1585
+ }
1586
+ ],
1587
+ "name": "topUpValidator",
1588
+ "outputs": [],
1589
+ "stateMutability": "payable",
1590
+ "type": "function"
1591
+ },
1592
+ {
1593
+ "inputs": [],
1594
+ "name": "topupsConsumed",
1595
+ "outputs": [
1596
+ {
1597
+ "internalType": "uint256",
1598
+ "name": "",
1599
+ "type": "uint256"
1600
+ }
1601
+ ],
1602
+ "stateMutability": "view",
1603
+ "type": "function"
1604
+ },
1605
+ {
1606
+ "inputs": [],
1607
+ "name": "unlockBond",
1608
+ "outputs": [],
1609
+ "stateMutability": "nonpayable",
1610
+ "type": "function"
1611
+ },
1612
+ {
1613
+ "inputs": [],
1614
+ "name": "unlockDelay",
1615
+ "outputs": [
1616
+ {
1617
+ "internalType": "uint64",
1618
+ "name": "",
1619
+ "type": "uint64"
1620
+ }
1621
+ ],
1622
+ "stateMutability": "view",
1623
+ "type": "function"
1624
+ },
1625
+ {
1626
+ "inputs": [],
1627
+ "name": "unpause",
1628
+ "outputs": [],
1629
+ "stateMutability": "nonpayable",
1630
+ "type": "function"
1631
+ },
1632
+ {
1633
+ "inputs": [
1634
+ {
1635
+ "internalType": "address",
1636
+ "name": "newImplementation",
1637
+ "type": "address"
1638
+ },
1639
+ {
1640
+ "internalType": "bytes",
1641
+ "name": "data",
1642
+ "type": "bytes"
1643
+ }
1644
+ ],
1645
+ "name": "upgradeToAndCall",
1646
+ "outputs": [],
1647
+ "stateMutability": "payable",
1648
+ "type": "function"
1649
+ },
1650
+ {
1651
+ "inputs": [
1652
+ {
1653
+ "internalType": "bytes",
1654
+ "name": "pubkey",
1655
+ "type": "bytes"
1656
+ },
1657
+ {
1658
+ "internalType": "bytes",
1659
+ "name": "signature",
1660
+ "type": "bytes"
1661
+ },
1662
+ {
1663
+ "internalType": "bytes32",
1664
+ "name": "depositDataRoot",
1665
+ "type": "bytes32"
1666
+ }
1667
+ ],
1668
+ "name": "uploadKey",
1669
+ "outputs": [],
1670
+ "stateMutability": "nonpayable",
1671
+ "type": "function"
1672
+ },
1673
+ {
1674
+ "inputs": [
1675
+ {
1676
+ "internalType": "bytes32",
1677
+ "name": "",
1678
+ "type": "bytes32"
1679
+ }
1680
+ ],
1681
+ "name": "valIndexByPubkeyHash",
1682
+ "outputs": [
1683
+ {
1684
+ "internalType": "uint64",
1685
+ "name": "",
1686
+ "type": "uint64"
1687
+ }
1688
+ ],
1689
+ "stateMutability": "view",
1690
+ "type": "function"
1691
+ },
1692
+ {
1693
+ "inputs": [
1694
+ {
1695
+ "internalType": "bytes",
1696
+ "name": "pubkey",
1697
+ "type": "bytes"
1698
+ },
1699
+ {
1700
+ "internalType": "bytes",
1701
+ "name": "signature",
1702
+ "type": "bytes"
1703
+ },
1704
+ {
1705
+ "internalType": "bytes32",
1706
+ "name": "depositDataRoot",
1707
+ "type": "bytes32"
1708
+ },
1709
+ {
1710
+ "internalType": "bytes32",
1711
+ "name": "withdrawalCredentials",
1712
+ "type": "bytes32"
1713
+ }
1714
+ ],
1715
+ "name": "validateDepositKey",
1716
+ "outputs": [
1717
+ {
1718
+ "internalType": "bool",
1719
+ "name": "isValid",
1720
+ "type": "bool"
1721
+ },
1722
+ {
1723
+ "internalType": "string",
1724
+ "name": "errorMessage",
1725
+ "type": "string"
1726
+ }
1727
+ ],
1728
+ "stateMutability": "pure",
1729
+ "type": "function"
1730
+ },
1731
+ {
1732
+ "inputs": [],
1733
+ "name": "withdrawalCreds",
1734
+ "outputs": [
1735
+ {
1736
+ "internalType": "bytes32",
1737
+ "name": "",
1738
+ "type": "bytes32"
1739
+ }
1740
+ ],
1741
+ "stateMutability": "view",
1742
+ "type": "function"
1743
+ },
1744
+ {
1745
+ "stateMutability": "payable",
1746
+ "type": "receive"
1747
+ }
1748
+ ],
1749
+ "bytecode": "0x60a0806040523460295730608052615e17908161002f82396080518181816117140152615bed0152f35b600080fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806258a4ae1461046a57806301681a62146104655780630519da321461046057806306b27f241461045b57806309b719841461045657806309f1328f146104515780630b4bc85b1461044c5780630cb6aaf114610447578063102fb7b61461044257806313e7c9d81461043d5780631b41993c146104385780631c8553a2146104335780631c9dceae1461042e5780631cf1a093146104295780632798c823146104245780632f50be0e1461041f578063304b90711461041a5780633f4ba83a1461041557806340ed9dc214610410578063443fb6901461040b5780634dc97dce146104065780634f1ef2861461040157806352d1902d146103fc57806354d23f85146103f75780635c8db746146103f25780635c975abb146103ed5780635cc4657c146103e85780635cd8a76b146103e357806361b8ce8c146103de5780636c7ac9d8146103d957806370f81f6c146103d4578063770a9d2f146103cf5780637968d638146103ca5780637a9e5e4b146103c55780638171c299146103c05780638246438b146103bb5780638379d75b146103b65780638456cb59146103b15780638663bcc4146103ac5780638fb36037146103a75780639156032e146103a2578063950bff9f1461039d5780639624e83e146103985780639cbdac8714610393578063a0cc98241461038e578063a4a2c79a14610389578063ad3cb1cc14610384578063b674800e1461037f578063bf7e214f1461037a578063c7764f7314610375578063c955e9fa14610370578063ca7a285f1461036b578063d091b90514610366578063d818610414610361578063d91cb43c1461035c578063da30e27914610357578063e013693114610352578063e9b826391461034d578063ea70b4af14610348578063ec87621c14610343578063f00669c61461033e578063f013822214610339578063f1f05c9214610334578063f28824611461032f578063f4aa1dd51461032a578063f6c8c47f14610325578063f77ca8a914610320578063fb80e8121461031b5763fed1d0360361000e57613184565b613162565b613140565b612f34565b612d3a565b612d13565b612cda565b612c08565b612a9b565b612a60565b612a3c565b612953565b612935565b61291a565b6128e5565b6128a3565b612885565b6126ce565b612694565b612676565b612640565b6125db565b612595565b612541565b612523565b6124af565b612486565b61246a565b6122c8565b612275565b6121e5565b61217c565b612153565b612115565b61209e565b61201f565b611fd4565b611f9a565b611e13565b611dea565b611dcc565b611cfd565b611cdf565b611caf565b611b71565b61176c565b611701565b6115f5565b611553565b6114c0565b61145b565b611374565b611358565b6110db565b611080565b61103f565b610f46565b610f2a565b610eef565b610e8e565b610e52565b610dcc565b610a73565b610987565b610921565b6108bc565b610868565b610794565b61047f565b600091031261047a57565b600080fd5b3461047a5760008060031936011261078057610499614e4d565b336000908152601060205260409020546104c263ffffffff808316159081610772575b5061334f565b6104e36001600160401b03604092831c16801515908161073c575b506133ba565b600d54610500906001600160a01b03165b6001600160a01b031690565b81516305db4e8f60e51b8152336004820152909160208083602481875afa9283156106aa57859361071d575b5061053883151561340c565b815163a51fa5c760e01b81523360048201528181602481885afa9081156106aa5786916106f0575b506106e857600e5461057a906001600160a01b03166104f4565b82516360830ebb60e01b815260048101859052908290829060249082905afa9182156106aa5786926106bb575b5050925b83808411156106b3576105be908461345a565b935b84610621575050610604907f65c5c39ca61064b9545af9a922e6de8b7c97d48529bf44052f6748650b7d5d0092905b51938452602084015233929081906040820190565b0390a261061e6001600080516020615da283398151915255565b80f35b908093503b156106af578151638bc3920760e01b815233600482018190526024820186905260448201529285908490606490829084905af19182156106aa577f65c5c39ca61064b9545af9a922e6de8b7c97d48529bf44052f6748650b7d5d009361060493610691575b506105ef565b8061069e6106a492610cc1565b8061046f565b3861068b565b613400565b8480fd5b5084936105c0565b6106da9250803d106106e1575b6106d28183610d0f565b8101906133f1565b38806105a7565b503d6106c8565b5083926105ab565b6107109150823d8411610716575b6107088183610d0f565b810190613442565b38610560565b503d6106fe565b816107359294503d85116106e1576106d28183610d0f565b913861052c565b610769915061075d906107576008546001600160401b031690565b9061339f565b6001600160401b031690565b421015386104dd565b90508260201c1615386104bc565b80fd5b6001600160a01b0381160361047a57565b3461047a57602036600319011261047a576004356107b181610783565b6107b9614e4d565b6107c33633614f21565b4790816107e2575b6100196001600080516020615da283398151915255565b814710610843576001600160a01b031690600080808084865af1610804615033565b901561083e57506040519081527fc36b5179cb9c303b200074996eab2b3473eac370fdd7eba3bec636fe3510969690602090a238806107cb565b615a80565b5060405163cf47918160e01b81524760048201526024810191909152604490fd5b0390fd5b3461047a57600036600319011261047a5760206001600160401b0360085416604051908152f35b9181601f8401121561047a578235916001600160401b03831161047a576020838186019501011161047a57565b3461047a57606036600319011261047a576001600160401b0360043581811161047a576108ed90369060040161088f565b919060443591821161047a5760209261090d61091993369060040161088f565b92909160243591615105565b604051908152f35b3461047a57600036600319011261047a576020600754604051908152f35b60005b8381106109525750506000910152565b8181015183820152602001610942565b9060209161097b8151809281855285808601910161093f565b601f01601f1916010190565b3461047a57608036600319011261047a576001600160401b0360043581811161047a576109b890369060040161088f565b9060243592831161047a576109d46109e293369060040161088f565b9060643593604435936135b4565b90610a0160405192839215158352604060208401526040830190610962565b0390f35b60a435906001600160401b038216820361047a57565b600435906001600160401b038216820361047a57565b602435906001600160401b038216820361047a57565b604435906001600160401b038216820361047a57565b60e435906001600160401b038216820361047a57565b3461047a5760c036600319011261047a57600435610a9081610783565b60443590610a9d82610783565b606435610aa981610783565b608435610ab581610783565b610abd610a05565b91600080516020615dc283398151915254946001600160401b0360ff8760401c1615961680159081610bd3575b6001149081610bc9575b159081610bc0575b50610bae57600080516020615dc2833981519152805467ffffffffffffffff19166001179055610b359486610b89575b6024359061521e565b610b3b57005b600080516020615dc2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081015b0390a1005b600080516020615dc2833981519152805460ff60401b1916600160401b179055610b2c565b60405163f92ee8a960e01b8152600490fd5b90501538610afc565b303b159150610af4565b879150610aea565b90600182811c92168015610c0b575b6020831014610bf557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610bea565b805460009392610c2482610bdb565b91828252602093600191600181169081600014610c8c5750600114610c4b575b5050505050565b90939495506000929192528360002092846000945b838610610c7857505050500101903880808080610c44565b805485870183015294019385908201610c60565b60ff19168685015250505090151560051b010191503880808080610c44565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111610cd457604052565b610cab565b604081019081106001600160401b03821117610cd457604052565b602081019081106001600160401b03821117610cd457604052565b90601f801991011681019081106001600160401b03821117610cd457604052565b90610d4b610d449260405193848092610c15565b0383610d0f565b565b60071115610d5757565b634e487b7160e01b600052602160045260246000fd5b949296959391610d88610d969260c0885260c0880190610962565b908682036020880152610962565b60408501969096526001600160a01b031660608401526007811015610d575760a0916001600160401b0391608085015216910152565b3461047a57602036600319011261047a57600435600052600f602052604060002060405190610dff82610d448184610c15565b610a01604051610e1d81610e168160018701610c15565b0382610d0f565b600360028401549301546040519485946001600160401b038360a81c169360ff8460a01c169360018060a01b03169287610d6d565b3461047a57602036600319011261047a57600435610e703633614f21565b610e896001600160f81b03198216600160f91b14613751565b600155005b3461047a57602036600319011261047a57600435610eab81610783565b60018060a01b0316600052601060205260606040600020546001600160401b0363ffffffff916040519280821684528160201c16602084015260401c166040820152f35b3461047a57602036600319011261047a5760206001600160401b0380610f13610a1b565b166000526009825260406000205416604051908152f35b3461047a57600036600319011261047a57602060405160648152f35b3461047a57602036600319011261047a5760806001600160401b0380610f6a610a1b565b1660005260096020526040600020906001825492015490604051928181168452818160401c166020850152841c1660408301526060820152f35b634e487b7160e01b600052603260045260246000fd5b90600354821015610ffa57600360005260188260021c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b019260031b1690565b610fa4565b90600254821015610ffa57600260005260188260021c7f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace019260031b1690565b3461047a57602036600319011261047a5760043560035481101561047a576001600160401b03611070602092610fba565b90549060031b1c16604051908152f35b3461047a57602036600319011261047a5761001961109c610a1b565b6110a63633614f21565b6137aa565b9181601f8401121561047a578235916001600160401b03831161047a576020808501948460051b01011161047a57565b3461047a5760c036600319011261047a576110f4610a1b565b6110fc610a31565b6001600160401b039060443582811161047a5761111d9036906004016110ab565b939060843584811161047a576111379036906004016110ab565b61113f610a05565b948685169361114f85151561381c565b61116c866001600160401b03166000526009602052604060002090565b9861118f8661118961075d8d546001600160401b039060801c1690565b14613855565b73__$d69645fbc90682499a7586bfd77d6f89d8$__91823b1561047a576111d58989600097604051998a9889978897639714762960e01b89526064359260048a016138c5565b03915af480156106aa57611345575b50845460401c6001600160401b0316848416948591160361120157005b7f76c78808e83445970c71fb3f2e08dbace90d6720a9d23e05b5f88c8e085aefc3611297846112666112b39660039961123e6112cf9a1515613917565b9067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b61126f85613963565b61127d600160065401600655565b6040516001600160401b0390911681529081906020820190565b0390a26001600160401b03166000526012602052604060002090565b546112bf8115156139c0565b600052600f602052604060002090565b01805460a01c60ff166112e181610d4d565b6113066003821491828015611332575b801561131f575b61130190613a02565b610d4d565b61130c57005b805460ff60a01b1916600160a21b179055005b5061132981610d4d565b600481146112f8565b5061133c81610d4d565b600681146112f1565b8061069e61135292610cc1565b386111e4565b3461047a57600036600319011261047a576020604051600c8152f35b3461047a57600036600319011261047a5761138f3633614f21565b600080516020615d82833981519152805460ff8116156113db5760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b600a54811015610ffa57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80190600090565b600b54811015610ffa57600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190600090565b3461047a57602036600319011261047a57600435600a5481101561047a57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80154604080516001600160401b03808416825292821c909216602083015290f35b3461047a5761010036600319011261047a576114da610a1b565b6001600160401b039060243582811161047a576114fb90369060040161088f565b91611504610a47565b60643585811161047a5761151c9036906004016110ab565b60a49391933596871161047a5761153a6100199736906004016110ab565b949093611545610a5d565b9760c4359760843595613cb5565b3461047a57602036600319011261047a576004356000526011602052602060ff604060002054166040519015158152f35b6040519060c082018281106001600160401b03821117610cd457604052565b6001600160401b038111610cd457601f01601f191660200190565b9291926115ca826115a3565b916115d86040519384610d0f565b82948184528183011161047a578281602093846000960137010152565b604036600319011261047a5760043561160d81610783565b6024356001600160401b03811161047a573660238201121561047a5761163d9036906024816004013591016115be565b90611646615be3565b6116503633614f21565b611658615be3565b6040516352d1902d60e01b8152916020836004816001600160a01b0386165afa600093816116e0575b506116a757604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b90600080516020615d6283398151915283036116c7576100199250615c3d565b604051632a87526960e21b815260048101849052602490fd5b6116fa91945060203d6020116106e1576106d28183610d0f565b9238611681565b3461047a57600036600319011261047a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361175a576020604051600080516020615d628339815191528152f35b60405163703e46dd60e11b8152600490fd5b60208060031936011261047a5760049060043590611788614e4d565b6117906153b7565b61179a3633614f21565b81151580611b21575b6117ac90613fd6565b60166117d4836117cd6117c460165463ffffffff1690565b63ffffffff1690565b101561400f565b6117e76117e084614050565b341461408a565b6000906001600160401b034216925b848310611814576100196001600080516020615da283398151915255565b60155493600195601454965b15611843575b6118316000966140c9565b9561183e888811156140d8565b611820565b611867600361185c88600052600f602052604060002090565b015460a01c60ff1690565b61187081610d4d565b611826579390955093909361188482601555565b61189882600052600f602052604060002090565b9187600d6118af6104f4825460018060a01b031690565b60038601805460408051630308b70f60e61b81526001600160a01b0390921695820195865291979194919290918b9183918290819060200103915afa9081156106aa5761190d9163ffffffff91600091611af4575b50161515614132565b600c54611922906001600160a01b03166104f4565b906001549061194c8b61193e8751948592830160209181520190565b03601f198101845283610d0f565b600281015492803b1561047a576000926801bc16d674ec8000008f9361198a8951978896879586946304512a2360e31b865260018101928601614193565b03925af180156106aa57611a52926119cd8c8a61123e611a2e611a096119f46119da8f611a449b6104f49b611ae1575b50805460ff60a01b1916600160a11b1781555b546001600160a01b031690565b6001600160a01b0316600090815260106020526040902090565b93611a24611a0e611a09875463ffffffff1690565b6141d2565b865463ffffffff191663ffffffff909116178655565b5463ffffffff1690565b63ffffffff1663ffffffff196016541617601655565b94546001600160a01b031690565b843b1561047a579051632fbdb45f60e11b81526001600160a01b03909116818a01908152909360009185919082908490829060200103925af19283156106aa57611ac693611ace575b507f2a89b2e3d580398d6dc2db5e0f336b52602bbaa51afa9bb5cdf59239cf0d2bea600080a26140c9565b9193926117f6565b8061069e611adb92610cc1565b38611a9b565b8061069e611aee92610cc1565b386119ba565b611b1491508c8d3d10611b1a575b611b0c8183610d0f565b810190614116565b38611904565b503d611b02565b5060148211156117a3565b602090602060408183019282815285518094520193019160005b828110611b54575050505090565b83516001600160401b031685529381019392810192600101611b46565b3461047a57600036600319011261047a576040805160025480825291602082016002600052927f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace6000925b826003850110611c6a575093611bfa928492610a01965491818110611c50575b818110611c32575b818110611c14575b10611c06575b500382610d0f565b60405191829182611b2c565b60c01c815260200138611bf2565b608083901c6001600160401b03168452926001906020019301611bec565b604083901c6001600160401b03168452926001906020019301611be4565b6001600160401b0383168452926001906020019301611bdc565b81546001600160401b03808216885281831c81166020890152608082811c9091168389015260c09190911c606088015290950194600490930192600190910190611bbc565b3461047a57600036600319011261047a57602060ff600080516020615d8283398151915254166040519015158152f35b3461047a57600036600319011261047a576020600454604051908152f35b3461047a57600036600319011261047a57600080516020615dc2833981519152805460ff8160401c16908115611db7575b50610bae57600080516020615dc2833981519152805467ffffffffffffffff19166002179055600160401b60ff60401b19825416179055611d84600080516020615dc283398151915260ff60401b198154169055565b604051600281527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2908060208101610b84565b600291506001600160401b0316101538611d2e565b3461047a57600036600319011261047a576020601454604051908152f35b3461047a57600036600319011261047a57600e546040516001600160a01b039091168152602090f35b3461047a57606036600319011261047a57600435611e3081610783565b604435602435611e3e614e4d565b611e466153b7565b611e503633614f21565b6003611e6683600052600f602052604060002090565b0190611eb3825492611ea0600360ff60018060a01b0396611e8d888b1680998316146141fe565b60a01c16611e9a81610d4d565b14614242565b805460ff60a01b1916600360a11b179055565b600d54611ec8906001600160a01b03166104f4565b90813b1561047a576040516314d7c3d960e31b81526001600160a01b03959095166004860152602485018190526000949185908390604490829084905af19081156106aa577f4ed05e9673c26d2ed44f7ef6a7f2942df0ee3b5e1e17db4b99f9dcd261a339cd92611f4992611f87575b506040519081529081906020820190565b0390a27f89b4ab334d9e219338cbac42810fd34b6022a3c92fe6d54ab5ea805acaf92a868280a261061e6001600080516020615da283398151915255565b8061069e611f9492610cc1565b38611f38565b3461047a57602036600319011261047a576001600160401b03611fbb610a1b565b1660005260126020526020604060002054604051908152f35b3461047a57602036600319011261047a57608060ff611ff9611ff4610a1b565b61427b565b916040949394519415158552602085015260018060a01b03166040840152166060820152f35b3461047a57602036600319011261047a5760043561203c81610783565b600080516020615d42833981519152546001600160a01b0391908216330361208757803b1561206e57610019906153e2565b6040516361798f2f60e11b815291166004820152602490fd5b60405162d1953b60e31b8152336004820152602490fd5b3461047a57602036600319011261047a576004356001600160401b0380821161047a578060ff6120dd6120d760c095369060040161088f565b906142ed565b604080519615158752949098166020860152928401919091526001600160a01b031660608301529091166080820152911660a0820152f35b3461047a57602036600319011261047a5760206001600160401b0380612139610a1b565b166000526009825260406000205460401c16604051908152f35b3461047a57600036600319011261047a57600c546040516001600160a01b039091168152602090f35b3461047a57600036600319011261047a576121973633614f21565b61219f6153b7565b600080516020615d82833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461047a57604036600319011261047a576121fe610a1b565b612206610a31565b906122113633614f21565b6004549061221f818361543b565b916001600160401b038092168101809111612270576004556005549061224584836154dd565b9316810180911161227057600555604080516001600160401b03928316815292909116602083015290f35b613389565b3461047a57600036600319011261047a57600080516020615d428339815191525460a01c60ff16156122bf576020638fb3603760e01b5b6040516001600160e01b03199091168152f35b602060006122ac565b602036600319011261047a576122dc614e4d565b6122e46153b7565b6122ee3633614f21565b6122f93415156143c2565b6001600160401b03633b9aca0061231281340615614405565b612328600435600052600f602052604060002090565b60038101916123506003612341855460ff9060a01c1690565b61234a81610d4d565b1461443e565b61193e61237861235f84610d30565b61236761447b565b60015497889534041697889261552c565b600c546123a590612391906001600160a01b03166104f4565b936040519384916020830160209181520190565b6123ad61447b565b92803b1561047a576123da93600093604051958694859384936304512a2360e31b85528a600486016144a5565b039134905af19384156106aa5761242a61243d9461242f937fb0a1e9d4c331fe865c51739d6cef1dd1e0a4235b9e7540657a122a056122083297612457575b505460a81c6001600160401b031690565b615797565b6040519182913490836144d1565b0390a16100196001600080516020615da283398151915255565b8061069e61246492610cc1565b38612419565b3461047a57600036600319011261047a57602060405160148152f35b3461047a57600036600319011261047a57600d546040516001600160a01b039091168152602090f35b3461047a57600036600319011261047a576006546007548082106124ec578103908111612270576040516001600160401b03919091168152602090f35b60405162461bcd60e51b815260206004820152600f60248201526e457869747320756e646572666c6f7760881b6044820152606490fd5b3461047a57600036600319011261047a576020601554604051908152f35b3461047a57602036600319011261047a5760043560025481101561047a576001600160401b03612572602092610fff565b9190546040519260031b1c168152f35b6040519061258f82610cf4565b60008252565b3461047a57600036600319011261047a57610a016040516125b581610cd9565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610962565b3461047a57602036600319011261047a57600435600b5481101561047a57600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90154604080516001600160401b03808416825292821c909216602083015290f35b3461047a57600036600319011261047a57600080516020615d42833981519152546040516001600160a01b039091168152602090f35b3461047a57600036600319011261047a576020600654604051908152f35b3461047a57602036600319011261047a5760406001600160401b036126bf6126ba610a1b565b6145a6565b83519182529091166020820152f35b3461047a57604036600319011261047a5760006004356126ed81610783565b602061275b6024356126fd6153b7565b6127073633614f21565b61271281151561472a565b600d54612727906001600160a01b03166104f4565b60405163dd16713b60e01b81526001600160a01b038616600482015260248101929092529094859283919082906044820190565b03925af19182156106aa5760009261283e575b506127ee7ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b6058916001600160401b03806127cc6127bc8460018060a01b03166000526010602052604060002090565b5460401c6001600160401b031690565b16156127f3575b506040519384526001600160a01b0316929081906020820190565b0390a2005b6001600160a01b038216600090815260106020526040902061283891421667ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b386127d3565b7ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b605891925061287d6127ee9160203d6020116106e1576106d28183610d0f565b92915061276e565b3461047a57600036600319011261047a576020600154604051908152f35b3461047a57602036600319011261047a576001600160401b036128c4610a1b565b6128ce3633614f21565b166001600160401b03196008541617600855600080f35b3461047a57602036600319011261047a57600435600052601360205260206001600160401b0360406000205416604051908152f35b3461047a57600036600319011261047a576020604051818152f35b3461047a57600036600319011261047a576020600554604051908152f35b3461047a57604036600319011261047a5761296c610a1b565b612974610a31565b9061297f3633614f21565b6040519061298c82610cd9565b6001600160401b038091168252806020830193168352600b5492600160401b841015610cd4576001840180600b55841015610ffa57612a0f8261001995600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90194511684906001600160401b03166001600160401b0319825416179055565b5182546fffffffffffffffff00000000000000001916911660401b67ffffffffffffffff60401b16179055565b3461047a57600036600319011261047a57602063ffffffff60165416604051908152f35b3461047a57600036600319011261047a5760206040517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b3461047a57608036600319011261047a576004356001600160401b0360243581811161047a57612acf90369060040161088f565b909160443590811161047a57600292612aef612b9092369060040161088f565b91612b0d60643597612aff6153b7565b6112bf60145482111561475a565b94612b3e60ff6003880154612b2b3360018060a01b03831614614793565b60a01c16612b3881610d4d565b156147d2565b612b57612b516001548a878786886135b4565b9061481e565b612b623682846115be565b6020815191012091612b7387610d30565b6020815191012092838103612b94575b50505050600184016148e2565b0155005b612bec81612bd2612be2612bff97612bd2612bcd612bc9612bc2612bf9996000526011602052604060002090565b5460ff1690565b1590565b61484a565b6000526011602052604060002090565b805460ff19169055565b805460ff19166001179055565b866148e2565b38808080612b83565b3461047a57600036600319011261047a57600a54600b549060045490818110612ca257600554808410612c6a57612c4861075d612c4e9461075d9461345a565b9361345a565b604080516001600160401b039384168152919092166020820152f35b60405162461bcd60e51b815260206004820152601060248201526f70657869747320756e646572666c6f7760801b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f746f7075707320756e646572666c6f7760801b6044820152606490fd5b3461047a57604036600319011261047a57612cf3610a1b565b612c4e612d0a612d01610a31565b9260045461543b565b916005546154dd565b3461047a57600036600319011261047a5760206001600160401b0360005416604051908152f35b3461047a57602036600319011261047a576004356001600160401b03811161047a57612d6a9036906004016110ab565b612d726153b7565b612d7f60648211156149b0565b60009160005b828110612ebd575033600090815260106020526040902063ffffffff841693612df291612dd790612dc387612dbe835463ffffffff1690565b6141e8565b63ffffffff1663ffffffff19825416179055565b612ded611a2e86612dbe60165463ffffffff1690565b61406e565b80612e2a575b6040517f9946eba4018b5d38e97bb6f7e2d2b353a0160c45902a6055479df936934a59979080610b8486863384614a82565b600d54612e3f906001600160a01b03166104f4565b93843b1561047a57604051636976798f60e11b8152336004820152602481019290925263ffffffff166044820152926000908490606490829084905af19283156106aa577f9946eba4018b5d38e97bb6f7e2d2b353a0160c45902a6055479df936934a59979315612df8578061069e612eb792610cc1565b38612df8565b92612f2d600191612f286003612ee8612ed78989896149ec565b35600052600f602052604060002090565b01612f1560ff8254612f0233898060a01b038316146149fc565b60a01c16612f0f81610d4d565b15614a48565b805460ff60a01b1916600160a01b179055565b6140c9565b9301612d85565b3461047a57606036600319011261047a576001600160401b0360043581811161047a57612f6590369060040161088f565b909160243590811161047a57612f7f90369060040161088f565b929091604435612f8d6153b7565b612fa0612b5160015483888887896135b4565b612fda612bec612fb13685876115be565b60208151910120612bd2612fd5612bc9612bc2846000526011602052604060002090565b614aa4565b33600090815260106020526040902054612ffe9063ffffffff16613ca0565b613ca0565b600d54909490613016906001600160a01b03166104f4565b604051630308b70f60e61b81523360048201529190602090839060249082905afa9687156106aa5761307a6130bd9661306a6130e19a61308396600091613121575b5063ffffffff808c1691161015614ade565b613072611584565b9636916115be565b855236916115be565b6020830152604082015233606082015260006080820152600060a08201526130b86130af6014546140c9565b6112bf81601455565b614bf2565b3360009081526010602052604090209063ffffffff1663ffffffff19825416179055565b6130f6611a2e612ff960165463ffffffff1690565b336014547fcb2c934a3e9ec8b1063e85a3a228cad961b6af5aee38331ae08d7c76405e1262600080a3005b61313a915060203d602011611b1a57611b0c8183610d0f565b38613058565b3461047a57600036600319011261047a57602060405166470de4df8200008152f35b3461047a57604036600319011261047a57610a01611bfa602435600435614d5e565b3461047a57602036600319011261047a5761324a6004356131a53633614f21565b60036131bb82600052600f602052604060002090565b0180546131e39060a01c60ff166131d181610d4d565b6003811490811561333b575b5061443e565b805460ff60a01b1916600560a01b178155805460a81c6001600160401b03169061322b83613224846001600160401b03166000526012602052604060002090565b5414614e01565b6000809481936001600160401b03166000526012602052604060002090565b55805461329890613263906001600160a01b03166119da565b80546132779060201c63ffffffff166141d2565b67ffffffff0000000082549160201b169067ffffffff000000001916179055565b600d546132bf906132b1906001600160a01b03166104f4565b91546001600160a01b031690565b813b15613337576040516369e7849960e01b81526001600160a01b0391909116600482015291908290602490829084905af180156106aa57613324575b507f430648de173157e069201c943adb2d4e340e7cf5b27b1b09c9cb852f03d63b568280a280f35b8061069e61333192610cc1565b386132fc565b8280fd5b6004915061334881610d4d565b14386131dd565b1561335657565b60405162461bcd60e51b815260206004820152600b60248201526a6b6579732061637469766560a81b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b9190916001600160401b038080941691160191821161227057565b156133c157565b60405162461bcd60e51b815260206004820152600860248201526731b7b7b63237bbb760c11b6044820152606490fd5b9081602091031261047a575190565b6040513d6000823e3d90fd5b1561341357565b60405162461bcd60e51b8152602060048201526007602482015266139bc8189bdb9960ca1b6044820152606490fd5b9081602091031261047a5751801515810361047a5790565b9190820391821161227057565b6040519061347482610cd9565b6015825274092dcecc2d8d2c840e0eac4d6caf240d8cadccee8d605b1b6020830152565b604051906134a582610cd9565b6018825277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6020830152565b604051906134d982610cd9565b602082527f4465706f736974206461746120726f6f742063616e6e6f74206265207a65726f6020830152565b90821015610ffa570190565b6040519061351e82610cd9565b60158252745075626b65792063616e6e6f74206265207a65726f60581b6020830152565b6040519061354f82610cd9565b601882527f5369676e61747572652063616e6e6f74206265207a65726f00000000000000006020830152565b6040519061358882610cd9565b601a82527f4465706f736974206461746120726f6f74206d69736d617463680000000000006020830152565b9195939290949560309660308703613723576060966060840361370f5785156136fb5760019860005b6001600160401b038116828110156136eb5761360e61360061361b92868b613505565b356001600160f81b03191690565b6001600160f81b03191690565b613630576001016001600160401b03166135dd565b505090919293949596975060005b6136d85760019760005b6001600160401b038116828110156136c95761360e61360061366b928989613505565b613680576001016001600160401b0316613648565b5050909192939495965060005b6136b85761369a94615105565b036136ad576001906136aa612582565b90565b6000906136aa61357b565b5050505050506000906136aa613542565b5050509091929394959661368d565b50505050505090506000906136aa613511565b505050909192939495969761363e565b5050505050509150506000906136aa6134cc565b5050505050509150506000906136aa613498565b50505050509150506000906136aa613467565b906001600160401b03166001600160401b0319825416179055565b1561375857565b60405162461bcd60e51b815260206004820152601f60248201527f7769746864726177616c4372656473206d7573742073746172742030783032006044820152606490fd5b9190820180921161227057565b6001600160401b03168015613819576006546007549182018092116122705781116137d457600755565b60405162461bcd60e51b815260206004820152601b60248201527f45786974636f756e74203e20617661696c61626c6520657869747300000000006044820152606490fd5b50565b1561382357565b60405162461bcd60e51b815260206004820152600a602482015269076616c496e64657820360b41b6044820152606490fd5b1561385c57565b60405162461bcd60e51b815260206004820152601760248201527f556e6b6e6f776e2076616c696461746f7220696e6465780000000000000000006044820152606490fd5b81835290916001600160fb1b03831161047a5760209260051b809284830137010190565b969897939092949560a0966138f761390a946001600160401b0398898098168c5260c060208d015260c08c01916138a1565b9260408a015288830360608a01526138a1565b9616608085015216910152565b1561391e57565b60405162461bcd60e51b815260206004820152601e60248201527f576974686472617761626c652065706f63682063616e6e6f74206265203000006044820152606490fd5b600354600160401b811015610cd4578060016139829201600355610fba565b6001600160401b039291928084549260031b9316831b921b1916179055565b600254600160401b811015610cd4578060016139829201600255610fff565b156139c757565b60405162461bcd60e51b815260206004820152601360248201527209cde40d6caf240ccdee440ecc2d892dcc8caf606b1b6044820152606490fd5b15613a0957565b60405162461bcd60e51b815260206004820152600f60248201526e02130b21039ba30ba3ab9903337b91608d1b6044820152606490fd5b906007811015610d5757815460ff60a01b191660a09190911b60ff60a01b16179055565b15613a6b57565b60405162461bcd60e51b81526020600482015260076024820152660696e64657820360cc1b6044820152606490fd5b15613aa157565b60405162461bcd60e51b815260206004820152600660248201526510985908125960d21b6044820152606490fd5b15613ad657565b60405162461bcd60e51b815260206004820152600d60248201526c0a0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b15613b1257565b60405162461bcd60e51b815260206004820152600860248201526715dc9bdb99c8125960c21b6044820152606490fd5b15613b4957565b60405162461bcd60e51b815260206004820152600660248201526553746174757360d01b6044820152606490fd5b969897939194613ba760a0979296613bba956001600160401b038099168b5260c060208c015260c08b01916138a1565b92604089015287830360608901526138a1565b95608085015216910152565b15613bcd57565b60405162461bcd60e51b815260206004820152602360248201527f496e64657820616c726561647920626f756e6420746f20746865206f74686572604482015262081a5960ea1b6064820152608490fd5b15613c2557565b60405162461bcd60e51b815260206004820152601060248201526f76616c496e646578206469666665727360801b6044820152606490fd5b15613c6457565b60405162461bcd60e51b81526020600482015260146024820152730e0eac4d6caf240d0c2e6d040dad2e6dac2e8c6d60631b6044820152606490fd5b90600163ffffffff8093160191821161227057565b97919894909996959295613cca861515613a64565b6001600160401b0394858a169b8c151580613fca575b613ce990613a9a565b613d068b6001600160401b0316600052600f602052604060002090565b9b808d54613d1390610bdb565b14613d1d90613acf565b3690613d28926115be565b805190602001209a613d3981610d30565b805190602001208c14613d4b90613b0b565b600301805490989060a01c60ff16613d6281610d4d565b600214613d6e90613b42565b73__$d69645fbc90682499a7586bfd77d6f89d8$__92833b1561047a578a89600097613db1936040519a8b998a988998631529739960e11b8a5260048a01613b77565b03915af49687156106aa5782613f1294613736937f5b268a4671164189b29d9f943102d3263e673da18f8aab03a5e9aac2623397f59a613fb7575b501698898094613e0f826001600160401b03166000526012602052604060002090565b548381613fa6575b5050875460a81c6001600160401b03161680613f965750865467ffffffffffffffff60a81b191660a89190911b67ffffffffffffffff60a81b16178655613e71846001600160401b03166000526012602052604060002090565b555b613f0286613eaa61075d613e9a876001600160401b03166000526009602052604060002090565b5460801c6001600160401b031690565b15613ec8866001600160401b03166000526009602052604060002090565b9015613f8757805467ffffffffffffffff60801b1916608087901b67ffffffffffffffff60801b16178155836001820155613736866139a1565b6000526013602052604060002090565b805460029060a01c60ff16613f2681610d4d565b14613f4b575b50604080516001600160401b03928316815292909116602083015290a2565b805460ff60a01b1916600360a01b178155613f8190613f6d906119da906119cd565b80546132779060201c63ffffffff16613ca0565b38613f2c565b61373684600183015414613c5d565b613fa1925014613c1e565b613e73565b613fb09114613bc6565b3883613e17565b8061069e613fc492610cc1565b38613dec565b506014548d1115613ce0565b15613fdd57565b60405162461bcd60e51b815260206004820152600a60248201526962617463682073697a6560b01b6044820152606490fd5b1561401657565b60405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f7567682070656e64696e6760701b6044820152606490fd5b906801bc16d674ec8000009182810292818404149015171561227057565b9066470de4df8200009182810292818404149015171561227057565b1561409157565b60405162461bcd60e51b815260206004820152601060248201526f0d2dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b60001981146122705760010190565b156140df57565b60405162461bcd60e51b815260206004820152600f60248201526e637572736f72206f766572666c6f7760881b6044820152606490fd5b9081602091031261047a575163ffffffff8116810361047a5790565b1561413957565b60405162461bcd60e51b815260206004820152602c60248201527f434f4445204552524f523a20696e73756666696369656e7420626f6e6420666f60448201526b1c881ad95e481d5c1b1bd85960a21b6064820152608490fd5b9493926141bf6060936141b16141cd9460808a5260808a0190610c15565b9088820360208a0152610962565b908682036040880152610c15565b930152565b63ffffffff908116600019019190821161227057565b63ffffffff918216908216039190821161227057565b1561420557565b60405162461bcd60e51b815260206004820152601560248201527404964206973206e6f74206f776e6564206279206f7605c1b6044820152606490fd5b1561424957565b60405162461bcd60e51b815260206004820152600a6024820152694e6f742061637469766560b01b6044820152606490fd5b906001600160401b03600092168252601260205260408220549182156142e357828152600f60205260036040822001549160ff8360a01c169160078310156142cf5750600193926001600160a01b03169190565b634e487b7160e01b81526021600452602490fd5b8092509180918190565b60006142fe600092839436916115be565b60208151910120825260136020526001600160401b0392836040842054169283156143b257508293614343846001600160401b03166000526012602052604060002090565b54938461436f575b614368906001600160401b03166000526009602052604060002090565b5416600195565b91509150600361438984600052600f602052604060002090565b01546001600160a01b03811692906143689060a01c60ff166143aa81610d4d565b92905061434b565b9493505050508180918180918190565b156143c957565b60405162461bcd60e51b8152602060048201526014602482015273416d6f756e742063616e2774206265207a65726f60601b6044820152606490fd5b1561440c57565b60405162461bcd60e51b815260206004820152600a60248201526910985908185b5bdd5b9d60b21b6044820152606490fd5b1561444557565b60405162461bcd60e51b815260206004820152600e60248201526d4b6579206e6f742061637469766560901b6044820152606490fd5b60405190608082018281106001600160401b03821117610cd4576040526060808352366020840137565b9493926144c36060936141b16141cd9460808a5260808a0190610c15565b908682036040880152610962565b9291906141cd602091604086526040860190610c15565b6001600160401b038111610cd45760051b60200190565b90614509826144e8565b6145166040519182610d0f565b8281528092614527601f19916144e8565b0190602036910137565b8051821015610ffa5760209160051b010190565b90600019820191821360011661227057565b8181039291600013801582851316918412161761227057565b805160208092019160005b828110614589575050505090565b83516001600160401b03168552938101939281019260010161457b565b6145af90615827565b906002546145bc816144ff565b90600093845b82811061462657505050821561461d5780836001600160401b0392526145f26145ea85614545565b6000836158c2565b60405161461581614607602082018095614570565b03601f198101835282610d0f565b519020921690565b50600091508190565b80614648614635600193610fff565b90546001600160401b039160031b1c1690565b6001600160401b038061467e614671846001600160401b03166000526009602052604060002090565b546001600160401b031690565b16801515918261471d575b5050614697575b50016145c2565b6146b4816001600160401b03166000526012602052604060002090565b54806146c1575b50614690565b6146dd61185c916003928391600052600f602052604060002090565b6146e681610d4d565b146146f2575b806146bb565b614717906147096147028a6140c9565b9988614531565b906001600160401b03169052565b386146ec565b8616101590503880614689565b1561473157565b60405162461bcd60e51b81526020600482015260016024820152600360fc1b6044820152606490fd5b1561476157565b60405162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b6044820152606490fd5b1561479a57565b60405162461bcd60e51b815260206004820152601060248201526f6e6f742073656e6465722773206b657960801b6044820152606490fd5b156147d957565b60405162461bcd60e51b815260206004820152601860248201527f6b6579206e6f7420696e2070656e64696e6720737461746500000000000000006044820152606490fd5b156148265750565b60405162461bcd60e51b815260206004820152908190610864906024830190610962565b1561485157565b60405162461bcd60e51b81526020600482015260136024820152721c1d589ad95e48185b1c9958591e481d5cd959606a1b6044820152606490fd5b90601f811161489a57505050565b6000916000526020600020906020601f850160051c830194106148d8575b601f0160051c01915b8281106148cd57505050565b8181556001016148c1565b90925082906148b8565b9092916001600160401b038111610cd457614907816149018454610bdb565b8461488c565b6000601f821160011461494857819061493993949560009261493d575b50508160011b916000199060031b1c19161790565b9055565b013590503880614924565b601f1982169461495d84600052602060002090565b91805b87811061499857508360019596971061497e575b505050811b019055565b0135600019600384901b60f8161c19169055388080614974565b90926020600181928686013581550194019101614960565b156149b757565b60405162461bcd60e51b815260206004820152600d60248201526c18985d18da080f881b1a5b5a5d609a1b6044820152606490fd5b9190811015610ffa5760051b0190565b15614a0357565b60405162461bcd60e51b815260206004820152601960248201527f43616e6e6f742072656d6f7665206f746865722773206b6579000000000000006044820152606490fd5b15614a4f57565b60405162461bcd60e51b815260206004820152600b60248201526a4e6f742070656e64696e6760a81b6044820152606490fd5b6001600160a01b0390911681526040602082018190526136aa939101916138a1565b15614aab57565b60405162461bcd60e51b815260206004820152600b60248201526a1c1d589ad95e481d5cd95960aa1b6044820152606490fd5b15614ae557565b606460405162461bcd60e51b815260206004820152602060248201527f696e73756666696369656e7420626f6e6420666f72206b65792075706c6f61646044820152fd5b91909182516001600160401b038111610cd457614b4a816149018454610bdb565b602080601f8311600114614b8857508190614939939495600092614b7d5750508160011b916000199060031b1c19161790565b015190503880614924565b90601f19831695614b9e85600052602060002090565b926000905b888210614bda57505083600195969710614bc157505050811b019055565b015160001960f88460031b161c19169055388080614974565b80600185968294968601518155019501930190614ba3565b919080519283516001600160401b038111610cd457614c15816149018454610bdb565b602080601f8311600114614ce35750614cbb92614c538360a094600394610d4b999a600092614b7d5750508160011b916000199060031b1c19161790565b81555b614c67602086015160018301614b29565b604085015160028201556060850151910180546001600160a01b0319166001600160a01b0390921691909117815592614cad6080820151614ca781610d4d565b85613a40565b01516001600160401b031690565b815467ffffffffffffffff60a81b191660a89190911b67ffffffffffffffff60a81b16179055565b90601f19831696614cf985600052602060002090565b926000905b898210614d4657505083600393614cbb969360019360a097610d4b9b9c10614d2e575b505050811b018155614c56565b015160001983871b60f8161c19169055388080614d21565b80600185968294968601518155019501930190614cfe565b919060035490818410801590614df9575b614ddd5783019081841161227057808211614dd5575b5082810390811161227057614d99906144ff565b9160005b8351811015614dd15780614dcb614dc1614635614dbc6001958761379d565b610fba565b6147098388614531565b01614d9d565b5050565b905038614d85565b50509050604051614ded81610cf4565b60008152600036813790565b508015614d6f565b15614e0857565b60405162461bcd60e51b815260206004820152601b60248201527f434f4445204552524f523a20696e76616c6964206d617070696e6700000000006044820152606490fd5b600080516020615da28339815191526002815414614e6b5760029055565b604051633ee5aeb560e01b8152600490fd5b60041161047a57600090600490565b9060201161047a5790602090565b9060401161047a5760200190602090565b9060601161047a5760400190602090565b6001600160e01b03199035818116939260048110614ed957505050565b60040360031b82901b16169150565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b600080516020615d428339815191528054614f5a906001600160a01b0316614f51614f4b86614e7d565b90614ebc565b908430916159f1565b9015614f67575b50505050565b63ffffffff161561501357600080516020615d42833981519152805460ff60a01b1916600160a01b179055614fa1906104f49081906119cd565b91823b1561047a57614fcd9260009283604051809681958294634a63ebf760e11b845260048401614ee8565b03925af180156106aa57615000575b50600080516020615d42833981519152805460ff60a01b1916905538808080614f61565b8061069e61500d92610cc1565b38614fdc565b60405162d1953b60e31b81526001600160a01b0383166004820152602490fd5b3d1561505e573d90615044826115a3565b916150526040519384610d0f565b82523d6000602084013e565b606090565b1561506a57565b60405162461bcd60e51b8152602060048201526015602482015274092dcecc2d8d2c840e0eac4d6caf240d8cadccee8d605b1b6044820152606490fd5b156150ae57565b60405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606490fd5b906151016020928281519485920161093f565b0190565b9361512e615134926151529661511d60308314615063565b615129606085146150a7565b615abe565b93615b2a565b60409182519485916020958684019091604092825260208201520190565b0390615166601f1992838101875286610d0f565b8383519586806151796000998a946150ee565b039060025afa156106aa5783856151c76151b06151bc8351958851928391878301604091634059730760d81b825260208201520190565b03878101835282610d0f565b8651918280926150ee565b039060025afa156106aa57849261520561520f938551936151f984519586928a84019091604092825260208201520190565b03908101845283610d0f565b51918280926150ee565b039060025afa156106aa575190565b615275909594919561522e615bb4565b615236615bb4565b61523e615bb4565b6001600080516020615da283398151915255615258615bb4565b615260615bb4565b615268615bb4565b615270615bb4565b6153e2565b61527d615bb4565b615285615bb4565b61529e6001600160f81b03198616600160f91b14613751565b6001600160a01b0391821694851515806153ac575b806153a1575b1561536d578261532f946152f361534b986152d661531195600155565b60018060a01b03166001600160601b0360a01b600c541617600c55565b1660018060a01b03166001600160601b0360a01b600d541617600d55565b1660018060a01b03166001600160601b0360a01b600e541617600e55565b6001600160401b03166001600160401b03196000541617600055565b61536360016001600160401b03196008541617600855565b610d4b6000601555565b60405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b6044820152606490fd5b5082821615156152b9565b5082841615156152b3565b60ff600080516020615d8283398151915254166153d057565b60405163d93c066560e01b8152600490fd5b600080516020615d4283398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b600092916001600160401b031680156154d55781019081811161227057600a5482116154a857905b80821061546e575050565b90926154a0600191615493615482876113ed565b505460401c6001600160401b031690565b016001600160401b031690565b930190615463565b60405162461bcd60e51b815260206004820152600560248201526472616e676560d81b6044820152606490fd5b506000925050565b600092916001600160401b031680156154d55781019081811161227057600b5482116154a857905b808210615510575050565b909261552460019161549361548287611424565b930190615505565b909261553b6030835114615063565b61554860608451146150a7565b6020828101516040938401518451808401929092526fffffffffffffffffffffffffffffffff191681850152838152909485949192601f19929161558d606086610d0f565b8551978895866155a060009b8c936150ee565b03600297885afa156106aa5787519167ffffffffffff00008160081b9160081c9165ff000000ff0064ff000000ff65ffffffffffff66ff000000ff0000861667ff000000ff00000085161760101c16941691161760101b1617928789615643828401519361563860608c8301519201519561562c8d519384928884019091604092825260208201520190565b038a8101835282610d0f565b8a51918280926150ee565b0390895afa156106aa57878961567361562c6156388351958c519283918783016040918152600060208201520190565b0390895afa156106aa57886156bb89926156b08351916156a48c519384928884019091604092825260208201520190565b03898101835282610d0f565b8951918280926150ee565b0390885afa156106aa578761570388926156f88351956156ec8b519384928884019091604092825260208201520190565b03888101835282610d0f565b8851918280926150ee565b0390875afa156106aa5786615759879261574e8351956151b08a51938267ffffffff0000000063ffffffff87958b1c16918a1b161760c01b8884019091604092825260208201520190565b8751918280926150ee565b0390865afa156106aa57859361520561578a938651936151f984519586928b84019091604092825260208201520190565b03915afa156106aa575190565b604051906157a482610cd9565b6001600160401b038091168252806020830193168352600a5492600160401b841015610cd4576001840180600a55841015610ffa57612a0f82610d4b95600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80194511684906001600160401b03166001600160401b0319825416179055565b6001600160401b03908180600054169116818111156158525703908082116122705761018091160490565b60405162461bcd60e51b815260206004820152600660248201526562616420747360d01b6044820152606490fd5b9190916000838201938412911290801582169115161761227057565b6001600160ff1b0381146122705760010190565b600160ff1b8114612270576000190190565b9190808283821215610c445761590761075d6158fa6158f46158ee6158e7878a614557565b6002900590565b86615880565b88614531565b516001600160401b031690565b81841315615940575080821261592f575b505081811261592657505050565b610d4b926158c2565b61593991856158c2565b3880615918565b959192949390945b8661595961075d6158fa8489614531565b101561596d576159689061589c565b615948565b95945b61598061075d6158fa8388614531565b86101561599557615990906158b0565b615970565b909394959291958184136159075790926159e56159eb916159e06159bc6158fa888b614531565b6159d66159cc6158fa858d614531565b6147098a8d614531565b614709838b614531565b61589c565b936158b0565b90615907565b60405163b700961360e01b602082019081526001600160a01b0393841660248301529290931660448401526001600160e01b03199093166064808401919091528252600093849390928492909160a08301916001600160401b03831184841017610cd457604093859385528380528360205251915afa615a6e5750565b9150915051906020518060201c150290565b805115615a8f57602081519101fd5b60405163d6bda27560e01b8152600490fd5b359060208110615aaf575090565b6000199060200360031b1b1690565b9060201161047a576000615b17602092604051615b0681614607878201946fffffffffffffffffffffffffffffffff1989820135169035869091604092825260208201520190565b60405192839283925192839161093f565b8101039060025afa156106aa5760005190565b90615b5c91615134615b42615b48615b428585614e8c565b90615aa1565b93615b56615b428286614e9a565b93614eab565b0390615b70601f1992838101875286610d0f565b838351958680615b836000998a946150ee565b039060025afa156106aa5783856151c76151b06151bc83519588519283918783016040918152600060208201520190565b60ff600080516020615dc28339815191525460401c1615615bd157565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114918215615c21575b505061175a57565b600080516020615d628339815191525416141590503880615c19565b90813b15615cc057600080516020615d6283398151915280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115615ca55761381991615ce1565b505034615cae57565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b6000806136aa93602081519101845af4615cf9615033565b9190615d055750615a80565b81511580615d38575b615d16575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15615d0e56fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220876777714947a41a7defac6b2607402307589d3950db844661b369c69855a07164736f6c63430008190033",
1750
+ "deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806258a4ae1461046a57806301681a62146104655780630519da321461046057806306b27f241461045b57806309b719841461045657806309f1328f146104515780630b4bc85b1461044c5780630cb6aaf114610447578063102fb7b61461044257806313e7c9d81461043d5780631b41993c146104385780631c8553a2146104335780631c9dceae1461042e5780631cf1a093146104295780632798c823146104245780632f50be0e1461041f578063304b90711461041a5780633f4ba83a1461041557806340ed9dc214610410578063443fb6901461040b5780634dc97dce146104065780634f1ef2861461040157806352d1902d146103fc57806354d23f85146103f75780635c8db746146103f25780635c975abb146103ed5780635cc4657c146103e85780635cd8a76b146103e357806361b8ce8c146103de5780636c7ac9d8146103d957806370f81f6c146103d4578063770a9d2f146103cf5780637968d638146103ca5780637a9e5e4b146103c55780638171c299146103c05780638246438b146103bb5780638379d75b146103b65780638456cb59146103b15780638663bcc4146103ac5780638fb36037146103a75780639156032e146103a2578063950bff9f1461039d5780639624e83e146103985780639cbdac8714610393578063a0cc98241461038e578063a4a2c79a14610389578063ad3cb1cc14610384578063b674800e1461037f578063bf7e214f1461037a578063c7764f7314610375578063c955e9fa14610370578063ca7a285f1461036b578063d091b90514610366578063d818610414610361578063d91cb43c1461035c578063da30e27914610357578063e013693114610352578063e9b826391461034d578063ea70b4af14610348578063ec87621c14610343578063f00669c61461033e578063f013822214610339578063f1f05c9214610334578063f28824611461032f578063f4aa1dd51461032a578063f6c8c47f14610325578063f77ca8a914610320578063fb80e8121461031b5763fed1d0360361000e57613184565b613162565b613140565b612f34565b612d3a565b612d13565b612cda565b612c08565b612a9b565b612a60565b612a3c565b612953565b612935565b61291a565b6128e5565b6128a3565b612885565b6126ce565b612694565b612676565b612640565b6125db565b612595565b612541565b612523565b6124af565b612486565b61246a565b6122c8565b612275565b6121e5565b61217c565b612153565b612115565b61209e565b61201f565b611fd4565b611f9a565b611e13565b611dea565b611dcc565b611cfd565b611cdf565b611caf565b611b71565b61176c565b611701565b6115f5565b611553565b6114c0565b61145b565b611374565b611358565b6110db565b611080565b61103f565b610f46565b610f2a565b610eef565b610e8e565b610e52565b610dcc565b610a73565b610987565b610921565b6108bc565b610868565b610794565b61047f565b600091031261047a57565b600080fd5b3461047a5760008060031936011261078057610499614e4d565b336000908152601060205260409020546104c263ffffffff808316159081610772575b5061334f565b6104e36001600160401b03604092831c16801515908161073c575b506133ba565b600d54610500906001600160a01b03165b6001600160a01b031690565b81516305db4e8f60e51b8152336004820152909160208083602481875afa9283156106aa57859361071d575b5061053883151561340c565b815163a51fa5c760e01b81523360048201528181602481885afa9081156106aa5786916106f0575b506106e857600e5461057a906001600160a01b03166104f4565b82516360830ebb60e01b815260048101859052908290829060249082905afa9182156106aa5786926106bb575b5050925b83808411156106b3576105be908461345a565b935b84610621575050610604907f65c5c39ca61064b9545af9a922e6de8b7c97d48529bf44052f6748650b7d5d0092905b51938452602084015233929081906040820190565b0390a261061e6001600080516020615da283398151915255565b80f35b908093503b156106af578151638bc3920760e01b815233600482018190526024820186905260448201529285908490606490829084905af19182156106aa577f65c5c39ca61064b9545af9a922e6de8b7c97d48529bf44052f6748650b7d5d009361060493610691575b506105ef565b8061069e6106a492610cc1565b8061046f565b3861068b565b613400565b8480fd5b5084936105c0565b6106da9250803d106106e1575b6106d28183610d0f565b8101906133f1565b38806105a7565b503d6106c8565b5083926105ab565b6107109150823d8411610716575b6107088183610d0f565b810190613442565b38610560565b503d6106fe565b816107359294503d85116106e1576106d28183610d0f565b913861052c565b610769915061075d906107576008546001600160401b031690565b9061339f565b6001600160401b031690565b421015386104dd565b90508260201c1615386104bc565b80fd5b6001600160a01b0381160361047a57565b3461047a57602036600319011261047a576004356107b181610783565b6107b9614e4d565b6107c33633614f21565b4790816107e2575b6100196001600080516020615da283398151915255565b814710610843576001600160a01b031690600080808084865af1610804615033565b901561083e57506040519081527fc36b5179cb9c303b200074996eab2b3473eac370fdd7eba3bec636fe3510969690602090a238806107cb565b615a80565b5060405163cf47918160e01b81524760048201526024810191909152604490fd5b0390fd5b3461047a57600036600319011261047a5760206001600160401b0360085416604051908152f35b9181601f8401121561047a578235916001600160401b03831161047a576020838186019501011161047a57565b3461047a57606036600319011261047a576001600160401b0360043581811161047a576108ed90369060040161088f565b919060443591821161047a5760209261090d61091993369060040161088f565b92909160243591615105565b604051908152f35b3461047a57600036600319011261047a576020600754604051908152f35b60005b8381106109525750506000910152565b8181015183820152602001610942565b9060209161097b8151809281855285808601910161093f565b601f01601f1916010190565b3461047a57608036600319011261047a576001600160401b0360043581811161047a576109b890369060040161088f565b9060243592831161047a576109d46109e293369060040161088f565b9060643593604435936135b4565b90610a0160405192839215158352604060208401526040830190610962565b0390f35b60a435906001600160401b038216820361047a57565b600435906001600160401b038216820361047a57565b602435906001600160401b038216820361047a57565b604435906001600160401b038216820361047a57565b60e435906001600160401b038216820361047a57565b3461047a5760c036600319011261047a57600435610a9081610783565b60443590610a9d82610783565b606435610aa981610783565b608435610ab581610783565b610abd610a05565b91600080516020615dc283398151915254946001600160401b0360ff8760401c1615961680159081610bd3575b6001149081610bc9575b159081610bc0575b50610bae57600080516020615dc2833981519152805467ffffffffffffffff19166001179055610b359486610b89575b6024359061521e565b610b3b57005b600080516020615dc2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081015b0390a1005b600080516020615dc2833981519152805460ff60401b1916600160401b179055610b2c565b60405163f92ee8a960e01b8152600490fd5b90501538610afc565b303b159150610af4565b879150610aea565b90600182811c92168015610c0b575b6020831014610bf557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610bea565b805460009392610c2482610bdb565b91828252602093600191600181169081600014610c8c5750600114610c4b575b5050505050565b90939495506000929192528360002092846000945b838610610c7857505050500101903880808080610c44565b805485870183015294019385908201610c60565b60ff19168685015250505090151560051b010191503880808080610c44565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111610cd457604052565b610cab565b604081019081106001600160401b03821117610cd457604052565b602081019081106001600160401b03821117610cd457604052565b90601f801991011681019081106001600160401b03821117610cd457604052565b90610d4b610d449260405193848092610c15565b0383610d0f565b565b60071115610d5757565b634e487b7160e01b600052602160045260246000fd5b949296959391610d88610d969260c0885260c0880190610962565b908682036020880152610962565b60408501969096526001600160a01b031660608401526007811015610d575760a0916001600160401b0391608085015216910152565b3461047a57602036600319011261047a57600435600052600f602052604060002060405190610dff82610d448184610c15565b610a01604051610e1d81610e168160018701610c15565b0382610d0f565b600360028401549301546040519485946001600160401b038360a81c169360ff8460a01c169360018060a01b03169287610d6d565b3461047a57602036600319011261047a57600435610e703633614f21565b610e896001600160f81b03198216600160f91b14613751565b600155005b3461047a57602036600319011261047a57600435610eab81610783565b60018060a01b0316600052601060205260606040600020546001600160401b0363ffffffff916040519280821684528160201c16602084015260401c166040820152f35b3461047a57602036600319011261047a5760206001600160401b0380610f13610a1b565b166000526009825260406000205416604051908152f35b3461047a57600036600319011261047a57602060405160648152f35b3461047a57602036600319011261047a5760806001600160401b0380610f6a610a1b565b1660005260096020526040600020906001825492015490604051928181168452818160401c166020850152841c1660408301526060820152f35b634e487b7160e01b600052603260045260246000fd5b90600354821015610ffa57600360005260188260021c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b019260031b1690565b610fa4565b90600254821015610ffa57600260005260188260021c7f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace019260031b1690565b3461047a57602036600319011261047a5760043560035481101561047a576001600160401b03611070602092610fba565b90549060031b1c16604051908152f35b3461047a57602036600319011261047a5761001961109c610a1b565b6110a63633614f21565b6137aa565b9181601f8401121561047a578235916001600160401b03831161047a576020808501948460051b01011161047a57565b3461047a5760c036600319011261047a576110f4610a1b565b6110fc610a31565b6001600160401b039060443582811161047a5761111d9036906004016110ab565b939060843584811161047a576111379036906004016110ab565b61113f610a05565b948685169361114f85151561381c565b61116c866001600160401b03166000526009602052604060002090565b9861118f8661118961075d8d546001600160401b039060801c1690565b14613855565b73__$d69645fbc90682499a7586bfd77d6f89d8$__91823b1561047a576111d58989600097604051998a9889978897639714762960e01b89526064359260048a016138c5565b03915af480156106aa57611345575b50845460401c6001600160401b0316848416948591160361120157005b7f76c78808e83445970c71fb3f2e08dbace90d6720a9d23e05b5f88c8e085aefc3611297846112666112b39660039961123e6112cf9a1515613917565b9067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b61126f85613963565b61127d600160065401600655565b6040516001600160401b0390911681529081906020820190565b0390a26001600160401b03166000526012602052604060002090565b546112bf8115156139c0565b600052600f602052604060002090565b01805460a01c60ff166112e181610d4d565b6113066003821491828015611332575b801561131f575b61130190613a02565b610d4d565b61130c57005b805460ff60a01b1916600160a21b179055005b5061132981610d4d565b600481146112f8565b5061133c81610d4d565b600681146112f1565b8061069e61135292610cc1565b386111e4565b3461047a57600036600319011261047a576020604051600c8152f35b3461047a57600036600319011261047a5761138f3633614f21565b600080516020615d82833981519152805460ff8116156113db5760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b600a54811015610ffa57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80190600090565b600b54811015610ffa57600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190600090565b3461047a57602036600319011261047a57600435600a5481101561047a57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80154604080516001600160401b03808416825292821c909216602083015290f35b3461047a5761010036600319011261047a576114da610a1b565b6001600160401b039060243582811161047a576114fb90369060040161088f565b91611504610a47565b60643585811161047a5761151c9036906004016110ab565b60a49391933596871161047a5761153a6100199736906004016110ab565b949093611545610a5d565b9760c4359760843595613cb5565b3461047a57602036600319011261047a576004356000526011602052602060ff604060002054166040519015158152f35b6040519060c082018281106001600160401b03821117610cd457604052565b6001600160401b038111610cd457601f01601f191660200190565b9291926115ca826115a3565b916115d86040519384610d0f565b82948184528183011161047a578281602093846000960137010152565b604036600319011261047a5760043561160d81610783565b6024356001600160401b03811161047a573660238201121561047a5761163d9036906024816004013591016115be565b90611646615be3565b6116503633614f21565b611658615be3565b6040516352d1902d60e01b8152916020836004816001600160a01b0386165afa600093816116e0575b506116a757604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b90600080516020615d6283398151915283036116c7576100199250615c3d565b604051632a87526960e21b815260048101849052602490fd5b6116fa91945060203d6020116106e1576106d28183610d0f565b9238611681565b3461047a57600036600319011261047a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361175a576020604051600080516020615d628339815191528152f35b60405163703e46dd60e11b8152600490fd5b60208060031936011261047a5760049060043590611788614e4d565b6117906153b7565b61179a3633614f21565b81151580611b21575b6117ac90613fd6565b60166117d4836117cd6117c460165463ffffffff1690565b63ffffffff1690565b101561400f565b6117e76117e084614050565b341461408a565b6000906001600160401b034216925b848310611814576100196001600080516020615da283398151915255565b60155493600195601454965b15611843575b6118316000966140c9565b9561183e888811156140d8565b611820565b611867600361185c88600052600f602052604060002090565b015460a01c60ff1690565b61187081610d4d565b611826579390955093909361188482601555565b61189882600052600f602052604060002090565b9187600d6118af6104f4825460018060a01b031690565b60038601805460408051630308b70f60e61b81526001600160a01b0390921695820195865291979194919290918b9183918290819060200103915afa9081156106aa5761190d9163ffffffff91600091611af4575b50161515614132565b600c54611922906001600160a01b03166104f4565b906001549061194c8b61193e8751948592830160209181520190565b03601f198101845283610d0f565b600281015492803b1561047a576000926801bc16d674ec8000008f9361198a8951978896879586946304512a2360e31b865260018101928601614193565b03925af180156106aa57611a52926119cd8c8a61123e611a2e611a096119f46119da8f611a449b6104f49b611ae1575b50805460ff60a01b1916600160a11b1781555b546001600160a01b031690565b6001600160a01b0316600090815260106020526040902090565b93611a24611a0e611a09875463ffffffff1690565b6141d2565b865463ffffffff191663ffffffff909116178655565b5463ffffffff1690565b63ffffffff1663ffffffff196016541617601655565b94546001600160a01b031690565b843b1561047a579051632fbdb45f60e11b81526001600160a01b03909116818a01908152909360009185919082908490829060200103925af19283156106aa57611ac693611ace575b507f2a89b2e3d580398d6dc2db5e0f336b52602bbaa51afa9bb5cdf59239cf0d2bea600080a26140c9565b9193926117f6565b8061069e611adb92610cc1565b38611a9b565b8061069e611aee92610cc1565b386119ba565b611b1491508c8d3d10611b1a575b611b0c8183610d0f565b810190614116565b38611904565b503d611b02565b5060148211156117a3565b602090602060408183019282815285518094520193019160005b828110611b54575050505090565b83516001600160401b031685529381019392810192600101611b46565b3461047a57600036600319011261047a576040805160025480825291602082016002600052927f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace6000925b826003850110611c6a575093611bfa928492610a01965491818110611c50575b818110611c32575b818110611c14575b10611c06575b500382610d0f565b60405191829182611b2c565b60c01c815260200138611bf2565b608083901c6001600160401b03168452926001906020019301611bec565b604083901c6001600160401b03168452926001906020019301611be4565b6001600160401b0383168452926001906020019301611bdc565b81546001600160401b03808216885281831c81166020890152608082811c9091168389015260c09190911c606088015290950194600490930192600190910190611bbc565b3461047a57600036600319011261047a57602060ff600080516020615d8283398151915254166040519015158152f35b3461047a57600036600319011261047a576020600454604051908152f35b3461047a57600036600319011261047a57600080516020615dc2833981519152805460ff8160401c16908115611db7575b50610bae57600080516020615dc2833981519152805467ffffffffffffffff19166002179055600160401b60ff60401b19825416179055611d84600080516020615dc283398151915260ff60401b198154169055565b604051600281527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2908060208101610b84565b600291506001600160401b0316101538611d2e565b3461047a57600036600319011261047a576020601454604051908152f35b3461047a57600036600319011261047a57600e546040516001600160a01b039091168152602090f35b3461047a57606036600319011261047a57600435611e3081610783565b604435602435611e3e614e4d565b611e466153b7565b611e503633614f21565b6003611e6683600052600f602052604060002090565b0190611eb3825492611ea0600360ff60018060a01b0396611e8d888b1680998316146141fe565b60a01c16611e9a81610d4d565b14614242565b805460ff60a01b1916600360a11b179055565b600d54611ec8906001600160a01b03166104f4565b90813b1561047a576040516314d7c3d960e31b81526001600160a01b03959095166004860152602485018190526000949185908390604490829084905af19081156106aa577f4ed05e9673c26d2ed44f7ef6a7f2942df0ee3b5e1e17db4b99f9dcd261a339cd92611f4992611f87575b506040519081529081906020820190565b0390a27f89b4ab334d9e219338cbac42810fd34b6022a3c92fe6d54ab5ea805acaf92a868280a261061e6001600080516020615da283398151915255565b8061069e611f9492610cc1565b38611f38565b3461047a57602036600319011261047a576001600160401b03611fbb610a1b565b1660005260126020526020604060002054604051908152f35b3461047a57602036600319011261047a57608060ff611ff9611ff4610a1b565b61427b565b916040949394519415158552602085015260018060a01b03166040840152166060820152f35b3461047a57602036600319011261047a5760043561203c81610783565b600080516020615d42833981519152546001600160a01b0391908216330361208757803b1561206e57610019906153e2565b6040516361798f2f60e11b815291166004820152602490fd5b60405162d1953b60e31b8152336004820152602490fd5b3461047a57602036600319011261047a576004356001600160401b0380821161047a578060ff6120dd6120d760c095369060040161088f565b906142ed565b604080519615158752949098166020860152928401919091526001600160a01b031660608301529091166080820152911660a0820152f35b3461047a57602036600319011261047a5760206001600160401b0380612139610a1b565b166000526009825260406000205460401c16604051908152f35b3461047a57600036600319011261047a57600c546040516001600160a01b039091168152602090f35b3461047a57600036600319011261047a576121973633614f21565b61219f6153b7565b600080516020615d82833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461047a57604036600319011261047a576121fe610a1b565b612206610a31565b906122113633614f21565b6004549061221f818361543b565b916001600160401b038092168101809111612270576004556005549061224584836154dd565b9316810180911161227057600555604080516001600160401b03928316815292909116602083015290f35b613389565b3461047a57600036600319011261047a57600080516020615d428339815191525460a01c60ff16156122bf576020638fb3603760e01b5b6040516001600160e01b03199091168152f35b602060006122ac565b602036600319011261047a576122dc614e4d565b6122e46153b7565b6122ee3633614f21565b6122f93415156143c2565b6001600160401b03633b9aca0061231281340615614405565b612328600435600052600f602052604060002090565b60038101916123506003612341855460ff9060a01c1690565b61234a81610d4d565b1461443e565b61193e61237861235f84610d30565b61236761447b565b60015497889534041697889261552c565b600c546123a590612391906001600160a01b03166104f4565b936040519384916020830160209181520190565b6123ad61447b565b92803b1561047a576123da93600093604051958694859384936304512a2360e31b85528a600486016144a5565b039134905af19384156106aa5761242a61243d9461242f937fb0a1e9d4c331fe865c51739d6cef1dd1e0a4235b9e7540657a122a056122083297612457575b505460a81c6001600160401b031690565b615797565b6040519182913490836144d1565b0390a16100196001600080516020615da283398151915255565b8061069e61246492610cc1565b38612419565b3461047a57600036600319011261047a57602060405160148152f35b3461047a57600036600319011261047a57600d546040516001600160a01b039091168152602090f35b3461047a57600036600319011261047a576006546007548082106124ec578103908111612270576040516001600160401b03919091168152602090f35b60405162461bcd60e51b815260206004820152600f60248201526e457869747320756e646572666c6f7760881b6044820152606490fd5b3461047a57600036600319011261047a576020601554604051908152f35b3461047a57602036600319011261047a5760043560025481101561047a576001600160401b03612572602092610fff565b9190546040519260031b1c168152f35b6040519061258f82610cf4565b60008252565b3461047a57600036600319011261047a57610a016040516125b581610cd9565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610962565b3461047a57602036600319011261047a57600435600b5481101561047a57600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90154604080516001600160401b03808416825292821c909216602083015290f35b3461047a57600036600319011261047a57600080516020615d42833981519152546040516001600160a01b039091168152602090f35b3461047a57600036600319011261047a576020600654604051908152f35b3461047a57602036600319011261047a5760406001600160401b036126bf6126ba610a1b565b6145a6565b83519182529091166020820152f35b3461047a57604036600319011261047a5760006004356126ed81610783565b602061275b6024356126fd6153b7565b6127073633614f21565b61271281151561472a565b600d54612727906001600160a01b03166104f4565b60405163dd16713b60e01b81526001600160a01b038616600482015260248101929092529094859283919082906044820190565b03925af19182156106aa5760009261283e575b506127ee7ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b6058916001600160401b03806127cc6127bc8460018060a01b03166000526010602052604060002090565b5460401c6001600160401b031690565b16156127f3575b506040519384526001600160a01b0316929081906020820190565b0390a2005b6001600160a01b038216600090815260106020526040902061283891421667ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b386127d3565b7ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b605891925061287d6127ee9160203d6020116106e1576106d28183610d0f565b92915061276e565b3461047a57600036600319011261047a576020600154604051908152f35b3461047a57602036600319011261047a576001600160401b036128c4610a1b565b6128ce3633614f21565b166001600160401b03196008541617600855600080f35b3461047a57602036600319011261047a57600435600052601360205260206001600160401b0360406000205416604051908152f35b3461047a57600036600319011261047a576020604051818152f35b3461047a57600036600319011261047a576020600554604051908152f35b3461047a57604036600319011261047a5761296c610a1b565b612974610a31565b9061297f3633614f21565b6040519061298c82610cd9565b6001600160401b038091168252806020830193168352600b5492600160401b841015610cd4576001840180600b55841015610ffa57612a0f8261001995600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90194511684906001600160401b03166001600160401b0319825416179055565b5182546fffffffffffffffff00000000000000001916911660401b67ffffffffffffffff60401b16179055565b3461047a57600036600319011261047a57602063ffffffff60165416604051908152f35b3461047a57600036600319011261047a5760206040517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b3461047a57608036600319011261047a576004356001600160401b0360243581811161047a57612acf90369060040161088f565b909160443590811161047a57600292612aef612b9092369060040161088f565b91612b0d60643597612aff6153b7565b6112bf60145482111561475a565b94612b3e60ff6003880154612b2b3360018060a01b03831614614793565b60a01c16612b3881610d4d565b156147d2565b612b57612b516001548a878786886135b4565b9061481e565b612b623682846115be565b6020815191012091612b7387610d30565b6020815191012092838103612b94575b50505050600184016148e2565b0155005b612bec81612bd2612be2612bff97612bd2612bcd612bc9612bc2612bf9996000526011602052604060002090565b5460ff1690565b1590565b61484a565b6000526011602052604060002090565b805460ff19169055565b805460ff19166001179055565b866148e2565b38808080612b83565b3461047a57600036600319011261047a57600a54600b549060045490818110612ca257600554808410612c6a57612c4861075d612c4e9461075d9461345a565b9361345a565b604080516001600160401b039384168152919092166020820152f35b60405162461bcd60e51b815260206004820152601060248201526f70657869747320756e646572666c6f7760801b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f746f7075707320756e646572666c6f7760801b6044820152606490fd5b3461047a57604036600319011261047a57612cf3610a1b565b612c4e612d0a612d01610a31565b9260045461543b565b916005546154dd565b3461047a57600036600319011261047a5760206001600160401b0360005416604051908152f35b3461047a57602036600319011261047a576004356001600160401b03811161047a57612d6a9036906004016110ab565b612d726153b7565b612d7f60648211156149b0565b60009160005b828110612ebd575033600090815260106020526040902063ffffffff841693612df291612dd790612dc387612dbe835463ffffffff1690565b6141e8565b63ffffffff1663ffffffff19825416179055565b612ded611a2e86612dbe60165463ffffffff1690565b61406e565b80612e2a575b6040517f9946eba4018b5d38e97bb6f7e2d2b353a0160c45902a6055479df936934a59979080610b8486863384614a82565b600d54612e3f906001600160a01b03166104f4565b93843b1561047a57604051636976798f60e11b8152336004820152602481019290925263ffffffff166044820152926000908490606490829084905af19283156106aa577f9946eba4018b5d38e97bb6f7e2d2b353a0160c45902a6055479df936934a59979315612df8578061069e612eb792610cc1565b38612df8565b92612f2d600191612f286003612ee8612ed78989896149ec565b35600052600f602052604060002090565b01612f1560ff8254612f0233898060a01b038316146149fc565b60a01c16612f0f81610d4d565b15614a48565b805460ff60a01b1916600160a01b179055565b6140c9565b9301612d85565b3461047a57606036600319011261047a576001600160401b0360043581811161047a57612f6590369060040161088f565b909160243590811161047a57612f7f90369060040161088f565b929091604435612f8d6153b7565b612fa0612b5160015483888887896135b4565b612fda612bec612fb13685876115be565b60208151910120612bd2612fd5612bc9612bc2846000526011602052604060002090565b614aa4565b33600090815260106020526040902054612ffe9063ffffffff16613ca0565b613ca0565b600d54909490613016906001600160a01b03166104f4565b604051630308b70f60e61b81523360048201529190602090839060249082905afa9687156106aa5761307a6130bd9661306a6130e19a61308396600091613121575b5063ffffffff808c1691161015614ade565b613072611584565b9636916115be565b855236916115be565b6020830152604082015233606082015260006080820152600060a08201526130b86130af6014546140c9565b6112bf81601455565b614bf2565b3360009081526010602052604090209063ffffffff1663ffffffff19825416179055565b6130f6611a2e612ff960165463ffffffff1690565b336014547fcb2c934a3e9ec8b1063e85a3a228cad961b6af5aee38331ae08d7c76405e1262600080a3005b61313a915060203d602011611b1a57611b0c8183610d0f565b38613058565b3461047a57600036600319011261047a57602060405166470de4df8200008152f35b3461047a57604036600319011261047a57610a01611bfa602435600435614d5e565b3461047a57602036600319011261047a5761324a6004356131a53633614f21565b60036131bb82600052600f602052604060002090565b0180546131e39060a01c60ff166131d181610d4d565b6003811490811561333b575b5061443e565b805460ff60a01b1916600560a01b178155805460a81c6001600160401b03169061322b83613224846001600160401b03166000526012602052604060002090565b5414614e01565b6000809481936001600160401b03166000526012602052604060002090565b55805461329890613263906001600160a01b03166119da565b80546132779060201c63ffffffff166141d2565b67ffffffff0000000082549160201b169067ffffffff000000001916179055565b600d546132bf906132b1906001600160a01b03166104f4565b91546001600160a01b031690565b813b15613337576040516369e7849960e01b81526001600160a01b0391909116600482015291908290602490829084905af180156106aa57613324575b507f430648de173157e069201c943adb2d4e340e7cf5b27b1b09c9cb852f03d63b568280a280f35b8061069e61333192610cc1565b386132fc565b8280fd5b6004915061334881610d4d565b14386131dd565b1561335657565b60405162461bcd60e51b815260206004820152600b60248201526a6b6579732061637469766560a81b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b9190916001600160401b038080941691160191821161227057565b156133c157565b60405162461bcd60e51b815260206004820152600860248201526731b7b7b63237bbb760c11b6044820152606490fd5b9081602091031261047a575190565b6040513d6000823e3d90fd5b1561341357565b60405162461bcd60e51b8152602060048201526007602482015266139bc8189bdb9960ca1b6044820152606490fd5b9081602091031261047a5751801515810361047a5790565b9190820391821161227057565b6040519061347482610cd9565b6015825274092dcecc2d8d2c840e0eac4d6caf240d8cadccee8d605b1b6020830152565b604051906134a582610cd9565b6018825277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6020830152565b604051906134d982610cd9565b602082527f4465706f736974206461746120726f6f742063616e6e6f74206265207a65726f6020830152565b90821015610ffa570190565b6040519061351e82610cd9565b60158252745075626b65792063616e6e6f74206265207a65726f60581b6020830152565b6040519061354f82610cd9565b601882527f5369676e61747572652063616e6e6f74206265207a65726f00000000000000006020830152565b6040519061358882610cd9565b601a82527f4465706f736974206461746120726f6f74206d69736d617463680000000000006020830152565b9195939290949560309660308703613723576060966060840361370f5785156136fb5760019860005b6001600160401b038116828110156136eb5761360e61360061361b92868b613505565b356001600160f81b03191690565b6001600160f81b03191690565b613630576001016001600160401b03166135dd565b505090919293949596975060005b6136d85760019760005b6001600160401b038116828110156136c95761360e61360061366b928989613505565b613680576001016001600160401b0316613648565b5050909192939495965060005b6136b85761369a94615105565b036136ad576001906136aa612582565b90565b6000906136aa61357b565b5050505050506000906136aa613542565b5050509091929394959661368d565b50505050505090506000906136aa613511565b505050909192939495969761363e565b5050505050509150506000906136aa6134cc565b5050505050509150506000906136aa613498565b50505050509150506000906136aa613467565b906001600160401b03166001600160401b0319825416179055565b1561375857565b60405162461bcd60e51b815260206004820152601f60248201527f7769746864726177616c4372656473206d7573742073746172742030783032006044820152606490fd5b9190820180921161227057565b6001600160401b03168015613819576006546007549182018092116122705781116137d457600755565b60405162461bcd60e51b815260206004820152601b60248201527f45786974636f756e74203e20617661696c61626c6520657869747300000000006044820152606490fd5b50565b1561382357565b60405162461bcd60e51b815260206004820152600a602482015269076616c496e64657820360b41b6044820152606490fd5b1561385c57565b60405162461bcd60e51b815260206004820152601760248201527f556e6b6e6f776e2076616c696461746f7220696e6465780000000000000000006044820152606490fd5b81835290916001600160fb1b03831161047a5760209260051b809284830137010190565b969897939092949560a0966138f761390a946001600160401b0398898098168c5260c060208d015260c08c01916138a1565b9260408a015288830360608a01526138a1565b9616608085015216910152565b1561391e57565b60405162461bcd60e51b815260206004820152601e60248201527f576974686472617761626c652065706f63682063616e6e6f74206265203000006044820152606490fd5b600354600160401b811015610cd4578060016139829201600355610fba565b6001600160401b039291928084549260031b9316831b921b1916179055565b600254600160401b811015610cd4578060016139829201600255610fff565b156139c757565b60405162461bcd60e51b815260206004820152601360248201527209cde40d6caf240ccdee440ecc2d892dcc8caf606b1b6044820152606490fd5b15613a0957565b60405162461bcd60e51b815260206004820152600f60248201526e02130b21039ba30ba3ab9903337b91608d1b6044820152606490fd5b906007811015610d5757815460ff60a01b191660a09190911b60ff60a01b16179055565b15613a6b57565b60405162461bcd60e51b81526020600482015260076024820152660696e64657820360cc1b6044820152606490fd5b15613aa157565b60405162461bcd60e51b815260206004820152600660248201526510985908125960d21b6044820152606490fd5b15613ad657565b60405162461bcd60e51b815260206004820152600d60248201526c0a0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b15613b1257565b60405162461bcd60e51b815260206004820152600860248201526715dc9bdb99c8125960c21b6044820152606490fd5b15613b4957565b60405162461bcd60e51b815260206004820152600660248201526553746174757360d01b6044820152606490fd5b969897939194613ba760a0979296613bba956001600160401b038099168b5260c060208c015260c08b01916138a1565b92604089015287830360608901526138a1565b95608085015216910152565b15613bcd57565b60405162461bcd60e51b815260206004820152602360248201527f496e64657820616c726561647920626f756e6420746f20746865206f74686572604482015262081a5960ea1b6064820152608490fd5b15613c2557565b60405162461bcd60e51b815260206004820152601060248201526f76616c496e646578206469666665727360801b6044820152606490fd5b15613c6457565b60405162461bcd60e51b81526020600482015260146024820152730e0eac4d6caf240d0c2e6d040dad2e6dac2e8c6d60631b6044820152606490fd5b90600163ffffffff8093160191821161227057565b97919894909996959295613cca861515613a64565b6001600160401b0394858a169b8c151580613fca575b613ce990613a9a565b613d068b6001600160401b0316600052600f602052604060002090565b9b808d54613d1390610bdb565b14613d1d90613acf565b3690613d28926115be565b805190602001209a613d3981610d30565b805190602001208c14613d4b90613b0b565b600301805490989060a01c60ff16613d6281610d4d565b600214613d6e90613b42565b73__$d69645fbc90682499a7586bfd77d6f89d8$__92833b1561047a578a89600097613db1936040519a8b998a988998631529739960e11b8a5260048a01613b77565b03915af49687156106aa5782613f1294613736937f5b268a4671164189b29d9f943102d3263e673da18f8aab03a5e9aac2623397f59a613fb7575b501698898094613e0f826001600160401b03166000526012602052604060002090565b548381613fa6575b5050875460a81c6001600160401b03161680613f965750865467ffffffffffffffff60a81b191660a89190911b67ffffffffffffffff60a81b16178655613e71846001600160401b03166000526012602052604060002090565b555b613f0286613eaa61075d613e9a876001600160401b03166000526009602052604060002090565b5460801c6001600160401b031690565b15613ec8866001600160401b03166000526009602052604060002090565b9015613f8757805467ffffffffffffffff60801b1916608087901b67ffffffffffffffff60801b16178155836001820155613736866139a1565b6000526013602052604060002090565b805460029060a01c60ff16613f2681610d4d565b14613f4b575b50604080516001600160401b03928316815292909116602083015290a2565b805460ff60a01b1916600360a01b178155613f8190613f6d906119da906119cd565b80546132779060201c63ffffffff16613ca0565b38613f2c565b61373684600183015414613c5d565b613fa1925014613c1e565b613e73565b613fb09114613bc6565b3883613e17565b8061069e613fc492610cc1565b38613dec565b506014548d1115613ce0565b15613fdd57565b60405162461bcd60e51b815260206004820152600a60248201526962617463682073697a6560b01b6044820152606490fd5b1561401657565b60405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f7567682070656e64696e6760701b6044820152606490fd5b906801bc16d674ec8000009182810292818404149015171561227057565b9066470de4df8200009182810292818404149015171561227057565b1561409157565b60405162461bcd60e51b815260206004820152601060248201526f0d2dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b60001981146122705760010190565b156140df57565b60405162461bcd60e51b815260206004820152600f60248201526e637572736f72206f766572666c6f7760881b6044820152606490fd5b9081602091031261047a575163ffffffff8116810361047a5790565b1561413957565b60405162461bcd60e51b815260206004820152602c60248201527f434f4445204552524f523a20696e73756666696369656e7420626f6e6420666f60448201526b1c881ad95e481d5c1b1bd85960a21b6064820152608490fd5b9493926141bf6060936141b16141cd9460808a5260808a0190610c15565b9088820360208a0152610962565b908682036040880152610c15565b930152565b63ffffffff908116600019019190821161227057565b63ffffffff918216908216039190821161227057565b1561420557565b60405162461bcd60e51b815260206004820152601560248201527404964206973206e6f74206f776e6564206279206f7605c1b6044820152606490fd5b1561424957565b60405162461bcd60e51b815260206004820152600a6024820152694e6f742061637469766560b01b6044820152606490fd5b906001600160401b03600092168252601260205260408220549182156142e357828152600f60205260036040822001549160ff8360a01c169160078310156142cf5750600193926001600160a01b03169190565b634e487b7160e01b81526021600452602490fd5b8092509180918190565b60006142fe600092839436916115be565b60208151910120825260136020526001600160401b0392836040842054169283156143b257508293614343846001600160401b03166000526012602052604060002090565b54938461436f575b614368906001600160401b03166000526009602052604060002090565b5416600195565b91509150600361438984600052600f602052604060002090565b01546001600160a01b03811692906143689060a01c60ff166143aa81610d4d565b92905061434b565b9493505050508180918180918190565b156143c957565b60405162461bcd60e51b8152602060048201526014602482015273416d6f756e742063616e2774206265207a65726f60601b6044820152606490fd5b1561440c57565b60405162461bcd60e51b815260206004820152600a60248201526910985908185b5bdd5b9d60b21b6044820152606490fd5b1561444557565b60405162461bcd60e51b815260206004820152600e60248201526d4b6579206e6f742061637469766560901b6044820152606490fd5b60405190608082018281106001600160401b03821117610cd4576040526060808352366020840137565b9493926144c36060936141b16141cd9460808a5260808a0190610c15565b908682036040880152610962565b9291906141cd602091604086526040860190610c15565b6001600160401b038111610cd45760051b60200190565b90614509826144e8565b6145166040519182610d0f565b8281528092614527601f19916144e8565b0190602036910137565b8051821015610ffa5760209160051b010190565b90600019820191821360011661227057565b8181039291600013801582851316918412161761227057565b805160208092019160005b828110614589575050505090565b83516001600160401b03168552938101939281019260010161457b565b6145af90615827565b906002546145bc816144ff565b90600093845b82811061462657505050821561461d5780836001600160401b0392526145f26145ea85614545565b6000836158c2565b60405161461581614607602082018095614570565b03601f198101835282610d0f565b519020921690565b50600091508190565b80614648614635600193610fff565b90546001600160401b039160031b1c1690565b6001600160401b038061467e614671846001600160401b03166000526009602052604060002090565b546001600160401b031690565b16801515918261471d575b5050614697575b50016145c2565b6146b4816001600160401b03166000526012602052604060002090565b54806146c1575b50614690565b6146dd61185c916003928391600052600f602052604060002090565b6146e681610d4d565b146146f2575b806146bb565b614717906147096147028a6140c9565b9988614531565b906001600160401b03169052565b386146ec565b8616101590503880614689565b1561473157565b60405162461bcd60e51b81526020600482015260016024820152600360fc1b6044820152606490fd5b1561476157565b60405162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b6044820152606490fd5b1561479a57565b60405162461bcd60e51b815260206004820152601060248201526f6e6f742073656e6465722773206b657960801b6044820152606490fd5b156147d957565b60405162461bcd60e51b815260206004820152601860248201527f6b6579206e6f7420696e2070656e64696e6720737461746500000000000000006044820152606490fd5b156148265750565b60405162461bcd60e51b815260206004820152908190610864906024830190610962565b1561485157565b60405162461bcd60e51b81526020600482015260136024820152721c1d589ad95e48185b1c9958591e481d5cd959606a1b6044820152606490fd5b90601f811161489a57505050565b6000916000526020600020906020601f850160051c830194106148d8575b601f0160051c01915b8281106148cd57505050565b8181556001016148c1565b90925082906148b8565b9092916001600160401b038111610cd457614907816149018454610bdb565b8461488c565b6000601f821160011461494857819061493993949560009261493d575b50508160011b916000199060031b1c19161790565b9055565b013590503880614924565b601f1982169461495d84600052602060002090565b91805b87811061499857508360019596971061497e575b505050811b019055565b0135600019600384901b60f8161c19169055388080614974565b90926020600181928686013581550194019101614960565b156149b757565b60405162461bcd60e51b815260206004820152600d60248201526c18985d18da080f881b1a5b5a5d609a1b6044820152606490fd5b9190811015610ffa5760051b0190565b15614a0357565b60405162461bcd60e51b815260206004820152601960248201527f43616e6e6f742072656d6f7665206f746865722773206b6579000000000000006044820152606490fd5b15614a4f57565b60405162461bcd60e51b815260206004820152600b60248201526a4e6f742070656e64696e6760a81b6044820152606490fd5b6001600160a01b0390911681526040602082018190526136aa939101916138a1565b15614aab57565b60405162461bcd60e51b815260206004820152600b60248201526a1c1d589ad95e481d5cd95960aa1b6044820152606490fd5b15614ae557565b606460405162461bcd60e51b815260206004820152602060248201527f696e73756666696369656e7420626f6e6420666f72206b65792075706c6f61646044820152fd5b91909182516001600160401b038111610cd457614b4a816149018454610bdb565b602080601f8311600114614b8857508190614939939495600092614b7d5750508160011b916000199060031b1c19161790565b015190503880614924565b90601f19831695614b9e85600052602060002090565b926000905b888210614bda57505083600195969710614bc157505050811b019055565b015160001960f88460031b161c19169055388080614974565b80600185968294968601518155019501930190614ba3565b919080519283516001600160401b038111610cd457614c15816149018454610bdb565b602080601f8311600114614ce35750614cbb92614c538360a094600394610d4b999a600092614b7d5750508160011b916000199060031b1c19161790565b81555b614c67602086015160018301614b29565b604085015160028201556060850151910180546001600160a01b0319166001600160a01b0390921691909117815592614cad6080820151614ca781610d4d565b85613a40565b01516001600160401b031690565b815467ffffffffffffffff60a81b191660a89190911b67ffffffffffffffff60a81b16179055565b90601f19831696614cf985600052602060002090565b926000905b898210614d4657505083600393614cbb969360019360a097610d4b9b9c10614d2e575b505050811b018155614c56565b015160001983871b60f8161c19169055388080614d21565b80600185968294968601518155019501930190614cfe565b919060035490818410801590614df9575b614ddd5783019081841161227057808211614dd5575b5082810390811161227057614d99906144ff565b9160005b8351811015614dd15780614dcb614dc1614635614dbc6001958761379d565b610fba565b6147098388614531565b01614d9d565b5050565b905038614d85565b50509050604051614ded81610cf4565b60008152600036813790565b508015614d6f565b15614e0857565b60405162461bcd60e51b815260206004820152601b60248201527f434f4445204552524f523a20696e76616c6964206d617070696e6700000000006044820152606490fd5b600080516020615da28339815191526002815414614e6b5760029055565b604051633ee5aeb560e01b8152600490fd5b60041161047a57600090600490565b9060201161047a5790602090565b9060401161047a5760200190602090565b9060601161047a5760400190602090565b6001600160e01b03199035818116939260048110614ed957505050565b60040360031b82901b16169150565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b600080516020615d428339815191528054614f5a906001600160a01b0316614f51614f4b86614e7d565b90614ebc565b908430916159f1565b9015614f67575b50505050565b63ffffffff161561501357600080516020615d42833981519152805460ff60a01b1916600160a01b179055614fa1906104f49081906119cd565b91823b1561047a57614fcd9260009283604051809681958294634a63ebf760e11b845260048401614ee8565b03925af180156106aa57615000575b50600080516020615d42833981519152805460ff60a01b1916905538808080614f61565b8061069e61500d92610cc1565b38614fdc565b60405162d1953b60e31b81526001600160a01b0383166004820152602490fd5b3d1561505e573d90615044826115a3565b916150526040519384610d0f565b82523d6000602084013e565b606090565b1561506a57565b60405162461bcd60e51b8152602060048201526015602482015274092dcecc2d8d2c840e0eac4d6caf240d8cadccee8d605b1b6044820152606490fd5b156150ae57565b60405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606490fd5b906151016020928281519485920161093f565b0190565b9361512e615134926151529661511d60308314615063565b615129606085146150a7565b615abe565b93615b2a565b60409182519485916020958684019091604092825260208201520190565b0390615166601f1992838101875286610d0f565b8383519586806151796000998a946150ee565b039060025afa156106aa5783856151c76151b06151bc8351958851928391878301604091634059730760d81b825260208201520190565b03878101835282610d0f565b8651918280926150ee565b039060025afa156106aa57849261520561520f938551936151f984519586928a84019091604092825260208201520190565b03908101845283610d0f565b51918280926150ee565b039060025afa156106aa575190565b615275909594919561522e615bb4565b615236615bb4565b61523e615bb4565b6001600080516020615da283398151915255615258615bb4565b615260615bb4565b615268615bb4565b615270615bb4565b6153e2565b61527d615bb4565b615285615bb4565b61529e6001600160f81b03198616600160f91b14613751565b6001600160a01b0391821694851515806153ac575b806153a1575b1561536d578261532f946152f361534b986152d661531195600155565b60018060a01b03166001600160601b0360a01b600c541617600c55565b1660018060a01b03166001600160601b0360a01b600d541617600d55565b1660018060a01b03166001600160601b0360a01b600e541617600e55565b6001600160401b03166001600160401b03196000541617600055565b61536360016001600160401b03196008541617600855565b610d4b6000601555565b60405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b6044820152606490fd5b5082821615156152b9565b5082841615156152b3565b60ff600080516020615d8283398151915254166153d057565b60405163d93c066560e01b8152600490fd5b600080516020615d4283398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b600092916001600160401b031680156154d55781019081811161227057600a5482116154a857905b80821061546e575050565b90926154a0600191615493615482876113ed565b505460401c6001600160401b031690565b016001600160401b031690565b930190615463565b60405162461bcd60e51b815260206004820152600560248201526472616e676560d81b6044820152606490fd5b506000925050565b600092916001600160401b031680156154d55781019081811161227057600b5482116154a857905b808210615510575050565b909261552460019161549361548287611424565b930190615505565b909261553b6030835114615063565b61554860608451146150a7565b6020828101516040938401518451808401929092526fffffffffffffffffffffffffffffffff191681850152838152909485949192601f19929161558d606086610d0f565b8551978895866155a060009b8c936150ee565b03600297885afa156106aa5787519167ffffffffffff00008160081b9160081c9165ff000000ff0064ff000000ff65ffffffffffff66ff000000ff0000861667ff000000ff00000085161760101c16941691161760101b1617928789615643828401519361563860608c8301519201519561562c8d519384928884019091604092825260208201520190565b038a8101835282610d0f565b8a51918280926150ee565b0390895afa156106aa57878961567361562c6156388351958c519283918783016040918152600060208201520190565b0390895afa156106aa57886156bb89926156b08351916156a48c519384928884019091604092825260208201520190565b03898101835282610d0f565b8951918280926150ee565b0390885afa156106aa578761570388926156f88351956156ec8b519384928884019091604092825260208201520190565b03888101835282610d0f565b8851918280926150ee565b0390875afa156106aa5786615759879261574e8351956151b08a51938267ffffffff0000000063ffffffff87958b1c16918a1b161760c01b8884019091604092825260208201520190565b8751918280926150ee565b0390865afa156106aa57859361520561578a938651936151f984519586928b84019091604092825260208201520190565b03915afa156106aa575190565b604051906157a482610cd9565b6001600160401b038091168252806020830193168352600a5492600160401b841015610cd4576001840180600a55841015610ffa57612a0f82610d4b95600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80194511684906001600160401b03166001600160401b0319825416179055565b6001600160401b03908180600054169116818111156158525703908082116122705761018091160490565b60405162461bcd60e51b815260206004820152600660248201526562616420747360d01b6044820152606490fd5b9190916000838201938412911290801582169115161761227057565b6001600160ff1b0381146122705760010190565b600160ff1b8114612270576000190190565b9190808283821215610c445761590761075d6158fa6158f46158ee6158e7878a614557565b6002900590565b86615880565b88614531565b516001600160401b031690565b81841315615940575080821261592f575b505081811261592657505050565b610d4b926158c2565b61593991856158c2565b3880615918565b959192949390945b8661595961075d6158fa8489614531565b101561596d576159689061589c565b615948565b95945b61598061075d6158fa8388614531565b86101561599557615990906158b0565b615970565b909394959291958184136159075790926159e56159eb916159e06159bc6158fa888b614531565b6159d66159cc6158fa858d614531565b6147098a8d614531565b614709838b614531565b61589c565b936158b0565b90615907565b60405163b700961360e01b602082019081526001600160a01b0393841660248301529290931660448401526001600160e01b03199093166064808401919091528252600093849390928492909160a08301916001600160401b03831184841017610cd457604093859385528380528360205251915afa615a6e5750565b9150915051906020518060201c150290565b805115615a8f57602081519101fd5b60405163d6bda27560e01b8152600490fd5b359060208110615aaf575090565b6000199060200360031b1b1690565b9060201161047a576000615b17602092604051615b0681614607878201946fffffffffffffffffffffffffffffffff1989820135169035869091604092825260208201520190565b60405192839283925192839161093f565b8101039060025afa156106aa5760005190565b90615b5c91615134615b42615b48615b428585614e8c565b90615aa1565b93615b56615b428286614e9a565b93614eab565b0390615b70601f1992838101875286610d0f565b838351958680615b836000998a946150ee565b039060025afa156106aa5783856151c76151b06151bc83519588519283918783016040918152600060208201520190565b60ff600080516020615dc28339815191525460401c1615615bd157565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114918215615c21575b505061175a57565b600080516020615d628339815191525416141590503880615c19565b90813b15615cc057600080516020615d6283398151915280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115615ca55761381991615ce1565b505034615cae57565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b6000806136aa93602081519101845af4615cf9615033565b9190615d055750615a80565b81511580615d38575b615d16575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15615d0e56fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220876777714947a41a7defac6b2607402307589d3950db844661b369c69855a07164736f6c63430008190033",
1751
+ "linkReferences": {
1752
+ "contracts/liqEth/BeaconState.sol": {
1753
+ "BeaconState": [
1754
+ {
1755
+ "length": 20,
1756
+ "start": 4544
1757
+ },
1758
+ {
1759
+ "length": 20,
1760
+ "start": 15775
1761
+ }
1762
+ ]
1763
+ }
1764
+ },
1765
+ "deployedLinkReferences": {
1766
+ "contracts/liqEth/BeaconState.sol": {
1767
+ "BeaconState": [
1768
+ {
1769
+ "length": 20,
1770
+ "start": 4497
1771
+ },
1772
+ {
1773
+ "length": 20,
1774
+ "start": 15728
1775
+ }
1776
+ ]
1777
+ }
1778
+ }
1779
+ }