@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
@@ -191,7 +191,7 @@ const _abi = [
191
191
  ];
192
192
 
193
193
  const _bytecode =
194
- "0x610120604052348015610010575f5ffd5b5060405161179d38038061179d83398101604081905261002f916100e2565b63ffffffff84166080526001600160a01b0380841660a052821660c08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015610087573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ab919061013d565b60ff1660e0526001600160a01b03166101005250610164915050565b80516001600160a01b03811681146100dd575f5ffd5b919050565b5f5f5f5f608085870312156100f5575f5ffd5b845163ffffffff81168114610108575f5ffd5b9350610116602086016100c7565b9250610124604086016100c7565b9150610132606086016100c7565b905092959194509250565b5f6020828403121561014d575f5ffd5b815160ff8116811461015d575f5ffd5b9392505050565b60805160a05160c05160e0516101005161158061021d5f395f818161015a015281816102590152818161037d015261040e01525f81816101890152818161062401528181610652015261069501525f818160f401526105a001525f8181610133015281816101de0152818161028801528181610333015281816103ac015261043d01525f818160b001528181610200015281816102a901528181610355015281816103cd0152818161045e015261052201526115805ff3fe608060405234801561000f575f5ffd5b506004361061008c575f3560e01c8063223a3b261461009057806326d89545146100ab5780632f467dab146100e757806337a7b7d8146100ef57806380f556051461012e5780638ca06ea614610155578063addccbb31461017c578063c23953d014610184578063e710b82f146101bd578063f9294d8b146101c5575b5f5ffd5b6100986101cf565b6040519081526020015b60405180910390f35b6100d27f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100a2565b610098610255565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b610098610324565b6101ab7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a2565b610098610379565b6101cd610409565b005b5f806102246001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610554565b90505f61022f61059c565b9050670de0b6b3a76400006102448383611088565b61024e91906110b3565b9250505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffec44077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102e59291906110c6565b602060405180830381865afa158015610300573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906110e5565b5f806102246001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006106d6565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a31426d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102e59291906110c6565b5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040161049a9291906110c6565b606060405180830381865afa1580156104b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d99190611121565b9250925092508215610509576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061054f57604051631229555360e01b815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152602401610500565b505050565b5f5f5f61056085610709565b915091508082106105885761057f82610579878761092c565b90610950565b92505050610596565b61057f81610579878761092c565b92915050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061e91906110e5565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff16106106905761067660127f0000000000000000000000000000000000000000000000000000000000000000611161565b61068190600a61125d565b61068b90826110b3565b6106d0565b6106bb7f00000000000000000000000000000000000000000000000000000000000000006012611161565b6106c690600a61125d565b6106d09082611088565b91505090565b5f5f5f6106e285610709565b915091508082106106fb5761057f82610579878761097e565b61057f81610579878761097e565b5f5f5f5f846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610749573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076d9190611282565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d291906110e5565b93505f816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610811573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083591906110e5565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610873573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089791906112cc565b801561090a575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff91906112e5565b6001600160801b0316145b1561091757809350610924565b6109218582610a46565b93505b505050915091565b5f610937838361097e565b61094990670de0b6b3a764000061130b565b9392505050565b5f80610964670de0b6b3a764000085611088565b90508281816109755761097561109f565b04949350505050565b5f5f836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e091906110e5565b90504281116109fa57670de0b6b3a7640000915050610596565b5f610a058585610a5b565b90505f610a12428461130b565b90505f610a27610a228484610bfe565b610c3e565b9050610a3b670de0b6b3a764000082610950565b945050505050610596565b5f818311610a545781610949565b5090919050565b5f8163ffffffff165f03610ae3575f836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa158015610aa6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aca919061132f565b50505092505050806001600160601b0316915050610596565b6040805160028082526060820183525f9260208301908036833701905050905082815f81518110610b1657610b166113c1565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81525f906001600160a01b0386169063883bdbfd90610b599085906004016113d5565b5f60405180830381865afa158015610b73573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b9a9190810190611433565b90508363ffffffff16815f81518110610bb557610bb56113c1565b602002602001015182600181518110610bd057610bd06113c1565b6020026020010151610be291906114fd565b610bec919061151c565b6001600160d81b031695945050505050565b5f80610c0f6201518061016d611088565b610c198486611088565b610c2391906110b3565b9050610c36610c3182610c4f565b610c63565b949350505050565b5f5f821215610c4b575f5ffd5b5090565b5f6001600160ff1b03821115610c4b575f5ffd5b5f680238fd42c5cf03ffff198212158015610c87575068070c1cc73b00c800008213155b610cc65760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610500565b5f821215610cfc57610cd9825f03610c63565b6a0c097ce7bc90715b34b9f160241b81610cf557610cf561109f565b0592915050565b5f6806f05b59d3b20000008312610d3957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610d6f565b6803782dace9d90000008312610d6b57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610d6f565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610dbf5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610dfb576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610e3557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610e6f576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610ea857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610ee15768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610f1a576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610f535768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761059657610596611074565b634e487b7160e01b5f52601260045260245ffd5b5f826110c1576110c161109f565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b5f602082840312156110f5575f5ffd5b5051919050565b8051801515811461110b575f5ffd5b919050565b805161ffff8116811461110b575f5ffd5b5f5f5f60608486031215611133575f5ffd5b61113c846110fc565b925061114a60208501611110565b9150611158604085016110fc565b90509250925092565b60ff828116828216039081111561059657610596611074565b6001815b60018411156111b55780850481111561119957611199611074565b60018416156111a757908102905b60019390931c92800261117e565b935093915050565b5f826111cb57506001610596565b816111d757505f610596565b81600181146111ed57600281146111f757611213565b6001915050610596565b60ff84111561120857611208611074565b50506001821b610596565b5060208310610133831016604e8410600b8410161715611236575081810a610596565b6112425f19848461117a565b805f190482111561125557611255611074565b029392505050565b5f61094960ff8416836111bd565b6001600160a01b038116811461127f575f5ffd5b50565b5f5f5f60608486031215611294575f5ffd5b835161129f8161126b565b60208501519093506112b08161126b565b60408501519092506112c18161126b565b809150509250925092565b5f602082840312156112dc575f5ffd5b610949826110fc565b5f602082840312156112f5575f5ffd5b81516001600160801b0381168114610949575f5ffd5b8181038181111561059657610596611074565b8051600f81900b811461110b575f5ffd5b5f5f5f5f5f5f60c08789031215611344575f5ffd5b61134d8761131e565b955061135b6020880161131e565b60408801519095506001600160601b0381168114611377575f5ffd5b935061138560608801611110565b925061139360808801611110565b91506113a160a08801611110565b90509295509295509295565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b8181101561141257835163ffffffff168352602093840193909201916001016113ee565b509095945050505050565b80516001600160d81b038116811461110b575f5ffd5b5f60208284031215611443575f5ffd5b81516001600160401b03811115611458575f5ffd5b8201601f81018413611468575f5ffd5b80516001600160401b03811115611481576114816113ad565b604051600582901b90603f8201601f191681016001600160401b03811182821017156114af576114af6113ad565b6040529182526020818401810192908101878411156114cc575f5ffd5b6020850194505b838510156114f2576114e48561141d565b8152602094850194016114d3565b509695505050505050565b6001600160d81b03828116828216039081111561059657610596611074565b5f6001600160d81b038316806115345761153461109f565b6001600160d81b0392909216919091049291505056fea26469706673582212205257a8f6af8f9e91f775409151726f82149359db380a9b4f40fe9ceed3c1a25164736f6c634300081e0033";
194
+ "0x610120604052348015610010575f5ffd5b5060405161179d38038061179d83398101604081905261002f916100e2565b63ffffffff84166080526001600160a01b0380841660a052821660c08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015610087573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ab919061013d565b60ff1660e0526001600160a01b03166101005250610164915050565b80516001600160a01b03811681146100dd575f5ffd5b919050565b5f5f5f5f608085870312156100f5575f5ffd5b845163ffffffff81168114610108575f5ffd5b9350610116602086016100c7565b9250610124604086016100c7565b9150610132606086016100c7565b905092959194509250565b5f6020828403121561014d575f5ffd5b815160ff8116811461015d575f5ffd5b9392505050565b60805160a05160c05160e0516101005161158061021d5f395f818161015a015281816102590152818161037d015261040e01525f81816101890152818161062401528181610652015261069501525f818160f401526105a001525f8181610133015281816101de0152818161028801528181610333015281816103ac015261043d01525f818160b001528181610200015281816102a901528181610355015281816103cd0152818161045e015261052201526115805ff3fe608060405234801561000f575f5ffd5b506004361061008c575f3560e01c8063223a3b261461009057806326d89545146100ab5780632f467dab146100e757806337a7b7d8146100ef57806380f556051461012e5780638ca06ea614610155578063addccbb31461017c578063c23953d014610184578063e710b82f146101bd578063f9294d8b146101c5575b5f5ffd5b6100986101cf565b6040519081526020015b60405180910390f35b6100d27f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100a2565b610098610255565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b610098610324565b6101ab7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a2565b610098610379565b6101cd610409565b005b5f806102246001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610554565b90505f61022f61059c565b9050670de0b6b3a76400006102448383611088565b61024e91906110b3565b9250505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffec44077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102e59291906110c6565b602060405180830381865afa158015610300573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906110e5565b5f806102246001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006106d6565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a31426d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102e59291906110c6565b5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040161049a9291906110c6565b606060405180830381865afa1580156104b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d99190611121565b9250925092508215610509576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061054f57604051631229555360e01b815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152602401610500565b505050565b5f5f5f61056085610709565b915091508082106105885761057f82610579878761092c565b90610950565b92505050610596565b61057f81610579878761092c565b92915050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061e91906110e5565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff16106106905761067660127f0000000000000000000000000000000000000000000000000000000000000000611161565b61068190600a61125d565b61068b90826110b3565b6106d0565b6106bb7f00000000000000000000000000000000000000000000000000000000000000006012611161565b6106c690600a61125d565b6106d09082611088565b91505090565b5f5f5f6106e285610709565b915091508082106106fb5761057f82610579878761097e565b61057f81610579878761097e565b5f5f5f5f846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610749573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076d9190611282565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d291906110e5565b93505f816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610811573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083591906110e5565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610873573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089791906112cc565b801561090a575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff91906112e5565b6001600160801b0316145b1561091757809350610924565b6109218582610a46565b93505b505050915091565b5f610937838361097e565b61094990670de0b6b3a764000061130b565b9392505050565b5f80610964670de0b6b3a764000085611088565b90508281816109755761097561109f565b04949350505050565b5f5f836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e091906110e5565b90504281116109fa57670de0b6b3a7640000915050610596565b5f610a058585610a5b565b90505f610a12428461130b565b90505f610a27610a228484610bfe565b610c3e565b9050610a3b670de0b6b3a764000082610950565b945050505050610596565b5f818311610a545781610949565b5090919050565b5f8163ffffffff165f03610ae3575f836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa158015610aa6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aca919061132f565b50505092505050806001600160601b0316915050610596565b6040805160028082526060820183525f9260208301908036833701905050905082815f81518110610b1657610b166113c1565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81525f906001600160a01b0386169063883bdbfd90610b599085906004016113d5565b5f60405180830381865afa158015610b73573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b9a9190810190611433565b90508363ffffffff16815f81518110610bb557610bb56113c1565b602002602001015182600181518110610bd057610bd06113c1565b6020026020010151610be291906114fd565b610bec919061151c565b6001600160d81b031695945050505050565b5f80610c0f6201518061016d611088565b610c198486611088565b610c2391906110b3565b9050610c36610c3182610c4f565b610c63565b949350505050565b5f5f821215610c4b575f5ffd5b5090565b5f6001600160ff1b03821115610c4b575f5ffd5b5f680238fd42c5cf03ffff198212158015610c87575068070c1cc73b00c800008213155b610cc65760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610500565b5f821215610cfc57610cd9825f03610c63565b6a0c097ce7bc90715b34b9f160241b81610cf557610cf561109f565b0592915050565b5f6806f05b59d3b20000008312610d3957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610d6f565b6803782dace9d90000008312610d6b57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610d6f565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610dbf5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610dfb576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610e3557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610e6f576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610ea857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610ee15768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610f1a576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610f535768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761059657610596611074565b634e487b7160e01b5f52601260045260245ffd5b5f826110c1576110c161109f565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b5f602082840312156110f5575f5ffd5b5051919050565b8051801515811461110b575f5ffd5b919050565b805161ffff8116811461110b575f5ffd5b5f5f5f60608486031215611133575f5ffd5b61113c846110fc565b925061114a60208501611110565b9150611158604085016110fc565b90509250925092565b60ff828116828216039081111561059657610596611074565b6001815b60018411156111b55780850481111561119957611199611074565b60018416156111a757908102905b60019390931c92800261117e565b935093915050565b5f826111cb57506001610596565b816111d757505f610596565b81600181146111ed57600281146111f757611213565b6001915050610596565b60ff84111561120857611208611074565b50506001821b610596565b5060208310610133831016604e8410600b8410161715611236575081810a610596565b6112425f19848461117a565b805f190482111561125557611255611074565b029392505050565b5f61094960ff8416836111bd565b6001600160a01b038116811461127f575f5ffd5b50565b5f5f5f60608486031215611294575f5ffd5b835161129f8161126b565b60208501519093506112b08161126b565b60408501519092506112c18161126b565b809150509250925092565b5f602082840312156112dc575f5ffd5b610949826110fc565b5f602082840312156112f5575f5ffd5b81516001600160801b0381168114610949575f5ffd5b8181038181111561059657610596611074565b8051600f81900b811461110b575f5ffd5b5f5f5f5f5f5f60c08789031215611344575f5ffd5b61134d8761131e565b955061135b6020880161131e565b60408801519095506001600160601b0381168114611377575f5ffd5b935061138560608801611110565b925061139360808801611110565b91506113a160a08801611110565b90509295509295509295565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b8181101561141257835163ffffffff168352602093840193909201916001016113ee565b509095945050505050565b80516001600160d81b038116811461110b575f5ffd5b5f60208284031215611443575f5ffd5b81516001600160401b03811115611458575f5ffd5b8201601f81018413611468575f5ffd5b80516001600160401b03811115611481576114816113ad565b604051600582901b90603f8201601f191681016001600160401b03811182821017156114af576114af6113ad565b6040529182526020818401810192908101878411156114cc575f5ffd5b6020850194505b838510156114f2576114e48561141d565b8152602094850194016114d3565b509695505050505050565b6001600160d81b03828116828216039081111561059657610596611074565b5f6001600160d81b038316806115345761153461109f565b6001600160d81b0392909216919091049291505056fea26469706673582212200f5690ca1c3b173a0e70ada5a2b22a3d6cc0a67ee9d0822932dd8bb4826d42c164736f6c634300081e0033";
195
195
 
