@pendle/core-v2 6.2.2 → 6.3.0-beta

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 (379) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +20 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +20 -2
  13. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +6 -24
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  29. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  31. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  33. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +19 -0
  35. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +636 -0
  37. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +1181 -0
  39. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  41. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +28 -2
  44. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +4 -0
  45. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +608 -0
  46. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +28 -2
  48. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +15 -2
  50. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +27 -2
  52. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  54. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  55. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  56. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  57. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  58. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  59. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  61. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  63. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  65. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +4 -0
  76. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.json +282 -0
  77. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +19 -0
  79. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +58 -0
  84. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +81 -19
  86. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +26 -0
  88. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +13 -0
  93. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +26 -0
  95. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  96. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  97. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  98. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  99. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  100. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  101. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  102. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  103. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  104. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  105. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  106. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  107. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  108. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  109. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +15 -2
  110. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  111. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  112. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  113. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  114. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  115. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +7 -2
  116. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  117. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  118. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  119. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  120. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  121. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  122. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  123. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  124. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  125. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  126. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  128. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  130. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  131. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  132. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  133. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  134. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  135. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  136. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  137. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  138. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  139. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +4 -0
  140. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.json +533 -0
  141. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +4 -0
  142. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +889 -0
  143. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +4 -0
  144. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +84 -0
  145. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +4 -0
  146. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +24 -0
  147. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  149. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  150. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  151. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  153. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  154. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  155. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  156. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  157. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  158. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  159. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  160. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  161. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  162. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  163. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  164. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  165. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  166. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  167. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  168. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  169. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  170. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  171. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  172. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  173. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  174. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  175. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  176. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  177. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  178. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  179. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  180. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  181. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  182. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  183. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  184. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  185. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  186. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  187. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  188. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  189. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  190. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  191. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  192. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  193. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  194. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  195. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  196. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  197. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  198. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  199. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  200. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  201. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  202. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  203. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  204. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  205. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.json +15 -1
  206. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  207. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  208. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  209. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +22 -3
  210. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +6 -2
  211. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +12 -2
  212. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +9 -1
  213. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +10 -14
  214. package/contracts/core/Market/PendleGauge.sol +2 -0
  215. package/contracts/core/Market/{v3/PendleMarketFactoryV3.sol → PendleMarketFactoryV6Upg.sol} +18 -14
  216. package/contracts/core/Market/{v3/PendleMarketV3.sol → PendleMarketV6.sol} +48 -13
  217. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +6 -0
  218. package/contracts/core/YieldContracts/{PendleYieldContractFactory.sol → PendleYieldContractFactoryUpg.sol} +10 -13
  219. package/contracts/core/YieldContracts/PendleYieldToken.sol +6 -0
  220. package/contracts/core/erc20/PendleERC20.sol +12 -0
  221. package/contracts/core/libraries/Errors.sol +7 -0
  222. package/contracts/core/libraries/StringLib.sol +12 -0
  223. package/contracts/interfaces/IPExchangeRateOracleApp.sol +86 -0
  224. package/contracts/interfaces/IPGauge.sol +4 -3
  225. package/contracts/interfaces/IPMarket.sol +8 -2
  226. package/contracts/interfaces/IPMarketFactory.sol +22 -10
  227. package/contracts/interfaces/IPPrincipalToken.sol +4 -0
  228. package/contracts/interfaces/IPYieldContractFactory.sol +2 -0
  229. package/contracts/interfaces/IPYieldToken.sol +4 -0
  230. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +10 -10
  231. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol +6 -6
  232. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +3 -3
  233. package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +23 -0
  234. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +160 -0
  235. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol +25 -0
  236. package/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol +36 -0
  237. package/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol +9 -0
  238. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +14 -1
  239. package/contracts/router/swap-aggregator/PendleSwap.sol +1 -1
  240. package/deployments/1-core.json +1 -0
  241. package/deployments/10-core.json +1 -0
  242. package/deployments/146-core.json +4 -1
  243. package/deployments/42161-core.json +4 -1
  244. package/deployments/5000-core.json +4 -1
  245. package/deployments/56-core.json +5 -1
  246. package/deployments/80094-core.json +4 -1
  247. package/deployments/8453-core.json +4 -1
  248. package/deployments/9745-core.json +4 -1
  249. package/deployments/999-core.json +4 -1
  250. package/package.json +3 -2
  251. package/typechain-types/ExchangeRateMsgCodec.ts +89 -0
  252. package/typechain-types/IPExchangeRateOracleApp.ts +352 -0
  253. package/typechain-types/IPGauge.ts +19 -0
  254. package/typechain-types/IPMarket.ts +76 -0
  255. package/typechain-types/IPMarketFactory.ts +146 -46
  256. package/typechain-types/IPPrincipalToken.ts +34 -0
  257. package/typechain-types/IPYieldContractFactory.ts +13 -0
  258. package/typechain-types/IPYieldToken.ts +34 -0
  259. package/typechain-types/OAppCoreUpgradeable.ts +320 -0
  260. package/typechain-types/OAppOptionsType3Upgradeable.ts +319 -0
  261. package/typechain-types/OAppReceiverUpgradeable.ts +498 -0
  262. package/typechain-types/OAppSenderUpgradeable.ts +320 -0
  263. package/typechain-types/OAppUpgradeable.ts +498 -0
  264. package/typechain-types/OKXScaleHelper.ts +87 -0
  265. package/typechain-types/OwnableUpgradeable.ts +174 -0
  266. package/typechain-types/PendleCommonPoolDeployHelperV2.ts +7 -1
  267. package/typechain-types/PendleCrossChainOracleBaseApp_Init.ts +662 -0
  268. package/typechain-types/PendleERC20.ts +21 -0
  269. package/typechain-types/PendleExchangeRateOracleApp.ts +1012 -0
  270. package/typechain-types/PendleExchangeRateOracleV2.ts +142 -0
  271. package/typechain-types/PendleGauge.ts +19 -0
  272. package/typechain-types/PendleGaugeControllerBaseUpg.ts +19 -0
  273. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +19 -0
  274. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +19 -0
  275. package/typechain-types/PendleLPWrapper.ts +21 -0
  276. package/typechain-types/PendleMarketFactoryV6Upg.ts +773 -0
  277. package/typechain-types/PendleMarketV6.ts +1248 -0
  278. package/typechain-types/PendlePrincipalToken.ts +34 -0
  279. package/typechain-types/PendleSwap.ts +19 -0
  280. package/typechain-types/PendleVotingControllerUpg.ts +18 -48
  281. package/typechain-types/PendleYieldContractFactoryUpg.ts +820 -0
  282. package/typechain-types/PendleYieldToken.ts +34 -0
  283. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  284. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  285. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  286. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  287. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  288. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  289. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  290. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  291. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  292. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  293. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  294. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  295. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  296. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  297. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  298. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  299. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  300. package/typechain-types/factories/Errors__factory.ts +26 -1
  301. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +81 -0
  302. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  303. package/typechain-types/factories/IPExchangeRateOracleApp__factory.ts +301 -0
  304. package/typechain-types/factories/IPGauge__factory.ts +19 -0
  305. package/typechain-types/factories/IPMarketFactory__factory.ts +81 -19
  306. package/typechain-types/factories/IPMarket__factory.ts +58 -0
  307. package/typechain-types/factories/IPPrincipalToken__factory.ts +26 -0
  308. package/typechain-types/factories/IPYieldContractFactory__factory.ts +13 -0
  309. package/typechain-types/factories/IPYieldToken__factory.ts +26 -0
  310. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  311. package/typechain-types/factories/OAppCoreUpgradeable__factory.ts +228 -0
  312. package/typechain-types/factories/OAppOptionsType3Upgradeable__factory.ts +219 -0
  313. package/typechain-types/factories/OAppReceiverUpgradeable__factory.ts +399 -0
  314. package/typechain-types/factories/OAppSenderUpgradeable__factory.ts +248 -0
  315. package/typechain-types/factories/OAppUpgradeable__factory.ts +411 -0
  316. package/typechain-types/factories/OKXScaleHelper__factory.ts +39 -0
  317. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  318. package/typechain-types/factories/OwnableUpgradeable__factory.ts +91 -0
  319. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  320. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  321. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  322. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +6 -1
  323. package/typechain-types/factories/PendleCrossChainOracleBaseApp_Init__factory.ts +554 -0
  324. package/typechain-types/factories/PendleERC20__factory.ts +14 -1
  325. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +958 -0
  326. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +165 -0
  327. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  328. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  329. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
  330. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +23 -1
  331. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +23 -1
  332. package/typechain-types/factories/PendleGauge__factory.ts +19 -0
  333. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  334. package/typechain-types/factories/PendleLPWrapper__factory.ts +14 -1
  335. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  336. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +732 -0
  337. package/typechain-types/factories/PendleMarketV6__factory.ts +1261 -0
  338. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  339. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  340. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  341. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  342. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  343. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  344. package/typechain-types/factories/PendlePrincipalToken__factory.ts +27 -1
  345. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  346. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  347. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  348. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  349. package/typechain-types/factories/PendleSwap__factory.ts +31 -4
  350. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +5 -23
  351. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +692 -0
  352. package/typechain-types/factories/PendleYieldToken__factory.ts +27 -1
  353. package/typechain-types/factories/Reflector__factory.ts +1 -1
  354. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  355. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  356. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  357. package/typechain-types/hardhat.d.ts +120 -57
  358. package/typechain-types/index.ts +30 -16
  359. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +0 -4
  360. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +0 -610
  361. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +0 -4
  362. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +0 -1131
  363. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +0 -4
  364. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +0 -590
  365. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +0 -4
  366. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +0 -394
  367. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +0 -4
  368. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.json +0 -370
  369. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +0 -4
  370. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.json +0 -246
  371. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.dbg.json +0 -4
  372. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.json +0 -202
  373. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +0 -4
  374. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.json +0 -833
  375. package/contracts/core/erc20/PendleERC20Permit.sol +0 -80
  376. package/contracts/core/erc20/PendleERC20PermitUpg.sol +0 -82
  377. package/contracts/core/erc20/PendleERC20Upg.sol +0 -334
  378. package/contracts/interfaces/IPMarketFactoryV3.sol +0 -33
  379. package/contracts/interfaces/IPMarketV3.sol +0 -8
@@ -0,0 +1,889 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleExchangeRateOracleApp",
4
+ "sourceName": "contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_endpoint",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address payable",
15
+ "name": "_refundAddress",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "ExchangeRateCallFailed",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "FeedNotInitialized",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "InvalidDelegate",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "InvalidDestinationEid",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "InvalidEndpointCall",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "InvalidMsgType",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "internalType": "bytes",
56
+ "name": "options",
57
+ "type": "bytes"
58
+ }
59
+ ],
60
+ "name": "InvalidOptions",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [],
65
+ "name": "LzTokenUnavailable",
66
+ "type": "error"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "uint32",
72
+ "name": "eid",
73
+ "type": "uint32"
74
+ }
75
+ ],
76
+ "name": "NoPeer",
77
+ "type": "error"
78
+ },
79
+ {
80
+ "inputs": [
81
+ {
82
+ "internalType": "uint256",
83
+ "name": "msgValue",
84
+ "type": "uint256"
85
+ }
86
+ ],
87
+ "name": "NotEnoughNative",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [
92
+ {
93
+ "internalType": "address",
94
+ "name": "addr",
95
+ "type": "address"
96
+ }
97
+ ],
98
+ "name": "OnlyEndpoint",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [
103
+ {
104
+ "internalType": "uint32",
105
+ "name": "eid",
106
+ "type": "uint32"
107
+ },
108
+ {
109
+ "internalType": "bytes32",
110
+ "name": "sender",
111
+ "type": "bytes32"
112
+ }
113
+ ],
114
+ "name": "OnlyPeer",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "anonymous": false,
119
+ "inputs": [
120
+ {
121
+ "indexed": true,
122
+ "internalType": "address",
123
+ "name": "sender",
124
+ "type": "address"
125
+ }
126
+ ],
127
+ "name": "AllowedSenderSet",
128
+ "type": "event"
129
+ },
130
+ {
131
+ "anonymous": false,
132
+ "inputs": [
133
+ {
134
+ "components": [
135
+ {
136
+ "internalType": "uint32",
137
+ "name": "eid",
138
+ "type": "uint32"
139
+ },
140
+ {
141
+ "internalType": "uint16",
142
+ "name": "msgType",
143
+ "type": "uint16"
144
+ },
145
+ {
146
+ "internalType": "bytes",
147
+ "name": "options",
148
+ "type": "bytes"
149
+ }
150
+ ],
151
+ "indexed": false,
152
+ "internalType": "struct EnforcedOptionParam[]",
153
+ "name": "_enforcedOptions",
154
+ "type": "tuple[]"
155
+ }
156
+ ],
157
+ "name": "EnforcedOptionSet",
158
+ "type": "event"
159
+ },
160
+ {
161
+ "anonymous": false,
162
+ "inputs": [
163
+ {
164
+ "indexed": true,
165
+ "internalType": "bytes32",
166
+ "name": "guid",
167
+ "type": "bytes32"
168
+ },
169
+ {
170
+ "indexed": true,
171
+ "internalType": "uint32",
172
+ "name": "srcEid",
173
+ "type": "uint32"
174
+ },
175
+ {
176
+ "indexed": true,
177
+ "internalType": "bytes32",
178
+ "name": "exchangeRateSource",
179
+ "type": "bytes32"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "uint256",
184
+ "name": "exchangeRate",
185
+ "type": "uint256"
186
+ },
187
+ {
188
+ "indexed": false,
189
+ "internalType": "uint256",
190
+ "name": "updatedAt",
191
+ "type": "uint256"
192
+ },
193
+ {
194
+ "indexed": false,
195
+ "internalType": "bool",
196
+ "name": "rateAccepted",
197
+ "type": "bool"
198
+ }
199
+ ],
200
+ "name": "ExchangeRateReceived",
201
+ "type": "event"
202
+ },
203
+ {
204
+ "anonymous": false,
205
+ "inputs": [
206
+ {
207
+ "indexed": true,
208
+ "internalType": "bytes32",
209
+ "name": "guid",
210
+ "type": "bytes32"
211
+ },
212
+ {
213
+ "indexed": true,
214
+ "internalType": "uint32",
215
+ "name": "dstEid",
216
+ "type": "uint32"
217
+ },
218
+ {
219
+ "indexed": true,
220
+ "internalType": "address",
221
+ "name": "exchangeRateSource",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "indexed": false,
226
+ "internalType": "uint256",
227
+ "name": "exchangeRate",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "name": "ExchangeRateSent",
232
+ "type": "event"
233
+ },
234
+ {
235
+ "anonymous": false,
236
+ "inputs": [
237
+ {
238
+ "indexed": false,
239
+ "internalType": "uint8",
240
+ "name": "version",
241
+ "type": "uint8"
242
+ }
243
+ ],
244
+ "name": "Initialized",
245
+ "type": "event"
246
+ },
247
+ {
248
+ "anonymous": false,
249
+ "inputs": [
250
+ {
251
+ "indexed": true,
252
+ "internalType": "address",
253
+ "name": "previousOwner",
254
+ "type": "address"
255
+ },
256
+ {
257
+ "indexed": true,
258
+ "internalType": "address",
259
+ "name": "newOwner",
260
+ "type": "address"
261
+ }
262
+ ],
263
+ "name": "OwnershipTransferred",
264
+ "type": "event"
265
+ },
266
+ {
267
+ "anonymous": false,
268
+ "inputs": [
269
+ {
270
+ "indexed": false,
271
+ "internalType": "uint32",
272
+ "name": "eid",
273
+ "type": "uint32"
274
+ },
275
+ {
276
+ "indexed": false,
277
+ "internalType": "bytes32",
278
+ "name": "peer",
279
+ "type": "bytes32"
280
+ }
281
+ ],
282
+ "name": "PeerSet",
283
+ "type": "event"
284
+ },
285
+ {
286
+ "inputs": [
287
+ {
288
+ "components": [
289
+ {
290
+ "internalType": "uint32",
291
+ "name": "srcEid",
292
+ "type": "uint32"
293
+ },
294
+ {
295
+ "internalType": "bytes32",
296
+ "name": "sender",
297
+ "type": "bytes32"
298
+ },
299
+ {
300
+ "internalType": "uint64",
301
+ "name": "nonce",
302
+ "type": "uint64"
303
+ }
304
+ ],
305
+ "internalType": "struct Origin",
306
+ "name": "origin",
307
+ "type": "tuple"
308
+ }
309
+ ],
310
+ "name": "allowInitializePath",
311
+ "outputs": [
312
+ {
313
+ "internalType": "bool",
314
+ "name": "",
315
+ "type": "bool"
316
+ }
317
+ ],
318
+ "stateMutability": "view",
319
+ "type": "function"
320
+ },
321
+ {
322
+ "inputs": [],
323
+ "name": "allowedSender",
324
+ "outputs": [
325
+ {
326
+ "internalType": "address",
327
+ "name": "",
328
+ "type": "address"
329
+ }
330
+ ],
331
+ "stateMutability": "view",
332
+ "type": "function"
333
+ },
334
+ {
335
+ "inputs": [
336
+ {
337
+ "internalType": "uint32",
338
+ "name": "_eid",
339
+ "type": "uint32"
340
+ },
341
+ {
342
+ "internalType": "uint16",
343
+ "name": "_msgType",
344
+ "type": "uint16"
345
+ },
346
+ {
347
+ "internalType": "bytes",
348
+ "name": "_extraOptions",
349
+ "type": "bytes"
350
+ }
351
+ ],
352
+ "name": "combineOptions",
353
+ "outputs": [
354
+ {
355
+ "internalType": "bytes",
356
+ "name": "",
357
+ "type": "bytes"
358
+ }
359
+ ],
360
+ "stateMutability": "view",
361
+ "type": "function"
362
+ },
363
+ {
364
+ "inputs": [],
365
+ "name": "eid",
366
+ "outputs": [
367
+ {
368
+ "internalType": "uint32",
369
+ "name": "",
370
+ "type": "uint32"
371
+ }
372
+ ],
373
+ "stateMutability": "view",
374
+ "type": "function"
375
+ },
376
+ {
377
+ "inputs": [],
378
+ "name": "endpoint",
379
+ "outputs": [
380
+ {
381
+ "internalType": "contract ILayerZeroEndpointV2",
382
+ "name": "",
383
+ "type": "address"
384
+ }
385
+ ],
386
+ "stateMutability": "view",
387
+ "type": "function"
388
+ },
389
+ {
390
+ "inputs": [
391
+ {
392
+ "internalType": "uint32",
393
+ "name": "_eid",
394
+ "type": "uint32"
395
+ },
396
+ {
397
+ "internalType": "uint16",
398
+ "name": "_msgType",
399
+ "type": "uint16"
400
+ }
401
+ ],
402
+ "name": "enforcedOptions",
403
+ "outputs": [
404
+ {
405
+ "internalType": "bytes",
406
+ "name": "",
407
+ "type": "bytes"
408
+ }
409
+ ],
410
+ "stateMutability": "view",
411
+ "type": "function"
412
+ },
413
+ {
414
+ "inputs": [
415
+ {
416
+ "internalType": "uint32",
417
+ "name": "_srcEid",
418
+ "type": "uint32"
419
+ },
420
+ {
421
+ "internalType": "bytes32",
422
+ "name": "exchangeRateSource",
423
+ "type": "bytes32"
424
+ }
425
+ ],
426
+ "name": "getExchangeRate",
427
+ "outputs": [
428
+ {
429
+ "components": [
430
+ {
431
+ "internalType": "uint256",
432
+ "name": "exchangeRate",
433
+ "type": "uint256"
434
+ },
435
+ {
436
+ "internalType": "uint256",
437
+ "name": "updatedAt",
438
+ "type": "uint256"
439
+ }
440
+ ],
441
+ "internalType": "struct IPExchangeRateOracleApp.ExchangeRateData",
442
+ "name": "exchangeRateData",
443
+ "type": "tuple"
444
+ }
445
+ ],
446
+ "stateMutability": "view",
447
+ "type": "function"
448
+ },
449
+ {
450
+ "inputs": [
451
+ {
452
+ "internalType": "address",
453
+ "name": "_owner",
454
+ "type": "address"
455
+ },
456
+ {
457
+ "internalType": "address",
458
+ "name": "_delegate",
459
+ "type": "address"
460
+ },
461
+ {
462
+ "internalType": "address",
463
+ "name": "_allowedSender",
464
+ "type": "address"
465
+ }
466
+ ],
467
+ "name": "initialize",
468
+ "outputs": [],
469
+ "stateMutability": "nonpayable",
470
+ "type": "function"
471
+ },
472
+ {
473
+ "inputs": [
474
+ {
475
+ "components": [
476
+ {
477
+ "internalType": "uint32",
478
+ "name": "srcEid",
479
+ "type": "uint32"
480
+ },
481
+ {
482
+ "internalType": "bytes32",
483
+ "name": "sender",
484
+ "type": "bytes32"
485
+ },
486
+ {
487
+ "internalType": "uint64",
488
+ "name": "nonce",
489
+ "type": "uint64"
490
+ }
491
+ ],
492
+ "internalType": "struct Origin",
493
+ "name": "",
494
+ "type": "tuple"
495
+ },
496
+ {
497
+ "internalType": "bytes",
498
+ "name": "",
499
+ "type": "bytes"
500
+ },
501
+ {
502
+ "internalType": "address",
503
+ "name": "_sender",
504
+ "type": "address"
505
+ }
506
+ ],
507
+ "name": "isComposeMsgSender",
508
+ "outputs": [
509
+ {
510
+ "internalType": "bool",
511
+ "name": "",
512
+ "type": "bool"
513
+ }
514
+ ],
515
+ "stateMutability": "view",
516
+ "type": "function"
517
+ },
518
+ {
519
+ "inputs": [
520
+ {
521
+ "components": [
522
+ {
523
+ "internalType": "uint32",
524
+ "name": "srcEid",
525
+ "type": "uint32"
526
+ },
527
+ {
528
+ "internalType": "bytes32",
529
+ "name": "sender",
530
+ "type": "bytes32"
531
+ },
532
+ {
533
+ "internalType": "uint64",
534
+ "name": "nonce",
535
+ "type": "uint64"
536
+ }
537
+ ],
538
+ "internalType": "struct Origin",
539
+ "name": "_origin",
540
+ "type": "tuple"
541
+ },
542
+ {
543
+ "internalType": "bytes32",
544
+ "name": "_guid",
545
+ "type": "bytes32"
546
+ },
547
+ {
548
+ "internalType": "bytes",
549
+ "name": "_message",
550
+ "type": "bytes"
551
+ },
552
+ {
553
+ "internalType": "address",
554
+ "name": "_executor",
555
+ "type": "address"
556
+ },
557
+ {
558
+ "internalType": "bytes",
559
+ "name": "_extraData",
560
+ "type": "bytes"
561
+ }
562
+ ],
563
+ "name": "lzReceive",
564
+ "outputs": [],
565
+ "stateMutability": "payable",
566
+ "type": "function"
567
+ },
568
+ {
569
+ "inputs": [
570
+ {
571
+ "internalType": "uint32",
572
+ "name": "",
573
+ "type": "uint32"
574
+ },
575
+ {
576
+ "internalType": "bytes32",
577
+ "name": "",
578
+ "type": "bytes32"
579
+ }
580
+ ],
581
+ "name": "nextNonce",
582
+ "outputs": [
583
+ {
584
+ "internalType": "uint64",
585
+ "name": "nonce",
586
+ "type": "uint64"
587
+ }
588
+ ],
589
+ "stateMutability": "view",
590
+ "type": "function"
591
+ },
592
+ {
593
+ "inputs": [],
594
+ "name": "oAppVersion",
595
+ "outputs": [
596
+ {
597
+ "internalType": "uint64",
598
+ "name": "senderVersion",
599
+ "type": "uint64"
600
+ },
601
+ {
602
+ "internalType": "uint64",
603
+ "name": "receiverVersion",
604
+ "type": "uint64"
605
+ }
606
+ ],
607
+ "stateMutability": "pure",
608
+ "type": "function"
609
+ },
610
+ {
611
+ "inputs": [],
612
+ "name": "owner",
613
+ "outputs": [
614
+ {
615
+ "internalType": "address",
616
+ "name": "",
617
+ "type": "address"
618
+ }
619
+ ],
620
+ "stateMutability": "view",
621
+ "type": "function"
622
+ },
623
+ {
624
+ "inputs": [
625
+ {
626
+ "internalType": "uint32",
627
+ "name": "_eid",
628
+ "type": "uint32"
629
+ }
630
+ ],
631
+ "name": "peers",
632
+ "outputs": [
633
+ {
634
+ "internalType": "bytes32",
635
+ "name": "",
636
+ "type": "bytes32"
637
+ }
638
+ ],
639
+ "stateMutability": "view",
640
+ "type": "function"
641
+ },
642
+ {
643
+ "inputs": [
644
+ {
645
+ "components": [
646
+ {
647
+ "internalType": "address",
648
+ "name": "exchangeRateSource",
649
+ "type": "address"
650
+ },
651
+ {
652
+ "internalType": "uint32",
653
+ "name": "dstEid",
654
+ "type": "uint32"
655
+ },
656
+ {
657
+ "internalType": "bytes",
658
+ "name": "extraOptions",
659
+ "type": "bytes"
660
+ }
661
+ ],
662
+ "internalType": "struct IPExchangeRateOracleApp.SendExchangeRateParam",
663
+ "name": "sendParam",
664
+ "type": "tuple"
665
+ },
666
+ {
667
+ "internalType": "bool",
668
+ "name": "payInLzToken",
669
+ "type": "bool"
670
+ }
671
+ ],
672
+ "name": "quoteSendExchangeRate",
673
+ "outputs": [
674
+ {
675
+ "components": [
676
+ {
677
+ "internalType": "uint256",
678
+ "name": "nativeFee",
679
+ "type": "uint256"
680
+ },
681
+ {
682
+ "internalType": "uint256",
683
+ "name": "lzTokenFee",
684
+ "type": "uint256"
685
+ }
686
+ ],
687
+ "internalType": "struct MessagingFee",
688
+ "name": "fee",
689
+ "type": "tuple"
690
+ }
691
+ ],
692
+ "stateMutability": "view",
693
+ "type": "function"
694
+ },
695
+ {
696
+ "inputs": [],
697
+ "name": "refundAddress",
698
+ "outputs": [
699
+ {
700
+ "internalType": "address payable",
701
+ "name": "",
702
+ "type": "address"
703
+ }
704
+ ],
705
+ "stateMutability": "view",
706
+ "type": "function"
707
+ },
708
+ {
709
+ "inputs": [],
710
+ "name": "renounceOwnership",
711
+ "outputs": [],
712
+ "stateMutability": "nonpayable",
713
+ "type": "function"
714
+ },
715
+ {
716
+ "inputs": [
717
+ {
718
+ "components": [
719
+ {
720
+ "internalType": "address",
721
+ "name": "exchangeRateSource",
722
+ "type": "address"
723
+ },
724
+ {
725
+ "internalType": "uint32",
726
+ "name": "dstEid",
727
+ "type": "uint32"
728
+ },
729
+ {
730
+ "internalType": "bytes",
731
+ "name": "extraOptions",
732
+ "type": "bytes"
733
+ }
734
+ ],
735
+ "internalType": "struct IPExchangeRateOracleApp.SendExchangeRateParam",
736
+ "name": "sendParam",
737
+ "type": "tuple"
738
+ },
739
+ {
740
+ "components": [
741
+ {
742
+ "internalType": "uint256",
743
+ "name": "nativeFee",
744
+ "type": "uint256"
745
+ },
746
+ {
747
+ "internalType": "uint256",
748
+ "name": "lzTokenFee",
749
+ "type": "uint256"
750
+ }
751
+ ],
752
+ "internalType": "struct MessagingFee",
753
+ "name": "fee",
754
+ "type": "tuple"
755
+ }
756
+ ],
757
+ "name": "sendExchangeRate",
758
+ "outputs": [
759
+ {
760
+ "components": [
761
+ {
762
+ "internalType": "bytes32",
763
+ "name": "guid",
764
+ "type": "bytes32"
765
+ },
766
+ {
767
+ "internalType": "uint64",
768
+ "name": "nonce",
769
+ "type": "uint64"
770
+ },
771
+ {
772
+ "components": [
773
+ {
774
+ "internalType": "uint256",
775
+ "name": "nativeFee",
776
+ "type": "uint256"
777
+ },
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "lzTokenFee",
781
+ "type": "uint256"
782
+ }
783
+ ],
784
+ "internalType": "struct MessagingFee",
785
+ "name": "fee",
786
+ "type": "tuple"
787
+ }
788
+ ],
789
+ "internalType": "struct MessagingReceipt",
790
+ "name": "receipt",
791
+ "type": "tuple"
792
+ }
793
+ ],
794
+ "stateMutability": "payable",
795
+ "type": "function"
796
+ },
797
+ {
798
+ "inputs": [
799
+ {
800
+ "internalType": "address",
801
+ "name": "_allowedSender",
802
+ "type": "address"
803
+ }
804
+ ],
805
+ "name": "setAllowedSender",
806
+ "outputs": [],
807
+ "stateMutability": "nonpayable",
808
+ "type": "function"
809
+ },
810
+ {
811
+ "inputs": [
812
+ {
813
+ "internalType": "address",
814
+ "name": "_delegate",
815
+ "type": "address"
816
+ }
817
+ ],
818
+ "name": "setDelegate",
819
+ "outputs": [],
820
+ "stateMutability": "nonpayable",
821
+ "type": "function"
822
+ },
823
+ {
824
+ "inputs": [
825
+ {
826
+ "components": [
827
+ {
828
+ "internalType": "uint32",
829
+ "name": "eid",
830
+ "type": "uint32"
831
+ },
832
+ {
833
+ "internalType": "uint16",
834
+ "name": "msgType",
835
+ "type": "uint16"
836
+ },
837
+ {
838
+ "internalType": "bytes",
839
+ "name": "options",
840
+ "type": "bytes"
841
+ }
842
+ ],
843
+ "internalType": "struct EnforcedOptionParam[]",
844
+ "name": "_enforcedOptions",
845
+ "type": "tuple[]"
846
+ }
847
+ ],
848
+ "name": "setEnforcedOptions",
849
+ "outputs": [],
850
+ "stateMutability": "nonpayable",
851
+ "type": "function"
852
+ },
853
+ {
854
+ "inputs": [
855
+ {
856
+ "internalType": "uint32",
857
+ "name": "_eid",
858
+ "type": "uint32"
859
+ },
860
+ {
861
+ "internalType": "bytes32",
862
+ "name": "_peer",
863
+ "type": "bytes32"
864
+ }
865
+ ],
866
+ "name": "setPeer",
867
+ "outputs": [],
868
+ "stateMutability": "nonpayable",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [
873
+ {
874
+ "internalType": "address",
875
+ "name": "newOwner",
876
+ "type": "address"
877
+ }
878
+ ],
879
+ "name": "transferOwnership",
880
+ "outputs": [],
881
+ "stateMutability": "nonpayable",
882
+ "type": "function"
883
+ }
884
+ ],
885
+ "bytecode": "0x60e060405234801561000f575f5ffd5b506040516126b43803806126b483398101604081905261002e9161018d565b6001600160a01b03808316608052811660a0526100496100ba565b816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610085573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a991906101c5565b63ffffffff1660c052506101ef9050565b5f54610100900460ff16156101255760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610174575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b038116811461018a575f5ffd5b50565b5f5f6040838503121561019e575f5ffd5b82516101a981610176565b60208401519092506101ba81610176565b809150509250929050565b5f602082840312156101d5575f5ffd5b815163ffffffff811681146101e8575f5ffd5b9392505050565b60805160a05160c05161245c6102585f395f818161024b0152818161048d015261084a01525f818161012401526108de01525f81816102bf0152818161054601528181610dbc015281816110ee015281816113290152818161154101526115f8015261245c5ff3fe60806040526004361061010f575f3560e01c80630cb61f6c14610113578063124460811461015c57806313137d651461018857806314c7407b1461019d5780631575eaae146101bc57806317442b70146101db57806323882c6c146101fc5780633400288b1461021b578063416ecebf1461023a5780635535d461146102825780635e280f11146102ae578063715018a6146102e15780637d25a05e146102f557806382413eac1461032e5780638da5cb5b1461035d5780639e3a229814610371578063b98bd07014610391578063bb0b6a53146103b0578063bc70b354146103dd578063c0c53b8b146103fc578063ca5eb5e11461041b578063f2fde38b1461043a578063ff7bd03d14610459575b5f5ffd5b34801561011e575f5ffd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b6040516101539190611971565b60405180910390f35b348015610167575f5ffd5b5061017b610176366004611998565b610478565b60405161015391906119c0565b61019b610196366004611a45565b610544565b005b3480156101a8575f5ffd5b5061017b6101b7366004611aec565b6105fc565b3480156101c7575f5ffd5b5060ca54610146906001600160a01b031681565b3480156101e6575f5ffd5b5060408051600181526002602082015201610153565b348015610207575f5ffd5b5061019b610216366004611b3a565b61064d565b348015610226575f5ffd5b5061019b610235366004611998565b610661565b348015610245575f5ffd5b5061026d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610153565b34801561028d575f5ffd5b506102a161029c366004611b66565b6106cb565b6040516101539190611be4565b3480156102b9575f5ffd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b3480156102ec575f5ffd5b5061019b61078b565b348015610300575f5ffd5b5061031661030f366004611998565b5f92915050565b6040516001600160401b039091168152602001610153565b348015610339575f5ffd5b5061034d610348366004611bf6565b61079e565b6040519015158152602001610153565b348015610368575f5ffd5b506101466107b3565b61038461037f366004611c58565b6107c2565b6040516101539190611cad565b34801561039c575f5ffd5b5061019b6103ab366004611cec565b610977565b3480156103bb575f5ffd5b506103cf6103ca366004611d5b565b610add565b604051908152602001610153565b3480156103e8575f5ffd5b506102a16103f7366004611d74565b610b03565b348015610407575f5ffd5b5061019b610416366004611dd0565b610c7d565b348015610426575f5ffd5b5061019b610435366004611b3a565b610d9d565b348015610445575f5ffd5b5061019b610454366004611b3a565b610e21565b348015610464575f5ffd5b5061034d610473366004611e18565b610e97565b604080518082019091525f80825260208201527f000000000000000000000000000000000000000000000000000000000000000063ffffffff168363ffffffff16036104e9575f6104cd83610eb4565b610eb4565b60408051808201909152908152426020820152915061053e9050565b5063ffffffff82165f90815260c960209081526040808320848452825280832081518083019092528054825260010154918101829052910361053e5760405163877eb06960e01b815260040160405180910390fd5b92915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461059857336040516391ac5e4f60e01b815260040161058f9190611971565b60405180910390fd5b602087018035906105b2906105ad908a611d5b565b610f6f565b146105e4576105c46020880188611d5b565b876020013560405163309afaf360e21b815260040161058f929190611e32565b6105f387878787878787610fbe565b50505050505050565b610604611936565b5f6106156104c86020860186611b3a565b90505f5f610623868461105d565b909250905061064361063b6040880160208901611d5b565b8383886110e4565b9695505050505050565b6106556111b7565b61065e81611216565b50565b6106696111b7565b5f61067261125f565b63ffffffff84165f9081526020829052604090819020849055519091507f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b906106be9085908590611e32565b60405180910390a1505050565b60605f6106d6611283565b63ffffffff85165f9081526020828152604080832061ffff88168452909152902080549192509061070690611e48565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611e48565b801561077d5780601f106107545761010080835404028352916020019161077d565b820191905f5260205f20905b81548152906001019060200180831161076057829003601f168201915b505050505091505092915050565b6107936111b7565b61079c5f6112a7565b565b6001600160a01b03811630145b949350505050565b6033546001600160a01b031690565b6107ca61194e565b6107d26107b3565b6001600160a01b0316336001600160a01b031614806107fb575060ca546001600160a01b031633145b6108385760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640161058f565b6108486040840160208501611d5b565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16036108945760405163639662e960e11b815260040160405180910390fd5b5f6108a56104c86020870187611b3a565b90505f5f6108b3878461105d565b90925090506109026108cb6040890160208a01611d5b565b83836108dc368b90038b018b611eb6565b7f00000000000000000000000000000000000000000000000000000000000000006112f8565b94506109116020880188611b3a565b6001600160a01b031661092a6040890160208a01611d5b565b63ffffffff16865f01517f04d9e6ce9b15f33adcb2fce632432414b9544ce5a786c765a23cad47ff89c89e8660405161096591815260200190565b60405180910390a45050505092915050565b61097f6111b7565b5f610988611283565b90505f5b82811015610aab576109ce8484838181106109a9576109a9611ee7565b90506020028101906109bb9190611efb565b6109c9906040810190611f19565b6113fe565b8383828181106109e0576109e0611ee7565b90506020028101906109f29190611efb565b610a00906040810190611f19565b835f878786818110610a1457610a14611ee7565b9050602002810190610a269190611efb565b610a34906020810190611d5b565b63ffffffff1663ffffffff1681526020019081526020015f205f878786818110610a6057610a60611ee7565b9050602002810190610a729190611efb565b610a83906040810190602001611f5b565b61ffff16815260208101919091526040015f2091610aa2919083611fb8565b5060010161098c565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67483836040516106be929190612099565b5f5f610ae761125f565b63ffffffff9093165f9081526020939093525050604090205490565b60605f610b0e611283565b63ffffffff87165f9081526020828152604080832061ffff8a168452909152812080549293509091610b3f90611e48565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6b90611e48565b8015610bb65780601f10610b8d57610100808354040283529160200191610bb6565b820191905f5260205f20905b815481529060010190602001808311610b9957829003601f168201915b5050505050905080515f03610c055784848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295506107ab945050505050565b5f849003610c165791506107ab9050565b60028410610c6057610c2885856113fe565b80610c36856002818961217e565b604051602001610c48939291906121a5565b604051602081830303815290604052925050506107ab565b8484604051639a6d49cd60e01b815260040161058f9291906121cb565b5f54610100900460ff1615808015610c9b57505f54600160ff909116105b80610cbb5750610caa30611444565b158015610cbb57505f5460ff166001145b610d1e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161058f565b5f805460ff191660011790558015610d3f575f805461ff0019166101001790555b610d498484611453565b610d5282611216565b8015610d97575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610da56111b7565b60405163ca5eb5e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190610df1908490600401611971565b5f604051808303815f87803b158015610e08575f5ffd5b505af1158015610e1a573d5f5f3e3d5ffd5b5050505050565b610e296111b7565b6001600160a01b038116610e8e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161058f565b61065e816112a7565b5f60208201803590610ead906103ca9085611d5b565b1492915050565b5f816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f0f575060408051601f3d908101601f19168201909252610f0c918101906121de565b60015b61053e573d808015610f3c576040519150601f19603f3d011682016040523d82523d5f602084013e610f41565b606091505b5080518015610f51578060208301fd5b604051633a74c8db60e01b815260040160405180910390fd5b919050565b5f5f610f7961125f565b63ffffffff84165f9081526020829052604090205490915080610fb75760405163f6ff4fb760e01b815263ffffffff8516600482015260240161058f565b9392505050565b5f5f5f610fcb888861148f565b919450925090505f610feb610fe360208d018d611d5b565b8585856114d5565b905083610ffb60208d018d611d5b565b63ffffffff168b7f379974d7179a65c64dec15e12045840783f87b63af3eb7fa2dcc01a019cb13748686866040516110489392919092835260208301919091521515604082015260600190565b60405180910390a45050505050505050505050565b6060805f6110b56110716020870187611b3a565b604080516001602082018190526001600160a01b03939093168183015260608101889052426080808301919091528251808303909101815260a09091019091529091565b935090506110da6110cc6040870160208801611d5b565b826103f76040890189611f19565b9150509250929050565b6110ec611936565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161113b89610f6f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016111709291906121f5565b6040805180830381865afa15801561118a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ae919061229c565b95945050505050565b336111c06107b3565b6001600160a01b03161461079c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161058f565b60ca80546001600160a01b0319166001600160a01b0383169081179091556040517fd23ff0a6a463221f2754af2715b7505cb4887c80a6ffcf7eb85fdb9d2ea1e74b905f90a250565b7f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f90090565b7f8d2bda5d9f6ffb5796910376005392955773acee5548d0fcdb10e7c264ea000090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b61130061194e565b5f61130d845f0151611517565b60208501519091501561132757611327846020015161153e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff1681526020016113778c610f6f565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b81526004016113b29291906121f5565b60806040518083038185885af11580156113ce573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113f391906122b6565b979650505050505050565b5f61140c600282848661217e565b61141591612328565b60f01c90506003811461143f578282604051639a6d49cd60e01b815260040161058f9291906121cb565b505050565b6001600160a01b03163b151590565b5f54610100900460ff166114795760405162461bcd60e51b815260040161058f9061235e565b6114828161161d565b61148b826112a7565b5050565b5f80808061149f858701876123a9565b91965094509250905061ffff81166001146114cd5760405163f23fef6f60e01b815260040160405180910390fd5b509250925092565b63ffffffff84165f90815260c9602090815260408083208684529091528120600181015483111561150e57838155600181810184905591505b50949350505050565b5f81341461153a576040516304fb820960e51b815234600482015260240161058f565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561159b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115bf91906123df565b90506001600160a01b0381166115e8576040516329b99a9560e11b815260040160405180910390fd5b61148b6001600160a01b038216337f00000000000000000000000000000000000000000000000000000000000000008561165c565b5f54610100900460ff166116435760405162461bcd60e51b815260040161058f9061235e565b61164c816116b6565b6116546116e5565b61065e6116e5565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610d9790859061170b565b5f54610100900460ff166116dc5760405162461bcd60e51b815260040161058f9061235e565b61065e816117de565b5f54610100900460ff1661079c5760405162461bcd60e51b815260040161058f9061235e565b5f61175f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661182b9092919063ffffffff16565b905080515f148061177f57508080602001905181019061177f91906123fa565b61143f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161058f565b5f54610100900460ff166118045760405162461bcd60e51b815260040161058f9061235e565b6001600160a01b038116610da557604051632d618d8160e21b815260040160405180910390fd5b60606107ab84845f85855f5f866001600160a01b031685876040516118509190612415565b5f6040518083038185875af1925050503d805f811461188a576040519150601f19603f3d011682016040523d82523d5f602084013e61188f565b606091505b50915091506113f387838387606083156119075782515f03611900576118b485611444565b6119005760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161058f565b50816107ab565b6107ab838381511561191c5781518083602001fd5b8060405162461bcd60e51b815260040161058f9190611be4565b60405180604001604052805f81526020015f81525090565b604080516060810182525f808252602082015290810161196c611936565b905290565b6001600160a01b0391909116815260200190565b803563ffffffff81168114610f6a575f5ffd5b5f5f604083850312156119a9575f5ffd5b6119b283611985565b946020939093013593505050565b81518152602080830151908201526040810161053e565b5f606082840312156119e7575f5ffd5b50919050565b5f5f83601f8401126119fd575f5ffd5b5081356001600160401b03811115611a13575f5ffd5b602083019150836020828501011115611a2a575f5ffd5b9250929050565b6001600160a01b038116811461065e575f5ffd5b5f5f5f5f5f5f5f60e0888a031215611a5b575f5ffd5b611a6589896119d7565b96506060880135955060808801356001600160401b03811115611a86575f5ffd5b611a928a828b016119ed565b90965094505060a0880135611aa681611a31565b925060c08801356001600160401b03811115611ac0575f5ffd5b611acc8a828b016119ed565b989b979a50959850939692959293505050565b801515811461065e575f5ffd5b5f5f60408385031215611afd575f5ffd5b82356001600160401b03811115611b12575f5ffd5b611b1e858286016119d7565b9250506020830135611b2f81611adf565b809150509250929050565b5f60208284031215611b4a575f5ffd5b8135610fb781611a31565b803561ffff81168114610f6a575f5ffd5b5f5f60408385031215611b77575f5ffd5b611b8083611985565b9150611b8e60208401611b55565b90509250929050565b5f5b83811015611bb1578181015183820152602001611b99565b50505f910152565b5f8151808452611bd0816020860160208601611b97565b601f01601f19169290920160200192915050565b602081525f610fb76020830184611bb9565b5f5f5f5f60a08587031215611c09575f5ffd5b611c1386866119d7565b935060608501356001600160401b03811115611c2d575f5ffd5b611c39878288016119ed565b9094509250506080850135611c4d81611a31565b939692955090935050565b5f5f8284036060811215611c6a575f5ffd5b83356001600160401b03811115611c7f575f5ffd5b611c8b868287016119d7565b9350506040601f1982011215611c9f575f5ffd5b506020830190509250929050565b815181526020808301516001600160401b0316908201526040808301516080830191611ce59084018280518252602090810151910152565b5092915050565b5f5f60208385031215611cfd575f5ffd5b82356001600160401b03811115611d12575f5ffd5b8301601f81018513611d22575f5ffd5b80356001600160401b03811115611d37575f5ffd5b8560208260051b8401011115611d4b575f5ffd5b6020919091019590945092505050565b5f60208284031215611d6b575f5ffd5b610fb782611985565b5f5f5f5f60608587031215611d87575f5ffd5b611d9085611985565b9350611d9e60208601611b55565b925060408501356001600160401b03811115611db8575f5ffd5b611dc4878288016119ed565b95989497509550505050565b5f5f5f60608486031215611de2575f5ffd5b8335611ded81611a31565b92506020840135611dfd81611a31565b91506040840135611e0d81611a31565b809150509250925092565b5f60608284031215611e28575f5ffd5b610fb783836119d7565b63ffffffff929092168252602082015260400190565b600181811c90821680611e5c57607f821691505b6020821081036119e757634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611eb057611eb0611e7a565b60405290565b5f6040828403128015611ec7575f5ffd5b50611ed0611e8e565b823581526020928301359281019290925250919050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112611f0f575f5ffd5b9190910192915050565b5f5f8335601e19843603018112611f2e575f5ffd5b8301803591506001600160401b03821115611f47575f5ffd5b602001915036819003821315611a2a575f5ffd5b5f60208284031215611f6b575f5ffd5b610fb782611b55565b601f82111561143f57805f5260205f20601f840160051c81016020851015611f995750805b601f840160051c820191505b81811015610e1a575f8155600101611fa5565b6001600160401b03831115611fcf57611fcf611e7a565b611fe383611fdd8354611e48565b83611f74565b5f601f841160018114612014575f8515611ffd5750838201355b5f19600387901b1c1916600186901b178355610e1a565b5f83815260208120601f198716915b828110156120435786850135825560209485019460019092019101612023565b508682101561205f575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602080825281018290525f6040600584901b830181019083018583605e1936839003015b8782101561217157868503603f1901845282358181126120db575f5ffd5b890163ffffffff6120eb82611985565b16865261ffff6120fd60208301611b55565b1660208701526040810135601e19823603018112612119575f5ffd5b016020810190356001600160401b03811115612133575f5ffd5b803603821315612141575f5ffd5b60606040880152612156606088018284612071565b965050506020830192506020840193506001820191506120bd565b5092979650505050505050565b5f5f8585111561218c575f5ffd5b83861115612198575f5ffd5b5050820193919092039150565b5f84516121b6818460208901611b97565b8201838582375f930192835250909392505050565b602081525f6107ab602083018486612071565b5f602082840312156121ee575f5ffd5b5051919050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261222a60e0840182611bb9565b90506060850151603f198483030160a08501526122478282611bb9565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f6040828403121561227d575f5ffd5b612285611e8e565b825181526020928301519281019290925250919050565b5f604082840312156122ac575f5ffd5b610fb7838361226d565b5f60808284031280156122c7575f5ffd5b50604051606081016001600160401b03811182821017156122ea576122ea611e7a565b6040528251815260208301516001600160401b038116811461230a575f5ffd5b602082015261231c846040850161226d565b60408201529392505050565b80356001600160f01b03198116906002841015611ce5576001600160f01b031960029490940360031b84901b1690921692915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5f5f5f608085870312156123bc575f5ffd5b6123c585611b55565b966020860135965060408601359560600135945092505050565b5f602082840312156123ef575f5ffd5b8151610fb781611a31565b5f6020828403121561240a575f5ffd5b8151610fb781611adf565b5f8251611f0f818460208701611b9756fea2646970667358221220eae24dd4215b3522a28dbfc1104a6b2bb25e4dba36a89e66144f900be782428964736f6c634300081e0033",
886
+ "deployedBytecode": "0x60806040526004361061010f575f3560e01c80630cb61f6c14610113578063124460811461015c57806313137d651461018857806314c7407b1461019d5780631575eaae146101bc57806317442b70146101db57806323882c6c146101fc5780633400288b1461021b578063416ecebf1461023a5780635535d461146102825780635e280f11146102ae578063715018a6146102e15780637d25a05e146102f557806382413eac1461032e5780638da5cb5b1461035d5780639e3a229814610371578063b98bd07014610391578063bb0b6a53146103b0578063bc70b354146103dd578063c0c53b8b146103fc578063ca5eb5e11461041b578063f2fde38b1461043a578063ff7bd03d14610459575b5f5ffd5b34801561011e575f5ffd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b6040516101539190611971565b60405180910390f35b348015610167575f5ffd5b5061017b610176366004611998565b610478565b60405161015391906119c0565b61019b610196366004611a45565b610544565b005b3480156101a8575f5ffd5b5061017b6101b7366004611aec565b6105fc565b3480156101c7575f5ffd5b5060ca54610146906001600160a01b031681565b3480156101e6575f5ffd5b5060408051600181526002602082015201610153565b348015610207575f5ffd5b5061019b610216366004611b3a565b61064d565b348015610226575f5ffd5b5061019b610235366004611998565b610661565b348015610245575f5ffd5b5061026d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610153565b34801561028d575f5ffd5b506102a161029c366004611b66565b6106cb565b6040516101539190611be4565b3480156102b9575f5ffd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b3480156102ec575f5ffd5b5061019b61078b565b348015610300575f5ffd5b5061031661030f366004611998565b5f92915050565b6040516001600160401b039091168152602001610153565b348015610339575f5ffd5b5061034d610348366004611bf6565b61079e565b6040519015158152602001610153565b348015610368575f5ffd5b506101466107b3565b61038461037f366004611c58565b6107c2565b6040516101539190611cad565b34801561039c575f5ffd5b5061019b6103ab366004611cec565b610977565b3480156103bb575f5ffd5b506103cf6103ca366004611d5b565b610add565b604051908152602001610153565b3480156103e8575f5ffd5b506102a16103f7366004611d74565b610b03565b348015610407575f5ffd5b5061019b610416366004611dd0565b610c7d565b348015610426575f5ffd5b5061019b610435366004611b3a565b610d9d565b348015610445575f5ffd5b5061019b610454366004611b3a565b610e21565b348015610464575f5ffd5b5061034d610473366004611e18565b610e97565b604080518082019091525f80825260208201527f000000000000000000000000000000000000000000000000000000000000000063ffffffff168363ffffffff16036104e9575f6104cd83610eb4565b610eb4565b60408051808201909152908152426020820152915061053e9050565b5063ffffffff82165f90815260c960209081526040808320848452825280832081518083019092528054825260010154918101829052910361053e5760405163877eb06960e01b815260040160405180910390fd5b92915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461059857336040516391ac5e4f60e01b815260040161058f9190611971565b60405180910390fd5b602087018035906105b2906105ad908a611d5b565b610f6f565b146105e4576105c46020880188611d5b565b876020013560405163309afaf360e21b815260040161058f929190611e32565b6105f387878787878787610fbe565b50505050505050565b610604611936565b5f6106156104c86020860186611b3a565b90505f5f610623868461105d565b909250905061064361063b6040880160208901611d5b565b8383886110e4565b9695505050505050565b6106556111b7565b61065e81611216565b50565b6106696111b7565b5f61067261125f565b63ffffffff84165f9081526020829052604090819020849055519091507f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b906106be9085908590611e32565b60405180910390a1505050565b60605f6106d6611283565b63ffffffff85165f9081526020828152604080832061ffff88168452909152902080549192509061070690611e48565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611e48565b801561077d5780601f106107545761010080835404028352916020019161077d565b820191905f5260205f20905b81548152906001019060200180831161076057829003601f168201915b505050505091505092915050565b6107936111b7565b61079c5f6112a7565b565b6001600160a01b03811630145b949350505050565b6033546001600160a01b031690565b6107ca61194e565b6107d26107b3565b6001600160a01b0316336001600160a01b031614806107fb575060ca546001600160a01b031633145b6108385760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640161058f565b6108486040840160208501611d5b565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16036108945760405163639662e960e11b815260040160405180910390fd5b5f6108a56104c86020870187611b3a565b90505f5f6108b3878461105d565b90925090506109026108cb6040890160208a01611d5b565b83836108dc368b90038b018b611eb6565b7f00000000000000000000000000000000000000000000000000000000000000006112f8565b94506109116020880188611b3a565b6001600160a01b031661092a6040890160208a01611d5b565b63ffffffff16865f01517f04d9e6ce9b15f33adcb2fce632432414b9544ce5a786c765a23cad47ff89c89e8660405161096591815260200190565b60405180910390a45050505092915050565b61097f6111b7565b5f610988611283565b90505f5b82811015610aab576109ce8484838181106109a9576109a9611ee7565b90506020028101906109bb9190611efb565b6109c9906040810190611f19565b6113fe565b8383828181106109e0576109e0611ee7565b90506020028101906109f29190611efb565b610a00906040810190611f19565b835f878786818110610a1457610a14611ee7565b9050602002810190610a269190611efb565b610a34906020810190611d5b565b63ffffffff1663ffffffff1681526020019081526020015f205f878786818110610a6057610a60611ee7565b9050602002810190610a729190611efb565b610a83906040810190602001611f5b565b61ffff16815260208101919091526040015f2091610aa2919083611fb8565b5060010161098c565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67483836040516106be929190612099565b5f5f610ae761125f565b63ffffffff9093165f9081526020939093525050604090205490565b60605f610b0e611283565b63ffffffff87165f9081526020828152604080832061ffff8a168452909152812080549293509091610b3f90611e48565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6b90611e48565b8015610bb65780601f10610b8d57610100808354040283529160200191610bb6565b820191905f5260205f20905b815481529060010190602001808311610b9957829003601f168201915b5050505050905080515f03610c055784848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295506107ab945050505050565b5f849003610c165791506107ab9050565b60028410610c6057610c2885856113fe565b80610c36856002818961217e565b604051602001610c48939291906121a5565b604051602081830303815290604052925050506107ab565b8484604051639a6d49cd60e01b815260040161058f9291906121cb565b5f54610100900460ff1615808015610c9b57505f54600160ff909116105b80610cbb5750610caa30611444565b158015610cbb57505f5460ff166001145b610d1e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161058f565b5f805460ff191660011790558015610d3f575f805461ff0019166101001790555b610d498484611453565b610d5282611216565b8015610d97575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610da56111b7565b60405163ca5eb5e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190610df1908490600401611971565b5f604051808303815f87803b158015610e08575f5ffd5b505af1158015610e1a573d5f5f3e3d5ffd5b5050505050565b610e296111b7565b6001600160a01b038116610e8e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161058f565b61065e816112a7565b5f60208201803590610ead906103ca9085611d5b565b1492915050565b5f816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f0f575060408051601f3d908101601f19168201909252610f0c918101906121de565b60015b61053e573d808015610f3c576040519150601f19603f3d011682016040523d82523d5f602084013e610f41565b606091505b5080518015610f51578060208301fd5b604051633a74c8db60e01b815260040160405180910390fd5b919050565b5f5f610f7961125f565b63ffffffff84165f9081526020829052604090205490915080610fb75760405163f6ff4fb760e01b815263ffffffff8516600482015260240161058f565b9392505050565b5f5f5f610fcb888861148f565b919450925090505f610feb610fe360208d018d611d5b565b8585856114d5565b905083610ffb60208d018d611d5b565b63ffffffff168b7f379974d7179a65c64dec15e12045840783f87b63af3eb7fa2dcc01a019cb13748686866040516110489392919092835260208301919091521515604082015260600190565b60405180910390a45050505050505050505050565b6060805f6110b56110716020870187611b3a565b604080516001602082018190526001600160a01b03939093168183015260608101889052426080808301919091528251808303909101815260a09091019091529091565b935090506110da6110cc6040870160208801611d5b565b826103f76040890189611f19565b9150509250929050565b6110ec611936565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161113b89610f6f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016111709291906121f5565b6040805180830381865afa15801561118a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ae919061229c565b95945050505050565b336111c06107b3565b6001600160a01b03161461079c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161058f565b60ca80546001600160a01b0319166001600160a01b0383169081179091556040517fd23ff0a6a463221f2754af2715b7505cb4887c80a6ffcf7eb85fdb9d2ea1e74b905f90a250565b7f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f90090565b7f8d2bda5d9f6ffb5796910376005392955773acee5548d0fcdb10e7c264ea000090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b61130061194e565b5f61130d845f0151611517565b60208501519091501561132757611327846020015161153e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff1681526020016113778c610f6f565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b81526004016113b29291906121f5565b60806040518083038185885af11580156113ce573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113f391906122b6565b979650505050505050565b5f61140c600282848661217e565b61141591612328565b60f01c90506003811461143f578282604051639a6d49cd60e01b815260040161058f9291906121cb565b505050565b6001600160a01b03163b151590565b5f54610100900460ff166114795760405162461bcd60e51b815260040161058f9061235e565b6114828161161d565b61148b826112a7565b5050565b5f80808061149f858701876123a9565b91965094509250905061ffff81166001146114cd5760405163f23fef6f60e01b815260040160405180910390fd5b509250925092565b63ffffffff84165f90815260c9602090815260408083208684529091528120600181015483111561150e57838155600181810184905591505b50949350505050565b5f81341461153a576040516304fb820960e51b815234600482015260240161058f565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561159b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115bf91906123df565b90506001600160a01b0381166115e8576040516329b99a9560e11b815260040160405180910390fd5b61148b6001600160a01b038216337f00000000000000000000000000000000000000000000000000000000000000008561165c565b5f54610100900460ff166116435760405162461bcd60e51b815260040161058f9061235e565b61164c816116b6565b6116546116e5565b61065e6116e5565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610d9790859061170b565b5f54610100900460ff166116dc5760405162461bcd60e51b815260040161058f9061235e565b61065e816117de565b5f54610100900460ff1661079c5760405162461bcd60e51b815260040161058f9061235e565b5f61175f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661182b9092919063ffffffff16565b905080515f148061177f57508080602001905181019061177f91906123fa565b61143f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161058f565b5f54610100900460ff166118045760405162461bcd60e51b815260040161058f9061235e565b6001600160a01b038116610da557604051632d618d8160e21b815260040160405180910390fd5b60606107ab84845f85855f5f866001600160a01b031685876040516118509190612415565b5f6040518083038185875af1925050503d805f811461188a576040519150601f19603f3d011682016040523d82523d5f602084013e61188f565b606091505b50915091506113f387838387606083156119075782515f03611900576118b485611444565b6119005760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161058f565b50816107ab565b6107ab838381511561191c5781518083602001fd5b8060405162461bcd60e51b815260040161058f9190611be4565b60405180604001604052805f81526020015f81525090565b604080516060810182525f808252602082015290810161196c611936565b905290565b6001600160a01b0391909116815260200190565b803563ffffffff81168114610f6a575f5ffd5b5f5f604083850312156119a9575f5ffd5b6119b283611985565b946020939093013593505050565b81518152602080830151908201526040810161053e565b5f606082840312156119e7575f5ffd5b50919050565b5f5f83601f8401126119fd575f5ffd5b5081356001600160401b03811115611a13575f5ffd5b602083019150836020828501011115611a2a575f5ffd5b9250929050565b6001600160a01b038116811461065e575f5ffd5b5f5f5f5f5f5f5f60e0888a031215611a5b575f5ffd5b611a6589896119d7565b96506060880135955060808801356001600160401b03811115611a86575f5ffd5b611a928a828b016119ed565b90965094505060a0880135611aa681611a31565b925060c08801356001600160401b03811115611ac0575f5ffd5b611acc8a828b016119ed565b989b979a50959850939692959293505050565b801515811461065e575f5ffd5b5f5f60408385031215611afd575f5ffd5b82356001600160401b03811115611b12575f5ffd5b611b1e858286016119d7565b9250506020830135611b2f81611adf565b809150509250929050565b5f60208284031215611b4a575f5ffd5b8135610fb781611a31565b803561ffff81168114610f6a575f5ffd5b5f5f60408385031215611b77575f5ffd5b611b8083611985565b9150611b8e60208401611b55565b90509250929050565b5f5b83811015611bb1578181015183820152602001611b99565b50505f910152565b5f8151808452611bd0816020860160208601611b97565b601f01601f19169290920160200192915050565b602081525f610fb76020830184611bb9565b5f5f5f5f60a08587031215611c09575f5ffd5b611c1386866119d7565b935060608501356001600160401b03811115611c2d575f5ffd5b611c39878288016119ed565b9094509250506080850135611c4d81611a31565b939692955090935050565b5f5f8284036060811215611c6a575f5ffd5b83356001600160401b03811115611c7f575f5ffd5b611c8b868287016119d7565b9350506040601f1982011215611c9f575f5ffd5b506020830190509250929050565b815181526020808301516001600160401b0316908201526040808301516080830191611ce59084018280518252602090810151910152565b5092915050565b5f5f60208385031215611cfd575f5ffd5b82356001600160401b03811115611d12575f5ffd5b8301601f81018513611d22575f5ffd5b80356001600160401b03811115611d37575f5ffd5b8560208260051b8401011115611d4b575f5ffd5b6020919091019590945092505050565b5f60208284031215611d6b575f5ffd5b610fb782611985565b5f5f5f5f60608587031215611d87575f5ffd5b611d9085611985565b9350611d9e60208601611b55565b925060408501356001600160401b03811115611db8575f5ffd5b611dc4878288016119ed565b95989497509550505050565b5f5f5f60608486031215611de2575f5ffd5b8335611ded81611a31565b92506020840135611dfd81611a31565b91506040840135611e0d81611a31565b809150509250925092565b5f60608284031215611e28575f5ffd5b610fb783836119d7565b63ffffffff929092168252602082015260400190565b600181811c90821680611e5c57607f821691505b6020821081036119e757634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611eb057611eb0611e7a565b60405290565b5f6040828403128015611ec7575f5ffd5b50611ed0611e8e565b823581526020928301359281019290925250919050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112611f0f575f5ffd5b9190910192915050565b5f5f8335601e19843603018112611f2e575f5ffd5b8301803591506001600160401b03821115611f47575f5ffd5b602001915036819003821315611a2a575f5ffd5b5f60208284031215611f6b575f5ffd5b610fb782611b55565b601f82111561143f57805f5260205f20601f840160051c81016020851015611f995750805b601f840160051c820191505b81811015610e1a575f8155600101611fa5565b6001600160401b03831115611fcf57611fcf611e7a565b611fe383611fdd8354611e48565b83611f74565b5f601f841160018114612014575f8515611ffd5750838201355b5f19600387901b1c1916600186901b178355610e1a565b5f83815260208120601f198716915b828110156120435786850135825560209485019460019092019101612023565b508682101561205f575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602080825281018290525f6040600584901b830181019083018583605e1936839003015b8782101561217157868503603f1901845282358181126120db575f5ffd5b890163ffffffff6120eb82611985565b16865261ffff6120fd60208301611b55565b1660208701526040810135601e19823603018112612119575f5ffd5b016020810190356001600160401b03811115612133575f5ffd5b803603821315612141575f5ffd5b60606040880152612156606088018284612071565b965050506020830192506020840193506001820191506120bd565b5092979650505050505050565b5f5f8585111561218c575f5ffd5b83861115612198575f5ffd5b5050820193919092039150565b5f84516121b6818460208901611b97565b8201838582375f930192835250909392505050565b602081525f6107ab602083018486612071565b5f602082840312156121ee575f5ffd5b5051919050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261222a60e0840182611bb9565b90506060850151603f198483030160a08501526122478282611bb9565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f6040828403121561227d575f5ffd5b612285611e8e565b825181526020928301519281019290925250919050565b5f604082840312156122ac575f5ffd5b610fb7838361226d565b5f60808284031280156122c7575f5ffd5b50604051606081016001600160401b03811182821017156122ea576122ea611e7a565b6040528251815260208301516001600160401b038116811461230a575f5ffd5b602082015261231c846040850161226d565b60408201529392505050565b80356001600160f01b03198116906002841015611ce5576001600160f01b031960029490940360031b84901b1690921692915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5f5f5f608085870312156123bc575f5ffd5b6123c585611b55565b966020860135965060408601359560600135945092505050565b5f602082840312156123ef575f5ffd5b8151610fb781611a31565b5f6020828403121561240a575f5ffd5b8151610fb781611adf565b5f8251611f0f818460208701611b9756fea2646970667358221220eae24dd4215b3522a28dbfc1104a6b2bb25e4dba36a89e66144f900be782428964736f6c634300081e0033",
887
+ "linkReferences": {},
888
+ "deployedLinkReferences": {}
889
+ }