196
196
  type BoringPYUsdChainlinkSYOracleConstructorParams =
197
197
  | [signer?: Signer]
@@ -260,7 +260,7 @@ const _abi = [
260
260
  ];
261
261
 
262
262
  const _bytecode =
263
- "0x60c060405230608052348015610013575f5ffd5b5060405161178d38038061178d83398101604081905261003291610167565b600154600160a81b900460ff1615808015610058575060018054600160a01b900460ff16105b806100785750303b158015610078575060018054600160a01b900460ff16145b6100df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6001805460ff60a01b1916600160a01b179055801561010c576001805460ff60a81b1916600160a81b1790555b6001600160a01b03821660a0528015610160576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050610194565b5f60208284031215610177575f5ffd5b81516001600160a01b038116811461018d575f5ffd5b9392505050565b60805160a0516115a76101e65f395f81816101440152818161066401528181610708015261079501525f818161032c0152818161036c0152818161049b015281816104db015261055601526115a75ff3fe608060405260043610610099575f3560e01c8063078dfbe7146100a45780633659cfe6146100c55780633b1c6f1f146100e45780634e71e0c81461010c5780634f1ef28614610120578063517afbcf1461013357806352d1902d1461017e5780637eda170b146101925780638da5cb5b146101b1578063c4d66de8146101cf578063e086e5ec146101ee578063e30c397814610202575f5ffd5b366100a057005b5f5ffd5b3480156100af575f5ffd5b506100c36100be366004611142565b610221565b005b3480156100d0575f5ffd5b506100c36100df366004611188565b610322565b3480156100ef575f5ffd5b506100f960325481565b6040519081526020015b60405180910390f35b348015610117575f5ffd5b506100c36103e9565b6100c361012e3660046111b5565b610491565b34801561013e575f5ffd5b506101667f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610103565b348015610189575f5ffd5b506100f961054a565b34801561019d575f5ffd5b506100c36101ac366004611276565b6105f6565b3480156101bc575f5ffd5b505f54610166906001600160a01b031681565b3480156101da575f5ffd5b506100c36101e9366004611188565b610822565b3480156101f9575f5ffd5b506100c3610952565b34801561020d575f5ffd5b50600154610166906001600160a01b031681565b5f546001600160a01b031633146102535760405162461bcd60e51b815260040161024a906112e5565b60405180910390fd5b8115610301576001600160a01b03831615158061026d5750805b6102b15760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015260640161024a565b5f80546040516001600160a01b03808716939216915f51602061152b5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361036a5760405162461bcd60e51b815260040161024a9061131a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661039c610994565b6001600160a01b0316146103c25760405162461bcd60e51b815260040161024a90611353565b6103cb816109af565b604080515f808252602082019092526103e6918391906109d8565b50565b6001546001600160a01b03163381146104445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015260640161024a565b5f80546040516001600160a01b03808516939216915f51602061152b5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104d95760405162461bcd60e51b815260040161024a9061131a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661050b610994565b6001600160a01b0316146105315760405162461bcd60e51b815260040161024a90611353565b61053a826109af565b610546828260016109d8565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161024a565b505f51602061150b5f395f51905f5290565b5f6105ff610b42565b6001600160801b03169050806032541061065b5760405162461bcd60e51b815260206004820181905260248201527f63757272656e74207765656b20616c72656164792062726f6164636173746564604482015260640161024a565b806032819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166382ae9ef76040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156106ba575f5ffd5b505af11580156106cc573d5f5f3e3d5ffd5b505f925050505b8281101561081c575f8484838181106106ee576106ee61138c565b905060200201602081019061070391906113a0565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632477bfbe836040518263ffffffff1660e01b815260040161075291906113c6565b602060405180830381865afa15801561076d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079191906113da565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c291230d82846040518363ffffffff1660e01b81526004016107e091906113c6565b5f604051808303818588803b1580156107f7575f5ffd5b505af1158015610809573d5f5f3e3d5ffd5b5050600190950194506106d39350505050565b50505050565b600154600160a81b900460ff1615808015610848575060018054600160a01b900460ff16105b8061086f575061085730610b51565b15801561086f575060018054600160a01b900460ff16145b6108d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161024a565b6001805460ff60a01b1916600160a01b17905580156108ff576001805460ff60a81b1916600160a81b1790555b61090882610b60565b8015610546576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b0316331461097b5760405162461bcd60e51b815260040161024a906112e5565b5f805461099291906001600160a01b031647610bee565b565b5f51602061150b5f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103e65760405162461bcd60e51b815260040161024a906112e5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a0b5761031d83610cad565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a65575060408051601f3d908101601f19168201909252610a62918101906113da565b60015b610ac85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161024a565b5f51602061150b5f395f51905f528114610b365760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161024a565b5061031d838383610d46565b5f610b4c42610d6a565b905090565b6001600160a01b03163b151590565b600154600160a81b900460ff16610bcd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161024a565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b805f03610bfa57505050565b6001600160a01b038316610c99575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610c51576040519150601f19603f3d011682016040523d82523d5f602084013e610c56565b606091505b505090508061081c5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161024a565b61031d6001600160a01b0384168383610d89565b610cb681610b51565b610d185760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161024a565b5f51602061150b5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b610d4f83610ddb565b5f82511180610d5b5750805b1561031d5761081c8383610e1a565b5f62093a80610d7981846113f1565b610d83919061142b565b92915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261031d908490610e46565b610de481610cad565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e3f838360405180606001604052806027815260200161154b60279139610f19565b9392505050565b5f610e9a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f8d9092919063ffffffff16565b905080515f1480610eba575080806020019051810190610eba9190611460565b61031d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161024a565b60605f5f856001600160a01b031685604051610f35919061149d565b5f60405180830381855af49150503d805f8114610f6d576040519150601f19603f3d011682016040523d82523d5f602084013e610f72565b606091505b5091509150610f8386838387610fa3565b9695505050505050565b6060610f9b84845f85611019565b949350505050565b6060831561100f5782515f0361100857610fbc85610b51565b6110085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161024a565b5081610f9b565b610f9b83836110f0565b60608247101561107a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161024a565b5f5f866001600160a01b03168587604051611095919061149d565b5f6040518083038185875af1925050503d805f81146110cf576040519150601f19603f3d011682016040523d82523d5f602084013e6110d4565b606091505b50915091506110e587838387610fa3565b979650505050505050565b8151156111005781518083602001fd5b8060405162461bcd60e51b815260040161024a91906114b8565b80356001600160a01b0381168114611130575f5ffd5b919050565b80151581146103e6575f5ffd5b5f5f5f60608486031215611154575f5ffd5b61115d8461111a565b9250602084013561116d81611135565b9150604084013561117d81611135565b809150509250925092565b5f60208284031215611198575f5ffd5b610e3f8261111a565b634e487b7160e01b5f52604160045260245ffd5b5f5f604083850312156111c6575f5ffd5b6111cf8361111a565b915060208301356001600160401b038111156111e9575f5ffd5b8301601f810185136111f9575f5ffd5b80356001600160401b03811115611212576112126111a1565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611240576112406111a1565b604052818152828201602001871015611257575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f60208385031215611287575f5ffd5b82356001600160401b0381111561129c575f5ffd5b8301601f810185136112ac575f5ffd5b80356001600160401b038111156112c1575f5ffd5b8560208260051b84010111156112d5575f5ffd5b6020919091019590945092505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f5160206114eb5f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f5160206114eb5f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113b0575f5ffd5b81356001600160401b0381168114610e3f575f5ffd5b6001600160401b0391909116815260200190565b5f602082840312156113ea575f5ffd5b5051919050565b5f6001600160801b0383168061141557634e487b7160e01b5f52601260045260245ffd5b6001600160801b03929092169190910492915050565b6001600160801b03818116838216029081169081811461145957634e487b7160e01b5f52601160045260245ffd5b5092915050565b5f60208284031215611470575f5ffd5b8151610e3f81611135565b5f5b8381101561149557818101518382015260200161147d565b50505f910152565b5f82516114ae81846020870161147b565b9190910192915050565b602081525f82518060208401526114d681604085016020870161147b565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220be3f9abc344ca6bbe183231bc6e90ccb401dba31203c1ee8b571abfc3e796f9464736f6c634300081e0033";
263
+ "0x60c060405230608052348015610013575f5ffd5b5060405161178d38038061178d83398101604081905261003291610167565b600154600160a81b900460ff1615808015610058575060018054600160a01b900460ff16105b806100785750303b158015610078575060018054600160a01b900460ff16145b6100df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6001805460ff60a01b1916600160a01b179055801561010c576001805460ff60a81b1916600160a81b1790555b6001600160a01b03821660a0528015610160576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050610194565b5f60208284031215610177575f5ffd5b81516001600160a01b038116811461018d575f5ffd5b9392505050565b60805160a0516115a76101e65f395f81816101440152818161066401528181610708015261079501525f818161032c0152818161036c0152818161049b015281816104db015261055601526115a75ff3fe608060405260043610610099575f3560e01c8063078dfbe7146100a45780633659cfe6146100c55780633b1c6f1f146100e45780634e71e0c81461010c5780634f1ef28614610120578063517afbcf1461013357806352d1902d1461017e5780637eda170b146101925780638da5cb5b146101b1578063c4d66de8146101cf578063e086e5ec146101ee578063e30c397814610202575f5ffd5b366100a057005b5f5ffd5b3480156100af575f5ffd5b506100c36100be366004611142565b610221565b005b3480156100d0575f5ffd5b506100c36100df366004611188565b610322565b3480156100ef575f5ffd5b506100f960325481565b6040519081526020015b60405180910390f35b348015610117575f5ffd5b506100c36103e9565b6100c361012e3660046111b5565b610491565b34801561013e575f5ffd5b506101667f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610103565b348015610189575f5ffd5b506100f961054a565b34801561019d575f5ffd5b506100c36101ac366004611276565b6105f6565b3480156101bc575f5ffd5b505f54610166906001600160a01b031681565b3480156101da575f5ffd5b506100c36101e9366004611188565b610822565b3480156101f9575f5ffd5b506100c3610952565b34801561020d575f5ffd5b50600154610166906001600160a01b031681565b5f546001600160a01b031633146102535760405162461bcd60e51b815260040161024a906112e5565b60405180910390fd5b8115610301576001600160a01b03831615158061026d5750805b6102b15760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015260640161024a565b5f80546040516001600160a01b03808716939216915f51602061152b5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361036a5760405162461bcd60e51b815260040161024a9061131a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661039c610994565b6001600160a01b0316146103c25760405162461bcd60e51b815260040161024a90611353565b6103cb816109af565b604080515f808252602082019092526103e6918391906109d8565b50565b6001546001600160a01b03163381146104445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015260640161024a565b5f80546040516001600160a01b03808516939216915f51602061152b5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104d95760405162461bcd60e51b815260040161024a9061131a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661050b610994565b6001600160a01b0316146105315760405162461bcd60e51b815260040161024a90611353565b61053a826109af565b610546828260016109d8565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161024a565b505f51602061150b5f395f51905f5290565b5f6105ff610b42565b6001600160801b03169050806032541061065b5760405162461bcd60e51b815260206004820181905260248201527f63757272656e74207765656b20616c72656164792062726f6164636173746564604482015260640161024a565b806032819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166382ae9ef76040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156106ba575f5ffd5b505af11580156106cc573d5f5f3e3d5ffd5b505f925050505b8281101561081c575f8484838181106106ee576106ee61138c565b905060200201602081019061070391906113a0565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632477bfbe836040518263ffffffff1660e01b815260040161075291906113c6565b602060405180830381865afa15801561076d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079191906113da565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c291230d82846040518363ffffffff1660e01b81526004016107e091906113c6565b5f604051808303818588803b1580156107f7575f5ffd5b505af1158015610809573d5f5f3e3d5ffd5b5050600190950194506106d39350505050565b50505050565b600154600160a81b900460ff1615808015610848575060018054600160a01b900460ff16105b8061086f575061085730610b51565b15801561086f575060018054600160a01b900460ff16145b6108d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161024a565b6001805460ff60a01b1916600160a01b17905580156108ff576001805460ff60a81b1916600160a81b1790555b61090882610b60565b8015610546576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b0316331461097b5760405162461bcd60e51b815260040161024a906112e5565b5f805461099291906001600160a01b031647610bee565b565b5f51602061150b5f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103e65760405162461bcd60e51b815260040161024a906112e5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a0b5761031d83610cad565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a65575060408051601f3d908101601f19168201909252610a62918101906113da565b60015b610ac85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161024a565b5f51602061150b5f395f51905f528114610b365760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161024a565b5061031d838383610d46565b5f610b4c42610d6a565b905090565b6001600160a01b03163b151590565b600154600160a81b900460ff16610bcd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161024a565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b805f03610bfa57505050565b6001600160a01b038316610c99575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610c51576040519150601f19603f3d011682016040523d82523d5f602084013e610c56565b606091505b505090508061081c5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161024a565b61031d6001600160a01b0384168383610d89565b610cb681610b51565b610d185760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161024a565b5f51602061150b5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b610d4f83610ddb565b5f82511180610d5b5750805b1561031d5761081c8383610e1a565b5f62093a80610d7981846113f1565b610d83919061142b565b92915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261031d908490610e46565b610de481610cad565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e3f838360405180606001604052806027815260200161154b60279139610f19565b9392505050565b5f610e9a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f8d9092919063ffffffff16565b905080515f1480610eba575080806020019051810190610eba9190611460565b61031d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161024a565b60605f5f856001600160a01b031685604051610f35919061149d565b5f60405180830381855af49150503d805f8114610f6d576040519150601f19603f3d011682016040523d82523d5f602084013e610f72565b606091505b5091509150610f8386838387610fa3565b9695505050505050565b6060610f9b84845f85611019565b949350505050565b6060831561100f5782515f0361100857610fbc85610b51565b6110085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161024a565b5081610f9b565b610f9b83836110f0565b60608247101561107a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161024a565b5f5f866001600160a01b03168587604051611095919061149d565b5f6040518083038185875af1925050503d805f81146110cf576040519150601f19603f3d011682016040523d82523d5f602084013e6110d4565b606091505b50915091506110e587838387610fa3565b979650505050505050565b8151156111005781518083602001fd5b8060405162461bcd60e51b815260040161024a91906114b8565b80356001600160a01b0381168114611130575f5ffd5b919050565b80151581146103e6575f5ffd5b5f5f5f60608486031215611154575f5ffd5b61115d8461111a565b9250602084013561116d81611135565b9150604084013561117d81611135565b809150509250925092565b5f60208284031215611198575f5ffd5b610e3f8261111a565b634e487b7160e01b5f52604160045260245ffd5b5f5f604083850312156111c6575f5ffd5b6111cf8361111a565b915060208301356001600160401b038111156111e9575f5ffd5b8301601f810185136111f9575f5ffd5b80356001600160401b03811115611212576112126111a1565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611240576112406111a1565b604052818152828201602001871015611257575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f60208385031215611287575f5ffd5b82356001600160401b0381111561129c575f5ffd5b8301601f810185136112ac575f5ffd5b80356001600160401b038111156112c1575f5ffd5b8560208260051b84010111156112d5575f5ffd5b6020919091019590945092505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f5160206114eb5f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f5160206114eb5f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113b0575f5ffd5b81356001600160401b0381168114610e3f575f5ffd5b6001600160401b0391909116815260200190565b5f602082840312156113ea575f5ffd5b5051919050565b5f6001600160801b0383168061141557634e487b7160e01b5f52601260045260245ffd5b6001600160801b03929092169190910492915050565b6001600160801b03818116838216029081169081811461145957634e487b7160e01b5f52601160045260245ffd5b5092915050565b5f60208284031215611470575f5ffd5b8151610e3f81611135565b5f5b8381101561149557818101518382015260200161147d565b50505f910152565b5f82516114ae81846020870161147b565b9190910192915050565b602081525f82518060208401526114d681604085016020870161147b565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202cf14f68d687159b5bbdb3a7e678be0956228ea6147e50f8e4ee137c486c5e8e64736f6c634300081e0033";
264
264
 
265
265
  type BroadcasterConstructorParams =
266
266
  | [signer?: Signer]
@@ -279,6 +279,11 @@ const _abi = [
279
279
  name: "ChainNotSupported",
280
280
  type: "error",
281
281
  },
282
+ {
283
+ inputs: [],
284
+ name: "ExchangeRateCallFailed",
285
+ type: "error",
286
+ },
282
287
  {
283
288
  inputs: [
284
289
  {
@@ -397,6 +402,11 @@ const _abi = [
397
402
  name: "FailedToSendEther",
398
403
  type: "error",
399
404
  },
405
+ {
406
+ inputs: [],
407
+ name: "FeedNotInitialized",
408
+ type: "error",
409
+ },
400
410
  {
401
411
  inputs: [
402
412
  {
@@ -435,11 +445,21 @@ const _abi = [
435
445
  name: "InsufficientFeeToSendMsg",
436
446
  type: "error",
437
447
  },
448
+ {
449
+ inputs: [],
450
+ name: "InvalidDestinationEid",
451
+ type: "error",
452
+ },
438
453
  {
439
454
  inputs: [],
440
455
  name: "InvalidMerkleProof",
441
456
  type: "error",
442
457
  },
458
+ {
459
+ inputs: [],
460
+ name: "InvalidMsgType",
461
+ type: "error",
462
+ },
443
463
  {
444
464
  inputs: [],
445
465
  name: "InvalidRetryData",
@@ -673,6 +693,11 @@ const _abi = [
673
693
  name: "MarketZeroLnImpliedRate",
674
694
  type: "error",
675
695
  },
696
+ {
697
+ inputs: [],
698
+ name: "MarketZeroNetLPFee",
699
+ type: "error",
700
+ },
676
701
  {
677
702
  inputs: [
678
703
  {
@@ -1445,7 +1470,7 @@ const _abi = [
1445
1470
  ];
1446
1471
 
1447
1472
  const _bytecode =
1448
- "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ca3ddaecb5bb21c14803e6ffadb6e52a717f7ebeab245645a71d719ac7a4cd0c64736f6c634300081e0033";
1473
+ "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dd407c2e9197386941766a37acf450b8f26a245a99be53f6c4155a8d17e629dc64736f6c634300081e0033";
1449
1474
 
1450
1475
  type ErrorsConstructorParams =
1451
1476
  | [signer?: Signer]
@@ -0,0 +1,81 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ ExchangeRateMsgCodec,
8
+ ExchangeRateMsgCodecInterface,
9
+ } from "../ExchangeRateMsgCodec";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [],
14
+ name: "SEND_EXCHANGE_RATE",
15
+ outputs: [
16
+ {
17
+ internalType: "uint16",
18
+ name: "",
19
+ type: "uint16",
20
+ },
21
+ ],
22
+ stateMutability: "view",
23
+ type: "function",
24
+ },
25
+ ];
26
+
27
+ const _bytecode =
28
+ "0x608a6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106032575f3560e01c80637d9eff48146036575b5f5ffd5b603d600181565b60405161ffff909116815260200160405180910390f3fea264697066735822122000994fb4eb413dab32d0a216727d691d5c8fef1a1ca6844859a26a532ee9459b64736f6c634300081e0033";
29
+
30
+ type ExchangeRateMsgCodecConstructorParams =
31
+ | [signer?: Signer]
32
+ | ConstructorParameters<typeof ContractFactory>;
33
+
34
+ const isSuperArgs = (
35
+ xs: ExchangeRateMsgCodecConstructorParams
36
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
37
+
38
+ export class ExchangeRateMsgCodec__factory extends ContractFactory {
39
+ constructor(...args: ExchangeRateMsgCodecConstructorParams) {
40
+ if (isSuperArgs(args)) {
41
+ super(...args);
42
+ } else {
43
+ super(_abi, _bytecode, args[0]);
44
+ }
45
+ this.contractName = "ExchangeRateMsgCodec";
46
+ }
47
+
48
+ deploy(
49
+ overrides?: Overrides & { from?: string | Promise<string> }
50
+ ): Promise<ExchangeRateMsgCodec> {
51
+ return super.deploy(overrides || {}) as Promise<ExchangeRateMsgCodec>;
52
+ }
53
+ getDeployTransaction(
54
+ overrides?: Overrides & { from?: string | Promise<string> }
55
+ ): TransactionRequest {
56
+ return super.getDeployTransaction(overrides || {});
57
+ }
58
+ attach(address: string): ExchangeRateMsgCodec {
59
+ return super.attach(address) as ExchangeRateMsgCodec;
60
+ }
61
+ connect(signer: Signer): ExchangeRateMsgCodec__factory {
62
+ return super.connect(signer) as ExchangeRateMsgCodec__factory;
63
+ }
64
+ static readonly contractName: "ExchangeRateMsgCodec";
65
+ public readonly contractName: "ExchangeRateMsgCodec";
66
+ static readonly bytecode = _bytecode;
67
+ static readonly abi = _abi;
68
+ static createInterface(): ExchangeRateMsgCodecInterface {
69
+ return new utils.Interface(_abi) as ExchangeRateMsgCodecInterface;
70
+ }
71
+ static connect(
72
+ address: string,
73
+ signerOrProvider: Signer | Provider
74
+ ): ExchangeRateMsgCodec {
75
+ return new Contract(
76
+ address,
77
+ _abi,
78
+ signerOrProvider
79
+ ) as ExchangeRateMsgCodec;
80
+ }
81
+ }
@@ -301,7 +301,7 @@ const _abi = [
301
301
  ];
302
302
 
303
303
  const _bytecode =
304
- "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611bc36101215f395f818161033701528181610377015281816104a6015281816104e601526105610152611bc35ff3fe608060405260043610610096575f3560e01c8063078dfbe71461009a5780633659cfe6146100bb5780634e71e0c8146100da5780634f1ef286146100ee57806352d1902d146101015780638da5cb5b146101285780639ea517a414610153578063bd5dec9814610172578063c4d66de814610191578063c5759ddd146101b0578063e30c3978146101cf578063e68b4951146101ee575b5f5ffd5b3480156100a5575f5ffd5b506100b96100b4366004611502565b61022c565b005b3480156100c6575f5ffd5b506100b96100d536600461154a565b61032d565b3480156100e5575f5ffd5b506100b96103f4565b6100b96100fc3660046115b0565b61049c565b34801561010c575f5ffd5b50610115610555565b6040519081526020015b60405180910390f35b348015610133575f5ffd5b505f54610146906001600160a01b031681565b60405161011f9190611655565b34801561015e575f5ffd5b5061011561016d366004611669565b610601565b34801561017d575f5ffd5b506100b961018c3660046116ee565b610919565b34801561019c575f5ffd5b506100b96101ab36600461154a565b61099a565b3480156101bb575f5ffd5b506100b96101ca366004611782565b610ad2565b3480156101da575f5ffd5b50600154610146906001600160a01b031681565b3480156101f9575f5ffd5b5061021c61020836600461154a565b60646020525f908152604090205460ff1681565b604051901515815260200161011f565b5f546001600160a01b0316331461025e5760405162461bcd60e51b8152600401610255906117f7565b60405180910390fd5b811561030c576001600160a01b0383161515806102785750805b6102bc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610255565b5f80546040516001600160a01b03808716939216915f516020611b475f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103755760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a7610c25565b6001600160a01b0316146103cd5760405162461bcd60e51b815260040161025590611865565b6103d681610c40565b604080515f808252602082019092526103f191839190610c69565b50565b6001546001600160a01b031633811461044f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610255565b5f80546040516001600160a01b03808516939216915f516020611b475f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610516610c25565b6001600160a01b03161461053c5760405162461bcd60e51b815260040161025590611865565b61054582610c40565b61055182826001610c69565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610255565b505f516020611b275f395f51905f5290565b5f61060a610dd3565b6001600160a01b0386165f9081526064602052604090205460ff166106575760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b6044820152606401610255565b5f5f5f886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610696573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba919061189e565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016106ec9190611655565b5f604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072e91908101906118dd565b505f808915610750576107438433308d610e2a565b61074d8a82611977565b90505b88156107f3576107628b338d8c610e2a565b5f5f8c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016107949392919061198a565b60408051808303815f875af11580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d391906119ae565b90925090506107e28285611977565b93506107ee8184611977565b925050505b5f61085e846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906119d0565b83610e45565b905061086a8184611977565b9250610877868785610e6c565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303815f875af11580156108d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd91906119d0565b965050505050505061090f6001600255565b9695505050505050565b5f546001600160a01b031633146109425760405162461bcd60e51b8152600401610255906117f7565b5f5b815181101561055157610992828281518110610962576109626119e7565b60200260200101513361098d858581518110610980576109806119e7565b6020026020010151610f32565b610e6c565b600101610944565b600154600160a81b900460ff16158080156109c0575060018054600160a01b900460ff16105b806109e757506109cf30610fb9565b1580156109e7575060018054600160a01b900460ff16145b610a4a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610255565b6001805460ff60a01b1916600160a01b1790558015610a77576001805460ff60a81b1916600160a81b1790555b610a8082610fc8565b610a88611012565b8015610551576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b03163314610afb5760405162461bcd60e51b8152600401610255906117f7565b5f5b82811015610c1f57838382818110610b1757610b176119e7565b9050602002016020810190610b2c919061154a565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b67573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b91906119fb565b610bc55760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606401610255565b8160645f868685818110610bdb57610bdb6119e7565b9050602002016020810190610bf0919061154a565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610afd565b50505050565b5f516020611b275f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103f15760405162461bcd60e51b8152600401610255906117f7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c9c5761032883611045565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cf6575060408051601f3d908101601f19168201909252610cf3918101906119d0565b60015b610d595760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610255565b5f516020611b275f395f51905f528114610dc75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610255565b506103288383836110de565b6002805403610e245760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610255565b60028055565b8015610c1f57610c1f6001600160a01b038516848484611102565b5f82610e59670de0b6b3a764000084611a16565b610e639190611a2d565b90505b92915050565b805f03610e7857505050565b6001600160a01b038316610f17575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ecf576040519150601f19603f3d011682016040523d82523d5f602084013e610ed4565b606091505b5050905080610c1f5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610255565b6103286001600160a01b038416838361115a565b6001600255565b5f6001600160a01b03821615610fb2576040516370a0823160e01b81526001600160a01b038316906370a0823190610f6e903090600401611655565b602060405180830381865afa158015610f89573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fad91906119d0565b610e66565b4792915050565b6001600160a01b03163b151590565b600154600160a81b900460ff16610ff15760405162461bcd60e51b815260040161025590611a4c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff1661103b5760405162461bcd60e51b815260040161025590611a4c565b61104361118a565b565b61104e81610fb9565b6110b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610255565b5f516020611b275f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6110e7836111b3565b5f825111806110f35750805b1561032857610c1f83836111f2565b610c1f846323b872dd60e01b8585856040516024016111239392919061198a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611217565b6040516001600160a01b03831660248201526044810182905261032890849063a9059cbb60e01b90606401611123565b600154600160a81b900460ff16610f2b5760405162461bcd60e51b815260040161025590611a4c565b6111bc81611045565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e638383604051806060016040528060278152602001611b67602791396112ea565b5f61126b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113549092919063ffffffff16565b905080515f148061128b57508080602001905181019061128b91906119fb565b6103285760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b60605f5f856001600160a01b0316856040516113069190611ab9565b5f60405180830381855af49150503d805f811461133e576040519150601f19603f3d011682016040523d82523d5f602084013e611343565b606091505b509150915061090f8683838761136a565b606061136284845f856113e0565b949350505050565b606083156113d65782515f036113cf5761138385610fb9565b6113cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b5081611362565b61136283836114b7565b6060824710156114415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b5f5f866001600160a01b0316858760405161145c9190611ab9565b5f6040518083038185875af1925050503d805f8114611496576040519150601f19603f3d011682016040523d82523d5f602084013e61149b565b606091505b50915091506114ac8783838761136a565b979650505050505050565b8151156114c75781518083602001fd5b8060405162461bcd60e51b81526004016102559190611ad4565b6001600160a01b03811681146103f1575f5ffd5b80151581146103f1575f5ffd5b5f5f5f60608486031215611514575f5ffd5b833561151f816114e1565b9250602084013561152f816114f5565b9150604084013561153f816114f5565b809150509250925092565b5f6020828403121561155a575f5ffd5b8135611565816114e1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115a8576115a861156c565b604052919050565b5f5f604083850312156115c1575f5ffd5b82356115cc816114e1565b915060208301356001600160401b038111156115e6575f5ffd5b8301601f810185136115f6575f5ffd5b80356001600160401b0381111561160f5761160f61156c565b611622601f8201601f1916602001611580565b818152866020838501011115611636575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b6001600160a01b0391909116815260200190565b5f5f5f5f5f5f60c0878903121561167e575f5ffd5b8635611689816114e1565b95506020870135611699816114e1565b9450604087013593506060870135925060808701356116b7816114e1565b9598949750929591949360a090920135925050565b5f6001600160401b038211156116e4576116e461156c565b5060051b60200190565b5f602082840312156116fe575f5ffd5b81356001600160401b03811115611713575f5ffd5b8201601f81018413611723575f5ffd5b8035611736611731826116cc565b611580565b8082825260208201915060208360051b850101925086831115611757575f5ffd5b6020840193505b8284101561090f578335611771816114e1565b82526020938401939091019061175e565b5f5f5f60408486031215611794575f5ffd5b83356001600160401b038111156117a9575f5ffd5b8401601f810186136117b9575f5ffd5b80356001600160401b038111156117ce575f5ffd5b8660208260051b84010111156117e2575f5ffd5b60209182019450925084013561153f816114f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f606084860312156118b0575f5ffd5b83516118bb816114e1565b60208501519093506118cc816114e1565b604085015190925061153f816114e1565b5f602082840312156118ed575f5ffd5b81516001600160401b03811115611902575f5ffd5b8201601f81018413611912575f5ffd5b8051611920611731826116cc565b8082825260208201915060208360051b850101925086831115611941575f5ffd5b6020840193505b8284101561090f578351825260209384019390910190611948565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e6657610e66611963565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f5f604083850312156119bf575f5ffd5b505080516020909101519092909150565b5f602082840312156119e0575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a0b575f5ffd5b8151611565816114f5565b8082028115828204841417610e6657610e66611963565b5f82611a4757634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b83811015611ab1578181015183820152602001611a99565b50505f910152565b5f8251611aca818460208701611a97565b9190910192915050565b602081525f8251806020840152611af2816040850160208701611a97565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208af88e0387811b560c44aa3f09970dcd9cf9f633cf41716a281529ce5ed25ca464736f6c634300081e0033";
304
+ "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611bc36101215f395f818161033701528181610377015281816104a6015281816104e601526105610152611bc35ff3fe608060405260043610610096575f3560e01c8063078dfbe71461009a5780633659cfe6146100bb5780634e71e0c8146100da5780634f1ef286146100ee57806352d1902d146101015780638da5cb5b146101285780639ea517a414610153578063bd5dec9814610172578063c4d66de814610191578063c5759ddd146101b0578063e30c3978146101cf578063e68b4951146101ee575b5f5ffd5b3480156100a5575f5ffd5b506100b96100b4366004611502565b61022c565b005b3480156100c6575f5ffd5b506100b96100d536600461154a565b61032d565b3480156100e5575f5ffd5b506100b96103f4565b6100b96100fc3660046115b0565b61049c565b34801561010c575f5ffd5b50610115610555565b6040519081526020015b60405180910390f35b348015610133575f5ffd5b505f54610146906001600160a01b031681565b60405161011f9190611655565b34801561015e575f5ffd5b5061011561016d366004611669565b610601565b34801561017d575f5ffd5b506100b961018c3660046116ee565b610919565b34801561019c575f5ffd5b506100b96101ab36600461154a565b61099a565b3480156101bb575f5ffd5b506100b96101ca366004611782565b610ad2565b3480156101da575f5ffd5b50600154610146906001600160a01b031681565b3480156101f9575f5ffd5b5061021c61020836600461154a565b60646020525f908152604090205460ff1681565b604051901515815260200161011f565b5f546001600160a01b0316331461025e5760405162461bcd60e51b8152600401610255906117f7565b60405180910390fd5b811561030c576001600160a01b0383161515806102785750805b6102bc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610255565b5f80546040516001600160a01b03808716939216915f516020611b475f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103755760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a7610c25565b6001600160a01b0316146103cd5760405162461bcd60e51b815260040161025590611865565b6103d681610c40565b604080515f808252602082019092526103f191839190610c69565b50565b6001546001600160a01b031633811461044f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610255565b5f80546040516001600160a01b03808516939216915f516020611b475f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610516610c25565b6001600160a01b03161461053c5760405162461bcd60e51b815260040161025590611865565b61054582610c40565b61055182826001610c69565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610255565b505f516020611b275f395f51905f5290565b5f61060a610dd3565b6001600160a01b0386165f9081526064602052604090205460ff166106575760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b6044820152606401610255565b5f5f5f886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610696573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba919061189e565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016106ec9190611655565b5f604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072e91908101906118dd565b505f808915610750576107438433308d610e2a565b61074d8a82611977565b90505b88156107f3576107628b338d8c610e2a565b5f5f8c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016107949392919061198a565b60408051808303815f875af11580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d391906119ae565b90925090506107e28285611977565b93506107ee8184611977565b925050505b5f61085e846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906119d0565b83610e45565b905061086a8184611977565b9250610877868785610e6c565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303815f875af11580156108d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd91906119d0565b965050505050505061090f6001600255565b9695505050505050565b5f546001600160a01b031633146109425760405162461bcd60e51b8152600401610255906117f7565b5f5b815181101561055157610992828281518110610962576109626119e7565b60200260200101513361098d858581518110610980576109806119e7565b6020026020010151610f32565b610e6c565b600101610944565b600154600160a81b900460ff16158080156109c0575060018054600160a01b900460ff16105b806109e757506109cf30610fb9565b1580156109e7575060018054600160a01b900460ff16145b610a4a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610255565b6001805460ff60a01b1916600160a01b1790558015610a77576001805460ff60a81b1916600160a81b1790555b610a8082610fc8565b610a88611012565b8015610551576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b03163314610afb5760405162461bcd60e51b8152600401610255906117f7565b5f5b82811015610c1f57838382818110610b1757610b176119e7565b9050602002016020810190610b2c919061154a565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b67573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b91906119fb565b610bc55760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606401610255565b8160645f868685818110610bdb57610bdb6119e7565b9050602002016020810190610bf0919061154a565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610afd565b50505050565b5f516020611b275f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103f15760405162461bcd60e51b8152600401610255906117f7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c9c5761032883611045565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cf6575060408051601f3d908101601f19168201909252610cf3918101906119d0565b60015b610d595760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610255565b5f516020611b275f395f51905f528114610dc75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610255565b506103288383836110de565b6002805403610e245760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610255565b60028055565b8015610c1f57610c1f6001600160a01b038516848484611102565b5f82610e59670de0b6b3a764000084611a16565b610e639190611a2d565b90505b92915050565b805f03610e7857505050565b6001600160a01b038316610f17575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ecf576040519150601f19603f3d011682016040523d82523d5f602084013e610ed4565b606091505b5050905080610c1f5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610255565b6103286001600160a01b038416838361115a565b6001600255565b5f6001600160a01b03821615610fb2576040516370a0823160e01b81526001600160a01b038316906370a0823190610f6e903090600401611655565b602060405180830381865afa158015610f89573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fad91906119d0565b610e66565b4792915050565b6001600160a01b03163b151590565b600154600160a81b900460ff16610ff15760405162461bcd60e51b815260040161025590611a4c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff1661103b5760405162461bcd60e51b815260040161025590611a4c565b61104361118a565b565b61104e81610fb9565b6110b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610255565b5f516020611b275f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6110e7836111b3565b5f825111806110f35750805b1561032857610c1f83836111f2565b610c1f846323b872dd60e01b8585856040516024016111239392919061198a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611217565b6040516001600160a01b03831660248201526044810182905261032890849063a9059cbb60e01b90606401611123565b600154600160a81b900460ff16610f2b5760405162461bcd60e51b815260040161025590611a4c565b6111bc81611045565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e638383604051806060016040528060278152602001611b67602791396112ea565b5f61126b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113549092919063ffffffff16565b905080515f148061128b57508080602001905181019061128b91906119fb565b6103285760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b60605f5f856001600160a01b0316856040516113069190611ab9565b5f60405180830381855af49150503d805f811461133e576040519150601f19603f3d011682016040523d82523d5f602084013e611343565b606091505b509150915061090f8683838761136a565b606061136284845f856113e0565b949350505050565b606083156113d65782515f036113cf5761138385610fb9565b6113cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b5081611362565b61136283836114b7565b6060824710156114415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b5f5f866001600160a01b0316858760405161145c9190611ab9565b5f6040518083038185875af1925050503d805f8114611496576040519150601f19603f3d011682016040523d82523d5f602084013e61149b565b606091505b50915091506114ac8783838761136a565b979650505050505050565b8151156114c75781518083602001fd5b8060405162461bcd60e51b81526004016102559190611ad4565b6001600160a01b03811681146103f1575f5ffd5b80151581146103f1575f5ffd5b5f5f5f60608486031215611514575f5ffd5b833561151f816114e1565b9250602084013561152f816114f5565b9150604084013561153f816114f5565b809150509250925092565b5f6020828403121561155a575f5ffd5b8135611565816114e1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115a8576115a861156c565b604052919050565b5f5f604083850312156115c1575f5ffd5b82356115cc816114e1565b915060208301356001600160401b038111156115e6575f5ffd5b8301601f810185136115f6575f5ffd5b80356001600160401b0381111561160f5761160f61156c565b611622601f8201601f1916602001611580565b818152866020838501011115611636575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b6001600160a01b0391909116815260200190565b5f5f5f5f5f5f60c0878903121561167e575f5ffd5b8635611689816114e1565b95506020870135611699816114e1565b9450604087013593506060870135925060808701356116b7816114e1565b9598949750929591949360a090920135925050565b5f6001600160401b038211156116e4576116e461156c565b5060051b60200190565b5f602082840312156116fe575f5ffd5b81356001600160401b03811115611713575f5ffd5b8201601f81018413611723575f5ffd5b8035611736611731826116cc565b611580565b8082825260208201915060208360051b850101925086831115611757575f5ffd5b6020840193505b8284101561090f578335611771816114e1565b82526020938401939091019061175e565b5f5f5f60408486031215611794575f5ffd5b83356001600160401b038111156117a9575f5ffd5b8401601f810186136117b9575f5ffd5b80356001600160401b038111156117ce575f5ffd5b8660208260051b84010111156117e2575f5ffd5b60209182019450925084013561153f816114f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f606084860312156118b0575f5ffd5b83516118bb816114e1565b60208501519093506118cc816114e1565b604085015190925061153f816114e1565b5f602082840312156118ed575f5ffd5b81516001600160401b03811115611902575f5ffd5b8201601f81018413611912575f5ffd5b8051611920611731826116cc565b8082825260208201915060208360051b850101925086831115611941575f5ffd5b6020840193505b8284101561090f578351825260209384019390910190611948565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e6657610e66611963565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f5f604083850312156119bf575f5ffd5b505080516020909101519092909150565b5f602082840312156119e0575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a0b575f5ffd5b8151611565816114f5565b8082028115828204841417610e6657610e66611963565b5f82611a4757634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b83811015611ab1578181015183820152602001611a99565b50505f910152565b5f8251611aca818460208701611a97565b9190910192915050565b602081525f8251806020840152611af2816040850160208701611a97565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122006591784ad1ffda0a3fc91a445714b55bc9142a66fffc5fbb504bb215d76b58264736f6c634300081e0033";
305
305
 
306
306
  type ExpiredLpPtRedeemerConstructorParams =
307
307
  | [signer?: Signer]
@@ -0,0 +1,301 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ IPExchangeRateOracleApp,
9
+ IPExchangeRateOracleAppInterface,
10
+ } from "../IPExchangeRateOracleApp";
11
+
12
+ const _abi = [
13
+ {
14
+ anonymous: false,
15
+ inputs: [
16
+ {
17
+ indexed: true,
18
+ internalType: "address",
19
+ name: "sender",
20
+ type: "address",
21
+ },
22
+ ],
23
+ name: "AllowedSenderSet",
24
+ type: "event",
25
+ },
26
+ {
27
+ anonymous: false,
28
+ inputs: [
29
+ {
30
+ indexed: true,
31
+ internalType: "bytes32",
32
+ name: "guid",
33
+ type: "bytes32",
34
+ },
35
+ {
36
+ indexed: true,
37
+ internalType: "uint32",
38
+ name: "srcEid",
39
+ type: "uint32",
40
+ },
41
+ {
42
+ indexed: true,
43
+ internalType: "bytes32",
44
+ name: "exchangeRateSource",
45
+ type: "bytes32",
46
+ },
47
+ {
48
+ indexed: false,
49
+ internalType: "uint256",
50
+ name: "exchangeRate",
51
+ type: "uint256",
52
+ },
53
+ {
54
+ indexed: false,
55
+ internalType: "uint256",
56
+ name: "updatedAt",
57
+ type: "uint256",
58
+ },
59
+ {
60
+ indexed: false,
61
+ internalType: "bool",
62
+ name: "rateAccepted",
63
+ type: "bool",
64
+ },
65
+ ],
66
+ name: "ExchangeRateReceived",
67
+ type: "event",
68
+ },
69
+ {
70
+ anonymous: false,
71
+ inputs: [
72
+ {
73
+ indexed: true,
74
+ internalType: "bytes32",
75
+ name: "guid",
76
+ type: "bytes32",
77
+ },
78
+ {
79
+ indexed: true,
80
+ internalType: "uint32",
81
+ name: "dstEid",
82
+ type: "uint32",
83
+ },
84
+ {
85
+ indexed: true,
86
+ internalType: "address",
87
+ name: "exchangeRateSource",
88
+ type: "address",
89
+ },
90
+ {
91
+ indexed: false,
92
+ internalType: "uint256",
93
+ name: "exchangeRate",
94
+ type: "uint256",
95
+ },
96
+ ],
97
+ name: "ExchangeRateSent",
98
+ type: "event",
99
+ },
100
+ {
101
+ inputs: [
102
+ {
103
+ internalType: "uint32",
104
+ name: "_srcEid",
105
+ type: "uint32",
106
+ },
107
+ {
108
+ internalType: "bytes32",
109
+ name: "exchangeRateSource",
110
+ type: "bytes32",
111
+ },
112
+ ],
113
+ name: "getExchangeRate",
114
+ outputs: [
115
+ {
116
+ components: [
117
+ {
118
+ internalType: "uint256",
119
+ name: "exchangeRate",
120
+ type: "uint256",
121
+ },
122
+ {
123
+ internalType: "uint256",
124
+ name: "updatedAt",
125
+ type: "uint256",
126
+ },
127
+ ],
128
+ internalType: "struct IPExchangeRateOracleApp.ExchangeRateData",
129
+ name: "exchangeRateData",
130
+ type: "tuple",
131
+ },
132
+ ],
133
+ stateMutability: "view",
134
+ type: "function",
135
+ },
136
+ {
137
+ inputs: [
138
+ {
139
+ components: [
140
+ {
141
+ internalType: "address",
142
+ name: "exchangeRateSource",
143
+ type: "address",
144
+ },
145
+ {
146
+ internalType: "uint32",
147
+ name: "dstEid",
148
+ type: "uint32",
149
+ },
150
+ {
151
+ internalType: "bytes",
152
+ name: "extraOptions",
153
+ type: "bytes",
154
+ },
155
+ ],
156
+ internalType: "struct IPExchangeRateOracleApp.SendExchangeRateParam",
157
+ name: "sendParam",
158
+ type: "tuple",
159
+ },
160
+ {
161
+ internalType: "bool",
162
+ name: "payInLzToken",
163
+ type: "bool",
164
+ },
165
+ ],
166
+ name: "quoteSendExchangeRate",
167
+ outputs: [
168
+ {
169
+ components: [
170
+ {
171
+ internalType: "uint256",
172
+ name: "nativeFee",
173
+ type: "uint256",
174
+ },
175
+ {
176
+ internalType: "uint256",
177
+ name: "lzTokenFee",
178
+ type: "uint256",
179
+ },
180
+ ],
181
+ internalType: "struct MessagingFee",
182
+ name: "fee",
183
+ type: "tuple",
184
+ },
185
+ ],
186
+ stateMutability: "view",
187
+ type: "function",
188
+ },
189
+ {
190
+ inputs: [
191
+ {
192
+ components: [
193
+ {
194
+ internalType: "address",
195
+ name: "exchangeRateSource",
196
+ type: "address",
197
+ },
198
+ {
199
+ internalType: "uint32",
200
+ name: "dstEid",
201
+ type: "uint32",
202
+ },
203
+ {
204
+ internalType: "bytes",
205
+ name: "extraOptions",
206
+ type: "bytes",
207
+ },
208
+ ],
209
+ internalType: "struct IPExchangeRateOracleApp.SendExchangeRateParam",
210
+ name: "sendParam",
211
+ type: "tuple",
212
+ },
213
+ {
214
+ components: [
215
+ {
216
+ internalType: "uint256",
217
+ name: "nativeFee",
218
+ type: "uint256",
219
+ },
220
+ {
221
+ internalType: "uint256",
222
+ name: "lzTokenFee",
223
+ type: "uint256",
224
+ },
225
+ ],
226
+ internalType: "struct MessagingFee",
227
+ name: "fee",
228
+ type: "tuple",
229
+ },
230
+ ],
231
+ name: "sendExchangeRate",
232
+ outputs: [
233
+ {
234
+ components: [
235
+ {
236
+ internalType: "bytes32",
237
+ name: "guid",
238
+ type: "bytes32",
239
+ },
240
+ {
241
+ internalType: "uint64",
242
+ name: "nonce",
243
+ type: "uint64",
244
+ },
245
+ {
246
+ components: [
247
+ {
248
+ internalType: "uint256",
249
+ name: "nativeFee",
250
+ type: "uint256",
251
+ },
252
+ {
253
+ internalType: "uint256",
254
+ name: "lzTokenFee",
255
+ type: "uint256",
256
+ },
257
+ ],
258
+ internalType: "struct MessagingFee",
259
+ name: "fee",
260
+ type: "tuple",
261
+ },
262
+ ],
263
+ internalType: "struct MessagingReceipt",
264
+ name: "receipt",
265
+ type: "tuple",
266
+ },
267
+ ],
268
+ stateMutability: "payable",
269
+ type: "function",
270
+ },
271
+ {
272
+ inputs: [
273
+ {
274
+ internalType: "address",
275
+ name: "_allowedSender",
276
+ type: "address",
277
+ },
278
+ ],
279
+ name: "setAllowedSender",
280
+ outputs: [],
281
+ stateMutability: "nonpayable",
282
+ type: "function",
283
+ },
284
+ ];
285
+
286
+ export class IPExchangeRateOracleApp__factory {
287
+ static readonly abi = _abi;
288
+ static createInterface(): IPExchangeRateOracleAppInterface {
289
+ return new utils.Interface(_abi) as IPExchangeRateOracleAppInterface;
290
+ }
291
+ static connect(
292
+ address: string,
293
+ signerOrProvider: Signer | Provider
294
+ ): IPExchangeRateOracleApp {
295
+ return new Contract(
296
+ address,
297
+ _abi,
298
+ signerOrProvider
299
+ ) as IPExchangeRateOracleApp;
300
+ }
301
+ }