@pendle/core-v2 6.7.0 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) 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/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.json +2 -2
  32. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  36. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.json +2 -2
  39. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.json +5 -5
  41. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  45. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  47. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  50. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  54. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  56. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  58. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  60. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  62. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.json +2 -2
  64. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -2
  67. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  69. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  71. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  73. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  76. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  78. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.dbg.json +1 -1
  79. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.json +2 -2
  80. package/build/artifacts/contracts/cross-chain/OFTPTSwapper.sol/OFTPTSwapper.dbg.json +4 -0
  81. package/build/artifacts/contracts/cross-chain/OFTPTSwapper.sol/OFTPTSwapper.json +99 -0
  82. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +1 -1
  83. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +2 -2
  84. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +2 -2
  86. package/build/artifacts/contracts/cross-chain/factory/PendleBridgePTFactory.sol/PendleBridgePTFactory.dbg.json +1 -1
  87. package/build/artifacts/contracts/cross-chain/factory/PendleBridgePTFactory.sol/PendleBridgePTFactory.json +2 -2
  88. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.dbg.json +1 -1
  89. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.json +2 -2
  90. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.dbg.json +1 -1
  91. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.json +2 -2
  92. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  93. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.json +2 -2
  94. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFT.sol/PendleOFT.dbg.json +1 -1
  95. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFT.sol/PendleOFT.json +2 -2
  96. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFTAlt.sol/PendleOFTAlt.dbg.json +1 -1
  97. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFTAlt.sol/PendleOFTAlt.json +2 -2
  98. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  99. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.json +2 -2
  100. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.dbg.json +1 -1
  101. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.json +2 -2
  102. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +1 -1
  103. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +2 -2
  104. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +1 -1
  105. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  107. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarket.dbg.json +4 -0
  113. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarket.json +578 -0
  114. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarketEvents.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarketEvents.json +160 -0
  116. package/build/artifacts/contracts/interfaces/IMoneyMarketView.sol/IMoneyMarketView.dbg.json +4 -0
  117. package/build/artifacts/contracts/interfaces/IMoneyMarketView.sol/IMoneyMarketView.json +238 -0
  118. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPBridgeDataVerifier.sol/IPBridgeDataVerifier.dbg.json +4 -0
  140. package/build/artifacts/contracts/interfaces/IPBridgeDataVerifier.sol/IPBridgeDataVerifier.json +81 -0
  141. package/build/artifacts/contracts/interfaces/IPBridgeFunder.sol/IPBridgeFunder.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPBridgePTFactory.sol/IPBridgePTFactory.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMV2.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPLoopPositionBox.sol/IPLoopPositionBox.dbg.json +4 -0
  169. package/build/artifacts/contracts/interfaces/IPLoopPositionBox.sol/IPLoopPositionBox.json +170 -0
  170. package/build/artifacts/contracts/interfaces/IPLoopPositionBoxFactory.sol/IPLoopPositionBoxFactory.dbg.json +4 -0
  171. package/build/artifacts/contracts/interfaces/IPLoopPositionBoxFactory.sol/IPLoopPositionBoxFactory.json +377 -0
  172. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPOFTPTSwapper.sol/IPOFTPTSwapper.dbg.json +4 -0
  181. package/build/artifacts/contracts/interfaces/{IPSwapHelper.sol/IPSwapHelper.json → IPOFTPTSwapper.sol/IPOFTPTSwapper.json} +2 -2
  182. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.dbg.json +4 -0
  185. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.json +2476 -0
  186. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.dbg.json +4 -0
  187. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.json +10 -0
  188. package/build/artifacts/contracts/interfaces/IPPTLooperView.sol/IPPTLooperView.dbg.json +4 -0
  189. package/build/artifacts/contracts/interfaces/IPPTLooperView.sol/IPPTLooperView.json +209 -0
  190. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPPostPtLoopStateChecker.sol/IPPostPtLoopStateChecker.dbg.json +4 -0
  195. package/build/artifacts/contracts/interfaces/IPPostPtLoopStateChecker.sol/IPPostPtLoopStateChecker.json +29 -0
  196. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPStaticQuoter.sol/IPStaticQuoter.dbg.json +4 -0
  202. package/build/artifacts/contracts/interfaces/IPStaticQuoter.sol/IPStaticQuoter.json +55 -0
  203. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  214. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  215. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  216. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  217. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  218. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  219. package/build/artifacts/contracts/limit/helpers/MintSyHelper.sol/MintSyHelper.dbg.json +1 -1
  220. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  221. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +2 -2
  222. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  223. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  224. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  230. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  233. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  234. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +2 -2
  235. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  237. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  238. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  239. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  240. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  241. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  247. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  248. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  252. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  253. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
  254. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  255. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
  256. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  257. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  258. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  259. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  260. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  261. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +2 -2
  262. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  263. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.json +2 -2
  264. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  265. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  266. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  267. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  268. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  269. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
  270. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.dbg.json +1 -1
  271. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.json +2 -2
  272. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  273. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  274. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  276. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  278. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.json +2 -2
  279. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  280. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  281. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  282. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +2 -2
  283. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  284. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  285. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  286. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  287. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  288. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  289. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  290. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  291. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  292. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  295. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  296. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  297. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  298. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  299. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  300. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  301. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  302. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  303. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  304. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  305. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  306. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  307. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  308. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  309. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  310. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  311. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  312. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +2 -2
  313. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  314. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +2 -2
  315. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  316. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  317. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  318. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  319. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  320. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  321. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  322. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  323. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  324. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  325. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  326. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  327. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  328. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  329. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  330. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  331. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  332. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  333. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  334. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  335. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  336. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.json +2 -2
  337. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  338. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  339. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  340. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
  341. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  342. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
  343. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  344. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  345. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.json +2 -2
  346. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  347. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.json +2 -2
  348. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  349. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  350. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  351. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  352. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.json +2 -2
  353. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  354. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  355. package/build/artifacts/contracts/pt-looping/BridgeDataVerifier.sol/BridgeDataVerifier.dbg.json +4 -0
  356. package/build/artifacts/contracts/pt-looping/BridgeDataVerifier.sol/BridgeDataVerifier.json +405 -0
  357. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.dbg.json +4 -0
  358. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.json +2626 -0
  359. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.dbg.json +4 -0
  360. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.json +10 -0
  361. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.dbg.json +4 -0
  362. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.json +2660 -0
  363. package/build/artifacts/contracts/pt-looping/PendlePTLooperView.sol/PendlePTLooperView.dbg.json +4 -0
  364. package/build/artifacts/contracts/pt-looping/PendlePTLooperView.sol/PendlePTLooperView.json +334 -0
  365. package/build/artifacts/contracts/pt-looping/PostPtLoopStateChecker.sol/PostPtLoopStateChecker.dbg.json +4 -0
  366. package/build/artifacts/contracts/pt-looping/PostPtLoopStateChecker.sol/PostPtLoopStateChecker.json +79 -0
  367. package/build/artifacts/contracts/pt-looping/StaticStableQuoter.sol/StaticStableQuoter.dbg.json +4 -0
  368. package/build/artifacts/contracts/pt-looping/StaticStableQuoter.sol/StaticStableQuoter.json +233 -0
  369. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBox.sol/LoopPositionBox.dbg.json +4 -0
  370. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBox.sol/LoopPositionBox.json +198 -0
  371. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol/LoopPositionBoxFactory.dbg.json +4 -0
  372. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol/LoopPositionBoxFactory.json +555 -0
  373. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.dbg.json +4 -0
  374. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.json +604 -0
  375. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.dbg.json +4 -0
  376. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.json +264 -0
  377. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol/AaveMMPayloadLib.dbg.json +4 -0
  378. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol/AaveMMPayloadLib.json +10 -0
  379. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.dbg.json +4 -0
  380. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.json +659 -0
  381. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.dbg.json +4 -0
  382. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.json +355 -0
  383. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol/AaveDataTypes.dbg.json +4 -0
  384. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol/AaveDataTypes.json +10 -0
  385. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol/IAToken.dbg.json +4 -0
  386. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol/IAToken.json +246 -0
  387. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol/IAaveOracle.dbg.json +4 -0
  388. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol/IAaveOracle.json +120 -0
  389. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +4 -0
  390. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol/IAaveRewardsController.json +724 -0
  391. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol/IPool.dbg.json +4 -0
  392. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol/IPool.json +1600 -0
  393. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol/IPoolAddressesProvider.dbg.json +4 -0
  394. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol/IPoolAddressesProvider.json +507 -0
  395. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol/IPoolDataProviderV3.dbg.json +4 -0
  396. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol/IPoolDataProviderV3.json +577 -0
  397. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol/IPriceOracleGetter.dbg.json +4 -0
  398. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol/IPriceOracleGetter.json +56 -0
  399. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.dbg.json +4 -0
  400. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.json +633 -0
  401. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.dbg.json +4 -0
  402. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.json +298 -0
  403. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IIrm.dbg.json +4 -0
  404. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IIrm.json +234 -0
  405. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IMorpho.dbg.json +4 -0
  406. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IMorpho.json +1033 -0
  407. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol/IMorphoOracle.dbg.json +4 -0
  408. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol/IMorphoOracle.json +24 -0
  409. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol/MathLib.dbg.json +4 -0
  410. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol/MathLib.json +10 -0
  411. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol/SharesMathLib.dbg.json +4 -0
  412. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol/SharesMathLib.json +10 -0
  413. package/build/artifacts/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol/IBungeeSORInbox.dbg.json +4 -0
  414. package/build/artifacts/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol/IBungeeSORInbox.json +143 -0
  415. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  416. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  417. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  418. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  419. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  420. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  421. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  422. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  423. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  424. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  425. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  426. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  427. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  428. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  429. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  430. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  431. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  432. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  433. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  434. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  435. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  436. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  437. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  438. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  439. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  440. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  441. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  442. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  443. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  444. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  445. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  446. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  447. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  448. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  449. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  450. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  451. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  452. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  453. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  454. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  455. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +2 -2
  456. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  457. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  458. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  459. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  460. package/contracts/cross-chain/{PendleSwapHelper.sol → OFTPTSwapper.sol} +4 -3
  461. package/contracts/interfaces/IMoneyMarket.sol +60 -0
  462. package/contracts/interfaces/IMoneyMarketView.sol +42 -0
  463. package/contracts/interfaces/IPBridgeDataVerifier.sol +23 -0
  464. package/contracts/interfaces/IPLoopPositionBox.sol +38 -0
  465. package/contracts/interfaces/IPLoopPositionBoxFactory.sol +37 -0
  466. package/contracts/interfaces/{IPSwapHelper.sol → IPOFTPTSwapper.sol} +1 -1
  467. package/contracts/interfaces/IPPTLooper.sol +301 -0
  468. package/contracts/interfaces/IPPTLooperView.sol +35 -0
  469. package/contracts/interfaces/IPPostPtLoopStateChecker.sol +8 -0
  470. package/contracts/interfaces/IPStaticQuoter.sol +13 -0
  471. package/contracts/pt-looping/BridgeDataVerifier.sol +158 -0
  472. package/contracts/pt-looping/PTLooperBase.sol +236 -0
  473. package/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol +210 -0
  474. package/contracts/pt-looping/PendlePTLooper.sol +318 -0
  475. package/contracts/pt-looping/PendlePTLooperView.sol +42 -0
  476. package/contracts/pt-looping/PostPtLoopStateChecker.sol +79 -0
  477. package/contracts/pt-looping/StaticStableQuoter.sol +46 -0
  478. package/contracts/pt-looping/loop-position-box/LoopPositionBox.sol +85 -0
  479. package/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol +123 -0
  480. package/contracts/pt-looping/money-market/BaseMoneyMarket.sol +129 -0
  481. package/contracts/pt-looping/money-market/BaseMoneyMarketView.sol +123 -0
  482. package/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol +16 -0
  483. package/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol +123 -0
  484. package/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol +200 -0
  485. package/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol +259 -0
  486. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol +8 -0
  487. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol +33 -0
  488. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol +68 -0
  489. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol +664 -0
  490. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol +227 -0
  491. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol +228 -0
  492. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol +32 -0
  493. package/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol +123 -0
  494. package/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol +66 -0
  495. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol +300 -0
  496. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol +14 -0
  497. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol +35 -0
  498. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol +42 -0
  499. package/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol +36 -0
  500. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +4 -1
  501. package/deployments/1-core.json +4 -1
  502. package/deployments/130-core.json +2 -1
  503. package/deployments/143-core.json +2 -1
  504. package/deployments/42161-core.json +2 -1
  505. package/deployments/4217-core.json +5 -1
  506. package/deployments/43114-core.json +2 -1
  507. package/deployments/56-core.json +2 -1
  508. package/deployments/57073-core.json +2 -1
  509. package/deployments/747474-core.json +2 -1
  510. package/deployments/8453-core.json +2 -1
  511. package/deployments/9745-core.json +2 -1
  512. package/deployments/999-core.json +2 -1
  513. package/package.json +2 -1
  514. package/typechain-types/AaveMoneyMarket.ts +147 -290
  515. package/typechain-types/AaveMoneyMarketView.ts +0 -13
  516. package/typechain-types/BaseMoneyMarket.ts +147 -271
  517. package/typechain-types/BridgeDataVerifier.ts +564 -0
  518. package/typechain-types/IBungeeSORInbox.ts +192 -0
  519. package/typechain-types/IMoneyMarket.ts +124 -282
  520. package/typechain-types/IMoneyMarketEvents.ts +31 -56
  521. package/typechain-types/IPBridgeDataVerifier.ts +148 -0
  522. package/typechain-types/IPLoopPositionBox.ts +0 -13
  523. package/typechain-types/IPLoopPositionBoxFactory.ts +5 -39
  524. package/typechain-types/IPOFTPTSwapper.ts +161 -0
  525. package/typechain-types/IPPTLooper.ts +658 -695
  526. package/typechain-types/IPPTLooperView.ts +56 -251
  527. package/typechain-types/IPPostPtLoopStateChecker.ts +106 -0
  528. package/typechain-types/IPStaticQuoter.ts +132 -0
  529. package/typechain-types/IPool.ts +8 -8
  530. package/typechain-types/IPoolDataProviderV3.ts +76 -8
  531. package/typechain-types/LoopPositionBox.ts +25 -38
  532. package/typechain-types/LoopPositionBoxFactory.ts +17 -51
  533. package/typechain-types/MorphoBlueMoneyMarket.ts +141 -286
  534. package/typechain-types/MorphoBlueMoneyMarketView.ts +0 -21
  535. package/typechain-types/OFTPTSwapper.ts +161 -0
  536. package/typechain-types/PTLooperBase.ts +671 -708
  537. package/typechain-types/PendlePTLooper.ts +671 -708
  538. package/typechain-types/PendlePTLooperView.ts +71 -266
  539. package/typechain-types/PostPtLoopStateChecker.ts +151 -0
  540. package/typechain-types/StaticStableQuoter.ts +395 -0
  541. package/typechain-types/factories/AaveMoneyMarketView__factory.ts +1 -23
  542. package/typechain-types/factories/AaveMoneyMarket__factory.ts +265 -267
  543. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  544. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  545. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  546. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  547. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  548. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  549. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  550. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  551. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  552. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  553. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  554. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  555. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  556. package/typechain-types/factories/AddressCast__factory.ts +1 -1
  557. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  558. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  559. package/typechain-types/factories/BaseMoneyMarket__factory.ts +264 -244
  560. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  561. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  562. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  563. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  564. package/typechain-types/factories/BridgeDataVerifier__factory.ts +463 -0
  565. package/typechain-types/factories/BridgeFunder__factory.ts +1 -1
  566. package/typechain-types/factories/DVNOptions__factory.ts +1 -1
  567. package/typechain-types/factories/DepositBoxFactory__factory.ts +1 -1
  568. package/typechain-types/factories/DepositBox__factory.ts +1 -1
  569. package/typechain-types/factories/ERC1967Proxy__factory.ts +1 -1
  570. package/typechain-types/factories/ERC20Upgradeable__factory.ts +1 -1
  571. package/typechain-types/factories/ERC20__factory.ts +1 -1
  572. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  573. package/typechain-types/factories/Errors__factory.ts +1 -1
  574. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  575. package/typechain-types/factories/ExecutorOptions__factory.ts +1 -1
  576. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  577. package/typechain-types/factories/FixedPricePTAMMV2__factory.ts +1 -1
  578. package/typechain-types/factories/IBungeeSORInbox__factory.ts +158 -0
  579. package/typechain-types/factories/IMoneyMarketEvents__factory.ts +11 -61
  580. package/typechain-types/factories/IMoneyMarket__factory.ts +250 -256
  581. package/typechain-types/factories/IPBridgeDataVerifier__factory.ts +100 -0
  582. package/typechain-types/factories/IPLoopPositionBoxFactory__factory.ts +8 -32
  583. package/typechain-types/factories/IPLoopPositionBox__factory.ts +0 -13
  584. package/typechain-types/factories/IPOFTPTSwapper__factory.ts +114 -0
  585. package/typechain-types/factories/IPPTLooperView__factory.ts +94 -201
  586. package/typechain-types/factories/IPPTLooper__factory.ts +1030 -1043
  587. package/typechain-types/factories/IPPostPtLoopStateChecker__factory.ts +48 -0
  588. package/typechain-types/factories/IPStaticQuoter__factory.ts +70 -0
  589. package/typechain-types/factories/IPoolDataProviderV3__factory.ts +39 -1
  590. package/typechain-types/factories/IPool__factory.ts +2 -2
  591. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  592. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  593. package/typechain-types/factories/LoopPositionBoxFactory__factory.ts +26 -50
  594. package/typechain-types/factories/LoopPositionBox__factory.ts +11 -35
  595. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  596. package/typechain-types/factories/MorphoBlueMoneyMarketView__factory.ts +1 -14
  597. package/typechain-types/factories/MorphoBlueMoneyMarket__factory.ts +257 -250
  598. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  599. package/typechain-types/factories/NonceManager__factory.ts +1 -1
  600. package/typechain-types/factories/OFTAdapterAltImpl__factory.ts +1 -1
  601. package/typechain-types/factories/OFTAdapterImpl__factory.ts +1 -1
  602. package/typechain-types/factories/OFTAdapter__factory.ts +0 -11
  603. package/typechain-types/factories/OFTPTSwapper__factory.ts +149 -0
  604. package/typechain-types/factories/OptionsBuilder__factory.ts +1 -1
  605. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  606. package/typechain-types/factories/PTLooperBase__factory.ts +1122 -1135
  607. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  608. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  609. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  610. package/typechain-types/factories/PendleBridgePTFactory__factory.ts +1 -1
  611. package/typechain-types/factories/PendleBridgedPrincipalTokenAlt__factory.ts +1 -1
  612. package/typechain-types/factories/PendleBridgedPrincipalToken__factory.ts +1 -1
  613. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  614. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  615. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  616. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  617. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +1 -1
  618. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1 -1
  619. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  620. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +1 -1
  621. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +1 -1
  622. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  623. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  624. package/typechain-types/factories/PendleFeeSetter__factory.ts +1 -1
  625. package/typechain-types/factories/PendleGaugeControllerUpg__factory.ts +1 -1
  626. package/typechain-types/factories/PendleGovernanceProxy__factory.ts +1 -1
  627. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  628. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  629. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  630. package/typechain-types/factories/PendleLinearDiscountOracleWrapper__factory.ts +1 -1
  631. package/typechain-types/factories/PendleLpLinearDiscountOracleFactory__factory.ts +1 -1
  632. package/typechain-types/factories/PendleLpLinearDiscountOracle__factory.ts +1 -1
  633. package/typechain-types/factories/PendleMarketFactoryV7Upg__factory.ts +1 -1
  634. package/typechain-types/factories/PendleMarketV7__factory.ts +1 -1
  635. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +1 -1
  636. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  637. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  638. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  639. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  640. package/typechain-types/factories/PendleMulticallOwnerV1__factory.ts +1 -1
  641. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  642. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  643. package/typechain-types/factories/PendleOFTAlt__factory.ts +1 -1
  644. package/typechain-types/factories/PendleOFT__factory.ts +1 -1
  645. package/typechain-types/factories/PendleOffchainStorage__factory.ts +1 -1
  646. package/typechain-types/factories/PendlePTLooperView__factory.ts +100 -207
  647. package/typechain-types/factories/PendlePTLooper__factory.ts +1132 -1136
  648. package/typechain-types/factories/PendlePTOFTAdapterFactory__factory.ts +1 -1
  649. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  650. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  651. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  652. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  653. package/typechain-types/factories/PendleProxyAdmin__factory.ts +1 -1
  654. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  655. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  656. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  657. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  658. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  659. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
  660. package/typechain-types/factories/PendleSwapHelper__factory.ts +1 -1
  661. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  662. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  663. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  664. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  665. package/typechain-types/factories/PostPtLoopStateChecker__factory.ts +141 -0
  666. package/typechain-types/factories/ProxyAdmin__factory.ts +1 -1
  667. package/typechain-types/factories/Reflector__factory.ts +1 -1
  668. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  669. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  670. package/typechain-types/factories/StakedPendle__factory.ts +1 -1
  671. package/typechain-types/factories/StaticStableQuoter__factory.ts +286 -0
  672. package/typechain-types/factories/SupplyCapReader__factory.ts +1 -1
  673. package/typechain-types/factories/TransparentUpgradeableProxy__factory.ts +1 -1
  674. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  675. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  676. package/typechain-types/hardhat.d.ts +360 -0
  677. package/typechain-types/index.ts +80 -0
  678. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.dbg.json +0 -4
  679. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.json +0 -99
  680. package/build/artifacts/contracts/interfaces/IPSwapHelper.sol/IPSwapHelper.dbg.json +0 -4
@@ -21,6 +21,11 @@ const _abi = [
21
21
  name: "positionBoxFactory",
22
22
  type: "address",
23
23
  },
24
+ {
25
+ internalType: "address",
26
+ name: "postStateChecker",
27
+ type: "address",
28
+ },
24
29
  ],
25
30
  stateMutability: "nonpayable",
26
31
  type: "constructor",
@@ -131,7 +136,7 @@ const _abi = [
131
136
  {
132
137
  indexed: false,
133
138
  internalType: "bytes32",
134
- name: "ownerSigHash",
139
+ name: "requestHash",
135
140
  type: "bytes32",
136
141
  },
137
142
  {
@@ -180,7 +185,7 @@ const _abi = [
180
185
  {
181
186
  indexed: false,
182
187
  internalType: "bytes32",
183
- name: "ownerSigHash",
188
+ name: "requestHash",
184
189
  type: "bytes32",
185
190
  },
186
191
  {
@@ -192,7 +197,7 @@ const _abi = [
192
197
  {
193
198
  indexed: false,
194
199
  internalType: "uint256",
195
- name: "preDebtBalance",
200
+ name: "preInBalance",
196
201
  type: "uint256",
197
202
  },
198
203
  {
@@ -211,6 +216,111 @@ const _abi = [
211
216
  name: "PositionIncreased",
212
217
  type: "event",
213
218
  },
219
+ {
220
+ anonymous: false,
221
+ inputs: [
222
+ {
223
+ indexed: true,
224
+ internalType: "address",
225
+ name: "owner",
226
+ type: "address",
227
+ },
228
+ {
229
+ indexed: true,
230
+ internalType: "bytes32",
231
+ name: "boxId",
232
+ type: "bytes32",
233
+ },
234
+ {
235
+ indexed: false,
236
+ internalType: "bytes32",
237
+ name: "requestHash",
238
+ type: "bytes32",
239
+ },
240
+ {
241
+ indexed: false,
242
+ internalType: "uint256",
243
+ name: "nonce",
244
+ type: "uint256",
245
+ },
246
+ {
247
+ indexed: false,
248
+ internalType: "address[]",
249
+ name: "rewardTokens",
250
+ type: "address[]",
251
+ },
252
+ {
253
+ indexed: false,
254
+ internalType: "uint256[]",
255
+ name: "claimedAmounts",
256
+ type: "uint256[]",
257
+ },
258
+ ],
259
+ name: "RewardsClaimed",
260
+ type: "event",
261
+ },
262
+ {
263
+ anonymous: false,
264
+ inputs: [
265
+ {
266
+ indexed: true,
267
+ internalType: "address",
268
+ name: "owner",
269
+ type: "address",
270
+ },
271
+ {
272
+ indexed: true,
273
+ internalType: "bytes32",
274
+ name: "boxId",
275
+ type: "bytes32",
276
+ },
277
+ {
278
+ indexed: false,
279
+ internalType: "bytes32",
280
+ name: "requestHash",
281
+ type: "bytes32",
282
+ },
283
+ {
284
+ indexed: false,
285
+ internalType: "uint32",
286
+ name: "sessionNonce",
287
+ type: "uint32",
288
+ },
289
+ ],
290
+ name: "SessionInitiated",
291
+ type: "event",
292
+ },
293
+ {
294
+ anonymous: false,
295
+ inputs: [
296
+ {
297
+ indexed: true,
298
+ internalType: "address",
299
+ name: "owner",
300
+ type: "address",
301
+ },
302
+ {
303
+ indexed: true,
304
+ internalType: "bytes32",
305
+ name: "boxId",
306
+ type: "bytes32",
307
+ },
308
+ {
309
+ indexed: false,
310
+ internalType: "bytes32",
311
+ name: "requestHash",
312
+ type: "bytes32",
313
+ },
314
+ {
315
+ indexed: false,
316
+ internalType: "uint32",
317
+ name: "sessionNonce",
318
+ type: "uint32",
319
+ },
320
+ ],
321
+ name: "SessionTerminated",
322
+ type: "event",
323
+ },
214
324
  {
215
325
  anonymous: false,
216
326
  inputs: [
@@ -292,7 +402,7 @@ const _abi = [
292
402
  {
293
403
  indexed: false,
294
404
  internalType: "uint256",
295
- name: "netOut",
405
+ name: "netSwappedOut",
296
406
  type: "uint256",
297
407
  },
298
408
  ],
@@ -317,44 +427,7 @@ const _abi = [
317
427
  {
318
428
  indexed: false,
319
429
  internalType: "bytes32",
320
- name: "ownerSigHash",
321
- type: "bytes32",
322
- },
323
- {
324
- indexed: false,
325
- internalType: "uint32",
326
- name: "sessionNonce",
327
- type: "uint32",
328
- },
329
- {
330
- indexed: false,
331
- internalType: "bool",
332
- name: "isInitiate",
333
- type: "bool",
334
- },
335
- ],
336
- name: "UserRequestStateSet",
337
- type: "event",
338
- },
339
- {
340
- anonymous: false,
341
- inputs: [
342
- {
343
- indexed: true,
344
- internalType: "address",
345
- name: "owner",
346
- type: "address",
347
- },
348
- {
349
- indexed: true,
350
- internalType: "bytes32",
351
- name: "boxId",
352
- type: "bytes32",
353
- },
354
- {
355
- indexed: false,
356
- internalType: "bytes32",
357
- name: "ownerSigHash",
430
+ name: "requestHash",
358
431
  type: "bytes32",
359
432
  },
360
433
  {
@@ -375,12 +448,6 @@ const _abi = [
375
448
  name: "netOut",
376
449
  type: "uint256",
377
450
  },
378
- {
379
- indexed: false,
380
- internalType: "uint256",
381
- name: "fee",
382
- type: "uint256",
383
- },
384
451
  ],
385
452
  name: "Withdrawn",
386
453
  type: "event",
@@ -398,6 +465,19 @@ const _abi = [
398
465
  stateMutability: "view",
399
466
  type: "function",
400
467
  },
468
+ {
469
+ inputs: [],
470
+ name: "POST_LOOP_STATE_CHECKER",
471
+ outputs: [
472
+ {
473
+ internalType: "contract IPPostPtLoopStateChecker",
474
+ name: "",
475
+ type: "address",
476
+ },
477
+ ],
478
+ stateMutability: "view",
479
+ type: "function",
480
+ },
401
481
  {
402
482
  inputs: [],
403
483
  name: "TREASURY",
@@ -414,17 +494,110 @@ const _abi = [
414
494
  {
415
495
  inputs: [
416
496
  {
417
- internalType: "address",
418
- name: "owner",
419
- type: "address",
497
+ components: [
498
+ {
499
+ components: [
500
+ {
501
+ internalType: "address",
502
+ name: "owner",
503
+ type: "address",
504
+ },
505
+ {
506
+ internalType: "bytes32",
507
+ name: "boxId",
508
+ type: "bytes32",
509
+ },
510
+ {
511
+ internalType: "uint256",
512
+ name: "expiry",
513
+ type: "uint256",
514
+ },
515
+ {
516
+ internalType: "uint256",
517
+ name: "nonce",
518
+ type: "uint256",
519
+ },
520
+ ],
521
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
522
+ name: "permit",
523
+ type: "tuple",
524
+ },
525
+ ],
526
+ internalType: "struct IPPTLooperEIP712Types.ClaimMMRewardsMessage",
527
+ name: "ms",
528
+ type: "tuple",
420
529
  },
421
530
  {
422
- internalType: "bytes32",
423
- name: "boxId",
424
- type: "bytes32",
531
+ internalType: "bytes",
532
+ name: "proposerSig",
533
+ type: "bytes",
534
+ },
535
+ {
536
+ components: [
537
+ {
538
+ components: [
539
+ {
540
+ internalType: "bytes32",
541
+ name: "boxId",
542
+ type: "bytes32",
543
+ },
544
+ {
545
+ internalType: "uint256",
546
+ name: "expiry",
547
+ type: "uint256",
548
+ },
549
+ {
550
+ internalType: "uint32",
551
+ name: "sessionNonce",
552
+ type: "uint32",
553
+ },
554
+ {
555
+ internalType: "uint32",
556
+ name: "permitNonceCap",
557
+ type: "uint32",
558
+ },
559
+ {
560
+ internalType: "uint256",
561
+ name: "swapBridgeSlippage",
562
+ type: "uint256",
563
+ },
564
+ {
565
+ internalType: "bytes",
566
+ name: "offchainMetadata",
567
+ type: "bytes",
568
+ },
569
+ ],
570
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
571
+ name: "header",
572
+ type: "tuple",
573
+ },
574
+ {
575
+ internalType: "address",
576
+ name: "extRewardController",
577
+ type: "address",
578
+ },
579
+ {
580
+ internalType: "bytes",
581
+ name: "data",
582
+ type: "bytes",
583
+ },
584
+ {
585
+ internalType: "address[]",
586
+ name: "rewardTokens",
587
+ type: "address[]",
588
+ },
589
+ ],
590
+ internalType: "struct IPPTLooperEIP712Types.ClaimMMRewardsRequest",
591
+ name: "req",
592
+ type: "tuple",
593
+ },
594
+ {
595
+ internalType: "bytes",
596
+ name: "ownerSigIfFirstCall",
597
+ type: "bytes",
425
598
  },
426
599
  ],
427
- name: "claimMoneyMarketRewards",
600
+ name: "claimMMRewards",
428
601
  outputs: [],
429
602
  stateMutability: "nonpayable",
430
603
  type: "function",
@@ -457,18 +630,13 @@ const _abi = [
457
630
  name: "expiry",
458
631
  type: "uint256",
459
632
  },
460
- {
461
- internalType: "bytes32",
462
- name: "ownerSigHash",
463
- type: "bytes32",
464
- },
465
633
  {
466
634
  internalType: "uint256",
467
635
  name: "nonce",
468
636
  type: "uint256",
469
637
  },
470
638
  ],
471
- internalType: "struct IPPTLooper.BoxPermit",
639
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
472
640
  name: "permit",
473
641
  type: "tuple",
474
642
  },
@@ -490,305 +658,61 @@ const _abi = [
490
658
  type: "bytes",
491
659
  },
492
660
  ],
493
- internalType: "struct IPPTLooper.BoxApprovedCall",
661
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
494
662
  name: "swap",
495
663
  type: "tuple",
496
664
  },
497
- {
498
- components: [
499
- {
500
- internalType: "address",
501
- name: "extRouter",
502
- type: "address",
503
- },
504
- {
505
- internalType: "address",
506
- name: "approve",
507
- type: "address",
508
- },
509
- {
510
- internalType: "bytes",
511
- name: "callData",
512
- type: "bytes",
513
- },
514
- ],
515
- internalType: "struct IPPTLooper.BoxApprovedCall",
516
- name: "bridge",
517
- type: "tuple",
518
- },
519
- {
520
- internalType: "uint256",
521
- name: "maxBridgeAmount",
522
- type: "uint256",
523
- },
524
- {
525
- internalType: "uint256",
526
- name: "bridgeNativeFee",
527
- type: "uint256",
528
- },
529
- {
530
- internalType: "uint256",
531
- name: "minDebtRepaid",
532
- type: "uint256",
533
- },
534
- {
535
- internalType: "uint256",
536
- name: "amountPtWithdrawn",
537
- type: "uint256",
538
- },
539
- {
540
- internalType: "uint256",
541
- name: "minPtWithdrawn",
542
- type: "uint256",
543
- },
544
- {
545
- internalType: "uint256",
546
- name: "postWithdrawMaxLTV",
547
- type: "uint256",
548
- },
549
- ],
550
- internalType: "struct IPPTLooper.DecreasePositionMessage",
551
- name: "ms",
552
- type: "tuple",
553
- },
554
- {
555
- internalType: "bytes",
556
- name: "proposerSig",
557
- type: "bytes",
558
- },
559
- {
560
- components: [
561
665
  {
562
666
  components: [
563
667
  {
564
668
  components: [
565
669
  {
566
- internalType: "bytes32",
567
- name: "boxId",
568
- type: "bytes32",
670
+ internalType: "address",
671
+ name: "extRouter",
672
+ type: "address",
569
673
  },
570
674
  {
571
- internalType: "uint256",
572
- name: "expiry",
573
- type: "uint256",
675
+ internalType: "address",
676
+ name: "approve",
677
+ type: "address",
574
678
  },
575
679
  {
576
- internalType: "uint32",
577
- name: "sessionNonce",
578
- type: "uint32",
579
- },
580
- {
581
- internalType: "uint32",
582
- name: "permitNonceCap",
583
- type: "uint32",
680
+ internalType: "bytes",
681
+ name: "callData",
682
+ type: "bytes",
584
683
  },
585
684
  ],
586
- internalType: "struct IPPTLooper.RequestHeader",
587
- name: "header",
685
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
686
+ name: "call",
588
687
  type: "tuple",
589
688
  },
590
689
  {
591
690
  internalType: "uint256",
592
- name: "targetMaxDebt",
593
- type: "uint256",
594
- },
595
- {
596
- internalType: "uint256",
597
- name: "minPtToTokenSwapRate",
598
- type: "uint256",
599
- },
600
- {
601
- internalType: "uint256",
602
- name: "postWithdrawMaxLTV",
603
- type: "uint256",
604
- },
605
- ],
606
- internalType: "struct IPPTLooper.DecreasePositionRequest",
607
- name: "decreasePositionReq",
608
- type: "tuple",
609
- },
610
- {
611
- components: [
612
- {
613
- components: [
614
- {
615
- internalType: "bytes32",
616
- name: "boxId",
617
- type: "bytes32",
618
- },
619
- {
620
- internalType: "uint256",
621
- name: "expiry",
622
- type: "uint256",
623
- },
624
- {
625
- internalType: "uint32",
626
- name: "sessionNonce",
627
- type: "uint32",
628
- },
629
- {
630
- internalType: "uint32",
631
- name: "permitNonceCap",
632
- type: "uint32",
633
- },
634
- ],
635
- internalType: "struct IPPTLooper.RequestHeader",
636
- name: "header",
637
- type: "tuple",
638
- },
639
- {
640
- internalType: "bool",
641
- name: "receiveOnSpoke",
642
- type: "bool",
643
- },
644
- {
645
- internalType: "address",
646
- name: "hubTokenOut",
647
- type: "address",
648
- },
649
- {
650
- internalType: "address",
651
- name: "dstTokenOut",
652
- type: "address",
653
- },
654
- {
655
- internalType: "uint256",
656
- name: "minTokenOut",
657
- type: "uint256",
658
- },
659
- ],
660
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllRequest",
661
- name: "swapBridgeWithdrawAllReq",
662
- type: "tuple",
663
- },
664
- ],
665
- internalType: "struct IPPTLooper.BatchDecPosThenWithdrawRequest",
666
- name: "req",
667
- type: "tuple",
668
- },
669
- {
670
- internalType: "bytes",
671
- name: "ownerSig",
672
- type: "bytes",
673
- },
674
- ],
675
- name: "decreaseLoopPosition",
676
- outputs: [],
677
- stateMutability: "payable",
678
- type: "function",
679
- },
680
- {
681
- inputs: [
682
- {
683
- components: [
684
- {
685
- components: [
686
- {
687
- internalType: "address",
688
- name: "owner",
689
- type: "address",
690
- },
691
- {
692
- internalType: "bytes32",
693
- name: "boxId",
694
- type: "bytes32",
695
- },
696
- {
697
- internalType: "uint256",
698
- name: "expiry",
691
+ name: "maxAmount",
699
692
  type: "uint256",
700
693
  },
701
- {
702
- internalType: "bytes32",
703
- name: "ownerSigHash",
704
- type: "bytes32",
705
- },
706
694
  {
707
695
  internalType: "uint256",
708
- name: "nonce",
696
+ name: "nativeFee",
709
697
  type: "uint256",
710
698
  },
711
699
  ],
712
- internalType: "struct IPPTLooper.BoxPermit",
713
- name: "permit",
714
- type: "tuple",
715
- },
716
- {
717
- components: [
718
- {
719
- internalType: "address",
720
- name: "extRouter",
721
- type: "address",
722
- },
723
- {
724
- internalType: "address",
725
- name: "approve",
726
- type: "address",
727
- },
728
- {
729
- internalType: "bytes",
730
- name: "callData",
731
- type: "bytes",
732
- },
733
- ],
734
- internalType: "struct IPPTLooper.BoxApprovedCall",
735
- name: "swap",
736
- type: "tuple",
737
- },
738
- {
739
- components: [
740
- {
741
- internalType: "address",
742
- name: "extRouter",
743
- type: "address",
744
- },
745
- {
746
- internalType: "address",
747
- name: "approve",
748
- type: "address",
749
- },
750
- {
751
- internalType: "bytes",
752
- name: "callData",
753
- type: "bytes",
754
- },
755
- ],
756
- internalType: "struct IPPTLooper.BoxApprovedCall",
700
+ internalType: "struct IPPTLooperEIP712Types.BridgeData",
757
701
  name: "bridge",
758
702
  type: "tuple",
759
703
  },
760
- {
761
- internalType: "uint256",
762
- name: "maxBridgeAmount",
763
- type: "uint256",
764
- },
765
- {
766
- internalType: "uint256",
767
- name: "bridgeNativeFee",
768
- type: "uint256",
769
- },
770
- {
771
- internalType: "uint256",
772
- name: "minDebtRepaid",
773
- type: "uint256",
774
- },
775
704
  {
776
705
  internalType: "uint256",
777
706
  name: "amountPtWithdrawn",
778
707
  type: "uint256",
779
708
  },
780
709
  {
781
- internalType: "uint256",
782
- name: "minPtWithdrawn",
783
- type: "uint256",
784
- },
785
- {
786
- internalType: "uint256",
787
- name: "postWithdrawMaxLTV",
788
- type: "uint256",
710
+ internalType: "bytes",
711
+ name: "postStateCheckData",
712
+ type: "bytes",
789
713
  },
790
714
  ],
791
- internalType: "struct IPPTLooper.DecreasePositionMessage",
715
+ internalType: "struct IPPTLooperEIP712Types.DecreasePositionMessage",
792
716
  name: "ms",
793
717
  type: "tuple",
794
718
  },
@@ -821,19 +745,24 @@ const _abi = [
821
745
  name: "permitNonceCap",
822
746
  type: "uint32",
823
747
  },
748
+ {
749
+ internalType: "uint256",
750
+ name: "swapBridgeSlippage",
751
+ type: "uint256",
752
+ },
753
+ {
754
+ internalType: "bytes",
755
+ name: "offchainMetadata",
756
+ type: "bytes",
757
+ },
824
758
  ],
825
- internalType: "struct IPPTLooper.RequestHeader",
759
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
826
760
  name: "header",
827
761
  type: "tuple",
828
762
  },
829
763
  {
830
764
  internalType: "uint256",
831
- name: "targetMaxDebt",
832
- type: "uint256",
833
- },
834
- {
835
- internalType: "uint256",
836
- name: "minPtToTokenSwapRate",
765
+ name: "minPtToDebtSwapRate",
837
766
  type: "uint256",
838
767
  },
839
768
  {
@@ -842,13 +771,13 @@ const _abi = [
842
771
  type: "uint256",
843
772
  },
844
773
  ],
845
- internalType: "struct IPPTLooper.DecreasePositionRequest",
774
+ internalType: "struct IPPTLooperEIP712Types.DecreasePositionRequest",
846
775
  name: "req",
847
776
  type: "tuple",
848
777
  },
849
778
  {
850
779
  internalType: "bytes",
851
- name: "ownerSig",
780
+ name: "ownerSigIfFirstCall",
852
781
  type: "bytes",
853
782
  },
854
783
  ],
@@ -857,62 +786,6 @@ const _abi = [
857
786
  stateMutability: "payable",
858
787
  type: "function",
859
788
  },
860
- {
861
- inputs: [
862
- {
863
- internalType: "bytes32",
864
- name: "boxId",
865
- type: "bytes32",
866
- },
867
- {
868
- internalType: "address",
869
- name: "tokenIn",
870
- type: "address",
871
- },
872
- {
873
- internalType: "uint256",
874
- name: "amountIn",
875
- type: "uint256",
876
- },
877
- {
878
- components: [
879
- {
880
- internalType: "address",
881
- name: "extRouter",
882
- type: "address",
883
- },
884
- {
885
- internalType: "address",
886
- name: "approve",
887
- type: "address",
888
- },
889
- {
890
- internalType: "bytes",
891
- name: "callData",
892
- type: "bytes",
893
- },
894
- ],
895
- internalType: "struct IPPTLooper.BoxApprovedCall",
896
- name: "swapCall",
897
- type: "tuple",
898
- },
899
- {
900
- internalType: "uint256",
901
- name: "minDebtTokenSwapOut",
902
- type: "uint256",
903
- },
904
- ],
905
- name: "depositToBox",
906
- outputs: [
907
- {
908
- internalType: "uint256",
909
- name: "amountDeposited",
910
- type: "uint256",
911
- },
912
- ],
913
- stateMutability: "payable",
914
- type: "function",
915
- },
916
789
  {
917
790
  inputs: [],
918
791
  name: "eip712Domain",
@@ -974,73 +847,79 @@ const _abi = [
974
847
  {
975
848
  components: [
976
849
  {
977
- internalType: "address",
978
- name: "extRouter",
979
- type: "address",
850
+ components: [
851
+ {
852
+ internalType: "bytes32",
853
+ name: "boxId",
854
+ type: "bytes32",
855
+ },
856
+ {
857
+ internalType: "uint256",
858
+ name: "expiry",
859
+ type: "uint256",
860
+ },
861
+ {
862
+ internalType: "uint32",
863
+ name: "sessionNonce",
864
+ type: "uint32",
865
+ },
866
+ {
867
+ internalType: "uint32",
868
+ name: "permitNonceCap",
869
+ type: "uint32",
870
+ },
871
+ {
872
+ internalType: "uint256",
873
+ name: "swapBridgeSlippage",
874
+ type: "uint256",
875
+ },
876
+ {
877
+ internalType: "bytes",
878
+ name: "offchainMetadata",
879
+ type: "bytes",
880
+ },
881
+ ],
882
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
883
+ name: "header",
884
+ type: "tuple",
980
885
  },
981
886
  {
982
887
  internalType: "address",
983
- name: "approve",
888
+ name: "initTokenIn",
984
889
  type: "address",
985
890
  },
986
891
  {
987
- internalType: "bytes",
988
- name: "callData",
989
- type: "bytes",
990
- },
991
- ],
992
- internalType: "struct IPPTLooper.BoxApprovedCall",
993
- name: "sb",
994
- type: "tuple",
995
- },
996
- ],
997
- name: "hashBoxApprovedCall",
998
- outputs: [
999
- {
1000
- internalType: "bytes32",
1001
- name: "",
1002
- type: "bytes32",
1003
- },
1004
- ],
1005
- stateMutability: "pure",
1006
- type: "function",
1007
- },
1008
- {
1009
- inputs: [
1010
- {
1011
- components: [
1012
- {
1013
- internalType: "address",
1014
- name: "owner",
1015
- type: "address",
892
+ internalType: "uint256",
893
+ name: "initMinToPtSwapRate",
894
+ type: "uint256",
1016
895
  },
1017
896
  {
1018
- internalType: "bytes32",
1019
- name: "boxId",
1020
- type: "bytes32",
897
+ internalType: "uint256",
898
+ name: "minDebtToPtSwapRate",
899
+ type: "uint256",
1021
900
  },
1022
901
  {
1023
902
  internalType: "uint256",
1024
- name: "expiry",
903
+ name: "postBorrowMaxLTV",
1025
904
  type: "uint256",
1026
905
  },
1027
906
  {
1028
- internalType: "bytes32",
1029
- name: "ownerSigHash",
1030
- type: "bytes32",
907
+ internalType: "bool",
908
+ name: "isZeroPriceImpact",
909
+ type: "bool",
1031
910
  },
1032
911
  {
1033
912
  internalType: "uint256",
1034
- name: "nonce",
913
+ name: "maxFeeRate",
1035
914
  type: "uint256",
1036
915
  },
1037
916
  ],
1038
- internalType: "struct IPPTLooper.BoxPermit",
1039
- name: "permit",
917
+ internalType: "struct IPPTLooperEIP712Types.IncreasePositionRequest",
918
+ name: "req",
1040
919
  type: "tuple",
1041
920
  },
1042
921
  ],
1043
- name: "hashBoxPermit",
922
+ name: "hashRaw",
1044
923
  outputs: [
1045
924
  {
1046
925
  internalType: "bytes32",
@@ -1075,137 +954,23 @@ const _abi = [
1075
954
  name: "permitNonceCap",
1076
955
  type: "uint32",
1077
956
  },
1078
- ],
1079
- internalType: "struct IPPTLooper.RequestHeader",
1080
- name: "header",
1081
- type: "tuple",
1082
- },
1083
- ],
1084
- name: "hashRequestHeader",
1085
- outputs: [
1086
- {
1087
- internalType: "bytes32",
1088
- name: "",
1089
- type: "bytes32",
1090
- },
1091
- ],
1092
- stateMutability: "pure",
1093
- type: "function",
1094
- },
1095
- {
1096
- inputs: [
1097
- {
1098
- components: [
1099
957
  {
1100
- components: [
1101
- {
1102
- components: [
1103
- {
1104
- internalType: "bytes32",
1105
- name: "boxId",
1106
- type: "bytes32",
1107
- },
1108
- {
1109
- internalType: "uint256",
1110
- name: "expiry",
1111
- type: "uint256",
1112
- },
1113
- {
1114
- internalType: "uint32",
1115
- name: "sessionNonce",
1116
- type: "uint32",
1117
- },
1118
- {
1119
- internalType: "uint32",
1120
- name: "permitNonceCap",
1121
- type: "uint32",
1122
- },
1123
- ],
1124
- internalType: "struct IPPTLooper.RequestHeader",
1125
- name: "header",
1126
- type: "tuple",
1127
- },
1128
- {
1129
- internalType: "uint256",
1130
- name: "targetMaxDebt",
1131
- type: "uint256",
1132
- },
1133
- {
1134
- internalType: "uint256",
1135
- name: "minPtToTokenSwapRate",
1136
- type: "uint256",
1137
- },
1138
- {
1139
- internalType: "uint256",
1140
- name: "postWithdrawMaxLTV",
1141
- type: "uint256",
1142
- },
1143
- ],
1144
- internalType: "struct IPPTLooper.DecreasePositionRequest",
1145
- name: "decreasePositionReq",
1146
- type: "tuple",
958
+ internalType: "uint256",
959
+ name: "swapBridgeSlippage",
960
+ type: "uint256",
1147
961
  },
1148
962
  {
1149
- components: [
1150
- {
1151
- components: [
1152
- {
1153
- internalType: "bytes32",
1154
- name: "boxId",
1155
- type: "bytes32",
1156
- },
1157
- {
1158
- internalType: "uint256",
1159
- name: "expiry",
1160
- type: "uint256",
1161
- },
1162
- {
1163
- internalType: "uint32",
1164
- name: "sessionNonce",
1165
- type: "uint32",
1166
- },
1167
- {
1168
- internalType: "uint32",
1169
- name: "permitNonceCap",
1170
- type: "uint32",
1171
- },
1172
- ],
1173
- internalType: "struct IPPTLooper.RequestHeader",
1174
- name: "header",
1175
- type: "tuple",
1176
- },
1177
- {
1178
- internalType: "bool",
1179
- name: "receiveOnSpoke",
1180
- type: "bool",
1181
- },
1182
- {
1183
- internalType: "address",
1184
- name: "hubTokenOut",
1185
- type: "address",
1186
- },
1187
- {
1188
- internalType: "address",
1189
- name: "dstTokenOut",
1190
- type: "address",
1191
- },
1192
- {
1193
- internalType: "uint256",
1194
- name: "minTokenOut",
1195
- type: "uint256",
1196
- },
1197
- ],
1198
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllRequest",
1199
- name: "swapBridgeWithdrawAllReq",
1200
- type: "tuple",
963
+ internalType: "bytes",
964
+ name: "offchainMetadata",
965
+ type: "bytes",
1201
966
  },
1202
967
  ],
1203
- internalType: "struct IPPTLooper.BatchDecPosThenWithdrawRequest",
1204
- name: "req",
968
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
969
+ name: "header",
1205
970
  type: "tuple",
1206
971
  },
1207
972
  ],
1208
- name: "hashTyped_BatchDecPosThenWithdrawReq",
973
+ name: "hashRaw",
1209
974
  outputs: [
1210
975
  {
1211
976
  internalType: "bytes32",
@@ -1213,7 +978,7 @@ const _abi = [
1213
978
  type: "bytes32",
1214
979
  },
1215
980
  ],
1216
- stateMutability: "view",
981
+ stateMutability: "pure",
1217
982
  type: "function",
1218
983
  },
1219
984
  {
@@ -1229,51 +994,45 @@ const _abi = [
1229
994
  },
1230
995
  {
1231
996
  internalType: "bytes32",
1232
- name: "boxId",
1233
- type: "bytes32",
1234
- },
1235
- {
1236
- internalType: "uint256",
1237
- name: "expiry",
1238
- type: "uint256",
1239
- },
1240
- {
1241
- internalType: "bytes32",
1242
- name: "ownerSigHash",
1243
- type: "bytes32",
1244
- },
1245
- {
1246
- internalType: "uint256",
1247
- name: "nonce",
1248
- type: "uint256",
1249
- },
1250
- ],
1251
- internalType: "struct IPPTLooper.BoxPermit",
1252
- name: "permit",
1253
- type: "tuple",
1254
- },
1255
- {
1256
- components: [
1257
- {
1258
- internalType: "address",
1259
- name: "extRouter",
1260
- type: "address",
997
+ name: "boxId",
998
+ type: "bytes32",
1261
999
  },
1262
1000
  {
1263
- internalType: "address",
1264
- name: "approve",
1265
- type: "address",
1001
+ internalType: "uint256",
1002
+ name: "expiry",
1003
+ type: "uint256",
1266
1004
  },
1267
1005
  {
1268
- internalType: "bytes",
1269
- name: "callData",
1270
- type: "bytes",
1006
+ internalType: "uint256",
1007
+ name: "nonce",
1008
+ type: "uint256",
1271
1009
  },
1272
1010
  ],
1273
- internalType: "struct IPPTLooper.BoxApprovedCall",
1274
- name: "swap",
1011
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
1012
+ name: "permit",
1275
1013
  type: "tuple",
1276
1014
  },
1015
+ ],
1016
+ internalType: "struct IPPTLooperEIP712Types.ClaimMMRewardsMessage",
1017
+ name: "ms",
1018
+ type: "tuple",
1019
+ },
1020
+ ],
1021
+ name: "hashRaw",
1022
+ outputs: [
1023
+ {
1024
+ internalType: "bytes32",
1025
+ name: "",
1026
+ type: "bytes32",
1027
+ },
1028
+ ],
1029
+ stateMutability: "pure",
1030
+ type: "function",
1031
+ },
1032
+ {
1033
+ inputs: [
1034
+ {
1035
+ components: [
1277
1036
  {
1278
1037
  components: [
1279
1038
  {
@@ -1292,47 +1051,68 @@ const _abi = [
1292
1051
  type: "bytes",
1293
1052
  },
1294
1053
  ],
1295
- internalType: "struct IPPTLooper.BoxApprovedCall",
1296
- name: "bridge",
1054
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
1055
+ name: "call",
1297
1056
  type: "tuple",
1298
1057
  },
1299
1058
  {
1300
1059
  internalType: "uint256",
1301
- name: "maxBridgeAmount",
1060
+ name: "maxAmount",
1302
1061
  type: "uint256",
1303
1062
  },
1304
1063
  {
1305
1064
  internalType: "uint256",
1306
- name: "bridgeNativeFee",
1065
+ name: "nativeFee",
1307
1066
  type: "uint256",
1308
1067
  },
1068
+ ],
1069
+ internalType: "struct IPPTLooperEIP712Types.BridgeData",
1070
+ name: "bridge",
1071
+ type: "tuple",
1072
+ },
1073
+ ],
1074
+ name: "hashRaw",
1075
+ outputs: [
1076
+ {
1077
+ internalType: "bytes32",
1078
+ name: "",
1079
+ type: "bytes32",
1080
+ },
1081
+ ],
1082
+ stateMutability: "pure",
1083
+ type: "function",
1084
+ },
1085
+ {
1086
+ inputs: [
1087
+ {
1088
+ components: [
1309
1089
  {
1310
- internalType: "uint256",
1311
- name: "minDebtRepaid",
1312
- type: "uint256",
1090
+ internalType: "address",
1091
+ name: "owner",
1092
+ type: "address",
1313
1093
  },
1314
1094
  {
1315
- internalType: "uint256",
1316
- name: "amountPtWithdrawn",
1317
- type: "uint256",
1095
+ internalType: "bytes32",
1096
+ name: "boxId",
1097
+ type: "bytes32",
1318
1098
  },
1319
1099
  {
1320
1100
  internalType: "uint256",
1321
- name: "minPtWithdrawn",
1101
+ name: "expiry",
1322
1102
  type: "uint256",
1323
1103
  },
1324
1104
  {
1325
1105
  internalType: "uint256",
1326
- name: "postWithdrawMaxLTV",
1106
+ name: "nonce",
1327
1107
  type: "uint256",
1328
1108
  },
1329
1109
  ],
1330
- internalType: "struct IPPTLooper.DecreasePositionMessage",
1331
- name: "ms",
1110
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
1111
+ name: "permit",
1332
1112
  type: "tuple",
1333
1113
  },
1334
1114
  ],
1335
- name: "hashTyped_DecreasePositionMsg",
1115
+ name: "hashRaw",
1336
1116
  outputs: [
1337
1117
  {
1338
1118
  internalType: "bytes32",
@@ -1340,7 +1120,7 @@ const _abi = [
1340
1120
  type: "bytes32",
1341
1121
  },
1342
1122
  ],
1343
- stateMutability: "view",
1123
+ stateMutability: "pure",
1344
1124
  type: "function",
1345
1125
  },
1346
1126
  {
@@ -1369,33 +1149,43 @@ const _abi = [
1369
1149
  name: "permitNonceCap",
1370
1150
  type: "uint32",
1371
1151
  },
1152
+ {
1153
+ internalType: "uint256",
1154
+ name: "swapBridgeSlippage",
1155
+ type: "uint256",
1156
+ },
1157
+ {
1158
+ internalType: "bytes",
1159
+ name: "offchainMetadata",
1160
+ type: "bytes",
1161
+ },
1372
1162
  ],
1373
- internalType: "struct IPPTLooper.RequestHeader",
1163
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
1374
1164
  name: "header",
1375
1165
  type: "tuple",
1376
1166
  },
1377
1167
  {
1378
- internalType: "uint256",
1379
- name: "targetMaxDebt",
1380
- type: "uint256",
1168
+ internalType: "address",
1169
+ name: "extRewardController",
1170
+ type: "address",
1381
1171
  },
1382
1172
  {
1383
- internalType: "uint256",
1384
- name: "minPtToTokenSwapRate",
1385
- type: "uint256",
1173
+ internalType: "bytes",
1174
+ name: "data",
1175
+ type: "bytes",
1386
1176
  },
1387
1177
  {
1388
- internalType: "uint256",
1389
- name: "postWithdrawMaxLTV",
1390
- type: "uint256",
1178
+ internalType: "address[]",
1179
+ name: "rewardTokens",
1180
+ type: "address[]",
1391
1181
  },
1392
1182
  ],
1393
- internalType: "struct IPPTLooper.DecreasePositionRequest",
1183
+ internalType: "struct IPPTLooperEIP712Types.ClaimMMRewardsRequest",
1394
1184
  name: "req",
1395
1185
  type: "tuple",
1396
1186
  },
1397
1187
  ],
1398
- name: "hashTyped_DecreasePositionReq",
1188
+ name: "hashRaw",
1399
1189
  outputs: [
1400
1190
  {
1401
1191
  internalType: "bytes32",
@@ -1403,7 +1193,7 @@ const _abi = [
1403
1193
  type: "bytes32",
1404
1194
  },
1405
1195
  ],
1406
- stateMutability: "view",
1196
+ stateMutability: "pure",
1407
1197
  type: "function",
1408
1198
  },
1409
1199
  {
@@ -1412,11 +1202,6 @@ const _abi = [
1412
1202
  components: [
1413
1203
  {
1414
1204
  components: [
1415
- {
1416
- internalType: "address",
1417
- name: "owner",
1418
- type: "address",
1419
- },
1420
1205
  {
1421
1206
  internalType: "bytes32",
1422
1207
  name: "boxId",
@@ -1428,106 +1213,162 @@ const _abi = [
1428
1213
  type: "uint256",
1429
1214
  },
1430
1215
  {
1431
- internalType: "bytes32",
1432
- name: "ownerSigHash",
1433
- type: "bytes32",
1434
- },
1435
- {
1436
- internalType: "uint256",
1437
- name: "nonce",
1438
- type: "uint256",
1216
+ internalType: "uint32",
1217
+ name: "sessionNonce",
1218
+ type: "uint32",
1439
1219
  },
1440
- ],
1441
- internalType: "struct IPPTLooper.BoxPermit",
1442
- name: "permit",
1443
- type: "tuple",
1444
- },
1445
- {
1446
- components: [
1447
1220
  {
1448
- internalType: "address",
1449
- name: "extRouter",
1450
- type: "address",
1221
+ internalType: "uint32",
1222
+ name: "permitNonceCap",
1223
+ type: "uint32",
1451
1224
  },
1452
1225
  {
1453
- internalType: "address",
1454
- name: "approve",
1455
- type: "address",
1226
+ internalType: "uint256",
1227
+ name: "swapBridgeSlippage",
1228
+ type: "uint256",
1456
1229
  },
1457
1230
  {
1458
1231
  internalType: "bytes",
1459
- name: "callData",
1232
+ name: "offchainMetadata",
1460
1233
  type: "bytes",
1461
1234
  },
1462
1235
  ],
1463
- internalType: "struct IPPTLooper.BoxApprovedCall",
1464
- name: "swap",
1236
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
1237
+ name: "header",
1465
1238
  type: "tuple",
1466
1239
  },
1467
1240
  {
1468
1241
  internalType: "uint256",
1469
- name: "debtTokenFee",
1242
+ name: "minPtToDebtSwapRate",
1470
1243
  type: "uint256",
1471
1244
  },
1245
+ {
1246
+ internalType: "uint256",
1247
+ name: "postWithdrawMaxLTV",
1248
+ type: "uint256",
1249
+ },
1250
+ ],
1251
+ internalType: "struct IPPTLooperEIP712Types.DecreasePositionRequest",
1252
+ name: "req",
1253
+ type: "tuple",
1254
+ },
1255
+ ],
1256
+ name: "hashRaw",
1257
+ outputs: [
1258
+ {
1259
+ internalType: "bytes32",
1260
+ name: "",
1261
+ type: "bytes32",
1262
+ },
1263
+ ],
1264
+ stateMutability: "pure",
1265
+ type: "function",
1266
+ },
1267
+ {
1268
+ inputs: [
1269
+ {
1270
+ components: [
1472
1271
  {
1473
1272
  components: [
1474
1273
  {
1475
- internalType: "address",
1476
- name: "extRouter",
1477
- type: "address",
1274
+ internalType: "bytes32",
1275
+ name: "boxId",
1276
+ type: "bytes32",
1478
1277
  },
1479
1278
  {
1480
- internalType: "address",
1481
- name: "approve",
1482
- type: "address",
1279
+ internalType: "uint256",
1280
+ name: "expiry",
1281
+ type: "uint256",
1282
+ },
1283
+ {
1284
+ internalType: "uint32",
1285
+ name: "sessionNonce",
1286
+ type: "uint32",
1287
+ },
1288
+ {
1289
+ internalType: "uint32",
1290
+ name: "permitNonceCap",
1291
+ type: "uint32",
1292
+ },
1293
+ {
1294
+ internalType: "uint256",
1295
+ name: "swapBridgeSlippage",
1296
+ type: "uint256",
1483
1297
  },
1484
1298
  {
1485
1299
  internalType: "bytes",
1486
- name: "callData",
1300
+ name: "offchainMetadata",
1487
1301
  type: "bytes",
1488
1302
  },
1489
1303
  ],
1490
- internalType: "struct IPPTLooper.BoxApprovedCall",
1491
- name: "bridge",
1304
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
1305
+ name: "header",
1492
1306
  type: "tuple",
1493
1307
  },
1494
1308
  {
1495
- internalType: "uint256",
1496
- name: "maxBridgeAmount",
1497
- type: "uint256",
1309
+ internalType: "bool",
1310
+ name: "receiveOnSpoke",
1311
+ type: "bool",
1498
1312
  },
1499
1313
  {
1500
- internalType: "uint256",
1501
- name: "bridgeNativeFee",
1502
- type: "uint256",
1314
+ internalType: "address",
1315
+ name: "hubTokenOut",
1316
+ type: "address",
1503
1317
  },
1504
1318
  {
1505
- internalType: "uint256",
1506
- name: "minPtLent",
1507
- type: "uint256",
1319
+ internalType: "address",
1320
+ name: "dstTokenOut",
1321
+ type: "address",
1508
1322
  },
1509
1323
  {
1510
1324
  internalType: "uint256",
1511
- name: "amountDebtBorrowed",
1325
+ name: "minTokenWithdrawn",
1512
1326
  type: "uint256",
1513
1327
  },
1328
+ ],
1329
+ internalType:
1330
+ "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllRequest",
1331
+ name: "req",
1332
+ type: "tuple",
1333
+ },
1334
+ ],
1335
+ name: "hashRaw",
1336
+ outputs: [
1337
+ {
1338
+ internalType: "bytes32",
1339
+ name: "",
1340
+ type: "bytes32",
1341
+ },
1342
+ ],
1343
+ stateMutability: "pure",
1344
+ type: "function",
1345
+ },
1346
+ {
1347
+ inputs: [
1348
+ {
1349
+ components: [
1514
1350
  {
1515
- internalType: "uint256",
1516
- name: "minDebtBorrowed",
1517
- type: "uint256",
1351
+ internalType: "address",
1352
+ name: "extRouter",
1353
+ type: "address",
1518
1354
  },
1519
1355
  {
1520
- internalType: "uint256",
1521
- name: "postBorrowMaxLTV",
1522
- type: "uint256",
1356
+ internalType: "address",
1357
+ name: "approve",
1358
+ type: "address",
1359
+ },
1360
+ {
1361
+ internalType: "bytes",
1362
+ name: "callData",
1363
+ type: "bytes",
1523
1364
  },
1524
1365
  ],
1525
- internalType: "struct IPPTLooper.IncreasePositionMessage",
1526
- name: "ms",
1366
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
1367
+ name: "call",
1527
1368
  type: "tuple",
1528
1369
  },
1529
1370
  ],
1530
- name: "hashTyped_IncreasePositionMsg",
1371
+ name: "hashRaw",
1531
1372
  outputs: [
1532
1373
  {
1533
1374
  internalType: "bytes32",
@@ -1535,7 +1376,7 @@ const _abi = [
1535
1376
  type: "bytes32",
1536
1377
  },
1537
1378
  ],
1538
- stateMutability: "view",
1379
+ stateMutability: "pure",
1539
1380
  type: "function",
1540
1381
  },
1541
1382
  {
@@ -1564,38 +1405,38 @@ const _abi = [
1564
1405
  name: "permitNonceCap",
1565
1406
  type: "uint32",
1566
1407
  },
1408
+ {
1409
+ internalType: "uint256",
1410
+ name: "swapBridgeSlippage",
1411
+ type: "uint256",
1412
+ },
1413
+ {
1414
+ internalType: "bytes",
1415
+ name: "offchainMetadata",
1416
+ type: "bytes",
1417
+ },
1567
1418
  ],
1568
- internalType: "struct IPPTLooper.RequestHeader",
1419
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
1569
1420
  name: "header",
1570
1421
  type: "tuple",
1571
1422
  },
1572
1423
  {
1573
1424
  internalType: "uint256",
1574
- name: "targetMinPt",
1575
- type: "uint256",
1576
- },
1577
- {
1578
- internalType: "uint256",
1579
- name: "minTokenToPtSwapRate",
1580
- type: "uint256",
1581
- },
1582
- {
1583
- internalType: "uint256",
1584
- name: "postBorrowMaxLTV",
1425
+ name: "minPtToDebtSwapRate",
1585
1426
  type: "uint256",
1586
1427
  },
1587
- {
1588
- internalType: "bool",
1589
- name: "isZeroPriceImpact",
1590
- type: "bool",
1428
+ {
1429
+ internalType: "uint256",
1430
+ name: "postWithdrawMaxLTV",
1431
+ type: "uint256",
1591
1432
  },
1592
1433
  ],
1593
- internalType: "struct IPPTLooper.IncreasePositionRequest",
1434
+ internalType: "struct IPPTLooperEIP712Types.DecreasePositionRequest",
1594
1435
  name: "req",
1595
1436
  type: "tuple",
1596
1437
  },
1597
1438
  ],
1598
- name: "hashTyped_IncreasePositionReq",
1439
+ name: "hashTyped",
1599
1440
  outputs: [
1600
1441
  {
1601
1442
  internalType: "bytes32",
@@ -1627,18 +1468,13 @@ const _abi = [
1627
1468
  name: "expiry",
1628
1469
  type: "uint256",
1629
1470
  },
1630
- {
1631
- internalType: "bytes32",
1632
- name: "ownerSigHash",
1633
- type: "bytes32",
1634
- },
1635
1471
  {
1636
1472
  internalType: "uint256",
1637
1473
  name: "nonce",
1638
1474
  type: "uint256",
1639
1475
  },
1640
1476
  ],
1641
- internalType: "struct IPPTLooper.BoxPermit",
1477
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
1642
1478
  name: "permit",
1643
1479
  type: "tuple",
1644
1480
  },
@@ -1660,49 +1496,66 @@ const _abi = [
1660
1496
  type: "bytes",
1661
1497
  },
1662
1498
  ],
1663
- internalType: "struct IPPTLooper.BoxApprovedCall",
1499
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
1664
1500
  name: "swap",
1665
1501
  type: "tuple",
1666
1502
  },
1667
1503
  {
1668
1504
  components: [
1669
1505
  {
1670
- internalType: "address",
1671
- name: "extRouter",
1672
- type: "address",
1506
+ components: [
1507
+ {
1508
+ internalType: "address",
1509
+ name: "extRouter",
1510
+ type: "address",
1511
+ },
1512
+ {
1513
+ internalType: "address",
1514
+ name: "approve",
1515
+ type: "address",
1516
+ },
1517
+ {
1518
+ internalType: "bytes",
1519
+ name: "callData",
1520
+ type: "bytes",
1521
+ },
1522
+ ],
1523
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
1524
+ name: "call",
1525
+ type: "tuple",
1673
1526
  },
1674
1527
  {
1675
- internalType: "address",
1676
- name: "approve",
1677
- type: "address",
1528
+ internalType: "uint256",
1529
+ name: "maxAmount",
1530
+ type: "uint256",
1678
1531
  },
1679
1532
  {
1680
- internalType: "bytes",
1681
- name: "callData",
1682
- type: "bytes",
1533
+ internalType: "uint256",
1534
+ name: "nativeFee",
1535
+ type: "uint256",
1683
1536
  },
1684
1537
  ],
1685
- internalType: "struct IPPTLooper.BoxApprovedCall",
1538
+ internalType: "struct IPPTLooperEIP712Types.BridgeData",
1686
1539
  name: "bridge",
1687
1540
  type: "tuple",
1688
1541
  },
1689
1542
  {
1690
1543
  internalType: "uint256",
1691
- name: "maxBridgeAmount",
1544
+ name: "amountPtWithdrawn",
1692
1545
  type: "uint256",
1693
1546
  },
1694
1547
  {
1695
- internalType: "uint256",
1696
- name: "bridgeNativeFee",
1697
- type: "uint256",
1548
+ internalType: "bytes",
1549
+ name: "postStateCheckData",
1550
+ type: "bytes",
1698
1551
  },
1699
1552
  ],
1700
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllMessage",
1553
+ internalType: "struct IPPTLooperEIP712Types.DecreasePositionMessage",
1701
1554
  name: "ms",
1702
1555
  type: "tuple",
1703
1556
  },
1704
1557
  ],
1705
- name: "hashTyped_SwapBridgeWithdrawAllMsg",
1558
+ name: "hashTyped",
1706
1559
  outputs: [
1707
1560
  {
1708
1561
  internalType: "bytes32",
@@ -1719,6 +1572,11 @@ const _abi = [
1719
1572
  components: [
1720
1573
  {
1721
1574
  components: [
1575
+ {
1576
+ internalType: "address",
1577
+ name: "owner",
1578
+ type: "address",
1579
+ },
1722
1580
  {
1723
1581
  internalType: "bytes32",
1724
1582
  name: "boxId",
@@ -1730,47 +1588,98 @@ const _abi = [
1730
1588
  type: "uint256",
1731
1589
  },
1732
1590
  {
1733
- internalType: "uint32",
1734
- name: "sessionNonce",
1735
- type: "uint32",
1736
- },
1737
- {
1738
- internalType: "uint32",
1739
- name: "permitNonceCap",
1740
- type: "uint32",
1591
+ internalType: "uint256",
1592
+ name: "nonce",
1593
+ type: "uint256",
1741
1594
  },
1742
1595
  ],
1743
- internalType: "struct IPPTLooper.RequestHeader",
1744
- name: "header",
1596
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
1597
+ name: "permit",
1745
1598
  type: "tuple",
1746
1599
  },
1747
1600
  {
1748
- internalType: "bool",
1749
- name: "receiveOnSpoke",
1750
- type: "bool",
1601
+ components: [
1602
+ {
1603
+ internalType: "address",
1604
+ name: "extRouter",
1605
+ type: "address",
1606
+ },
1607
+ {
1608
+ internalType: "address",
1609
+ name: "approve",
1610
+ type: "address",
1611
+ },
1612
+ {
1613
+ internalType: "bytes",
1614
+ name: "callData",
1615
+ type: "bytes",
1616
+ },
1617
+ ],
1618
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
1619
+ name: "swap",
1620
+ type: "tuple",
1751
1621
  },
1752
1622
  {
1753
- internalType: "address",
1754
- name: "hubTokenOut",
1755
- type: "address",
1623
+ internalType: "uint256",
1624
+ name: "fee",
1625
+ type: "uint256",
1756
1626
  },
1757
1627
  {
1758
- internalType: "address",
1759
- name: "dstTokenOut",
1760
- type: "address",
1628
+ components: [
1629
+ {
1630
+ components: [
1631
+ {
1632
+ internalType: "address",
1633
+ name: "extRouter",
1634
+ type: "address",
1635
+ },
1636
+ {
1637
+ internalType: "address",
1638
+ name: "approve",
1639
+ type: "address",
1640
+ },
1641
+ {
1642
+ internalType: "bytes",
1643
+ name: "callData",
1644
+ type: "bytes",
1645
+ },
1646
+ ],
1647
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
1648
+ name: "call",
1649
+ type: "tuple",
1650
+ },
1651
+ {
1652
+ internalType: "uint256",
1653
+ name: "maxAmount",
1654
+ type: "uint256",
1655
+ },
1656
+ {
1657
+ internalType: "uint256",
1658
+ name: "nativeFee",
1659
+ type: "uint256",
1660
+ },
1661
+ ],
1662
+ internalType: "struct IPPTLooperEIP712Types.BridgeData",
1663
+ name: "bridge",
1664
+ type: "tuple",
1761
1665
  },
1762
1666
  {
1763
1667
  internalType: "uint256",
1764
- name: "minTokenOut",
1668
+ name: "amountDebtBorrowed",
1765
1669
  type: "uint256",
1766
1670
  },
1671
+ {
1672
+ internalType: "bytes",
1673
+ name: "postStateCheckData",
1674
+ type: "bytes",
1675
+ },
1767
1676
  ],
1768
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllRequest",
1769
- name: "req",
1677
+ internalType: "struct IPPTLooperEIP712Types.IncreasePositionMessage",
1678
+ name: "ms",
1770
1679
  type: "tuple",
1771
1680
  },
1772
1681
  ],
1773
- name: "hashTyped_SwapBridgeWithdrawAllReq",
1682
+ name: "hashTyped",
1774
1683
  outputs: [
1775
1684
  {
1776
1685
  internalType: "bytes32",
@@ -1787,11 +1696,6 @@ const _abi = [
1787
1696
  components: [
1788
1697
  {
1789
1698
  components: [
1790
- {
1791
- internalType: "address",
1792
- name: "owner",
1793
- type: "address",
1794
- },
1795
1699
  {
1796
1700
  internalType: "bytes32",
1797
1701
  name: "boxId",
@@ -1803,32 +1707,58 @@ const _abi = [
1803
1707
  type: "uint256",
1804
1708
  },
1805
1709
  {
1806
- internalType: "bytes32",
1807
- name: "ownerSigHash",
1808
- type: "bytes32",
1710
+ internalType: "uint32",
1711
+ name: "sessionNonce",
1712
+ type: "uint32",
1713
+ },
1714
+ {
1715
+ internalType: "uint32",
1716
+ name: "permitNonceCap",
1717
+ type: "uint32",
1809
1718
  },
1810
1719
  {
1811
1720
  internalType: "uint256",
1812
- name: "nonce",
1721
+ name: "swapBridgeSlippage",
1813
1722
  type: "uint256",
1814
1723
  },
1724
+ {
1725
+ internalType: "bytes",
1726
+ name: "offchainMetadata",
1727
+ type: "bytes",
1728
+ },
1815
1729
  ],
1816
- internalType: "struct IPPTLooper.BoxPermit",
1817
- name: "permit",
1730
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
1731
+ name: "header",
1818
1732
  type: "tuple",
1819
1733
  },
1820
1734
  {
1821
1735
  internalType: "bool",
1822
- name: "isInitiate",
1736
+ name: "receiveOnSpoke",
1823
1737
  type: "bool",
1824
1738
  },
1739
+ {
1740
+ internalType: "address",
1741
+ name: "hubTokenOut",
1742
+ type: "address",
1743
+ },
1744
+ {
1745
+ internalType: "address",
1746
+ name: "dstTokenOut",
1747
+ type: "address",
1748
+ },
1749
+ {
1750
+ internalType: "uint256",
1751
+ name: "minTokenWithdrawn",
1752
+ type: "uint256",
1753
+ },
1825
1754
  ],
1826
- internalType: "struct IPPTLooper.UserRequestStateSetMessage",
1827
- name: "ms",
1755
+ internalType:
1756
+ "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllRequest",
1757
+ name: "req",
1828
1758
  type: "tuple",
1829
1759
  },
1830
1760
  ],
1831
- name: "hashTyped_UserRequestStateSetMsg",
1761
+ name: "hashTyped",
1832
1762
  outputs: [
1833
1763
  {
1834
1764
  internalType: "bytes32",
@@ -1845,11 +1775,6 @@ const _abi = [
1845
1775
  components: [
1846
1776
  {
1847
1777
  components: [
1848
- {
1849
- internalType: "address",
1850
- name: "owner",
1851
- type: "address",
1852
- },
1853
1778
  {
1854
1779
  internalType: "bytes32",
1855
1780
  name: "boxId",
@@ -1861,109 +1786,64 @@ const _abi = [
1861
1786
  type: "uint256",
1862
1787
  },
1863
1788
  {
1864
- internalType: "bytes32",
1865
- name: "ownerSigHash",
1866
- type: "bytes32",
1867
- },
1868
- {
1869
- internalType: "uint256",
1870
- name: "nonce",
1871
- type: "uint256",
1872
- },
1873
- ],
1874
- internalType: "struct IPPTLooper.BoxPermit",
1875
- name: "permit",
1876
- type: "tuple",
1877
- },
1878
- {
1879
- components: [
1880
- {
1881
- internalType: "address",
1882
- name: "extRouter",
1883
- type: "address",
1884
- },
1885
- {
1886
- internalType: "address",
1887
- name: "approve",
1888
- type: "address",
1889
- },
1890
- {
1891
- internalType: "bytes",
1892
- name: "callData",
1893
- type: "bytes",
1789
+ internalType: "uint32",
1790
+ name: "sessionNonce",
1791
+ type: "uint32",
1894
1792
  },
1895
- ],
1896
- internalType: "struct IPPTLooper.BoxApprovedCall",
1897
- name: "swap",
1898
- type: "tuple",
1899
- },
1900
- {
1901
- internalType: "uint256",
1902
- name: "debtTokenFee",
1903
- type: "uint256",
1904
- },
1905
- {
1906
- components: [
1907
1793
  {
1908
- internalType: "address",
1909
- name: "extRouter",
1910
- type: "address",
1794
+ internalType: "uint32",
1795
+ name: "permitNonceCap",
1796
+ type: "uint32",
1911
1797
  },
1912
1798
  {
1913
- internalType: "address",
1914
- name: "approve",
1915
- type: "address",
1799
+ internalType: "uint256",
1800
+ name: "swapBridgeSlippage",
1801
+ type: "uint256",
1916
1802
  },
1917
1803
  {
1918
1804
  internalType: "bytes",
1919
- name: "callData",
1805
+ name: "offchainMetadata",
1920
1806
  type: "bytes",
1921
1807
  },
1922
1808
  ],
1923
- internalType: "struct IPPTLooper.BoxApprovedCall",
1924
- name: "bridge",
1809
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
1810
+ name: "header",
1925
1811
  type: "tuple",
1926
1812
  },
1927
1813
  {
1928
- internalType: "uint256",
1929
- name: "maxBridgeAmount",
1930
- type: "uint256",
1931
- },
1932
- {
1933
- internalType: "uint256",
1934
- name: "bridgeNativeFee",
1935
- type: "uint256",
1936
- },
1937
- {
1938
- internalType: "uint256",
1939
- name: "minPtLent",
1940
- type: "uint256",
1941
- },
1942
- {
1943
- internalType: "uint256",
1944
- name: "amountDebtBorrowed",
1945
- type: "uint256",
1814
+ internalType: "address",
1815
+ name: "extRewardController",
1816
+ type: "address",
1946
1817
  },
1947
1818
  {
1948
- internalType: "uint256",
1949
- name: "minDebtBorrowed",
1950
- type: "uint256",
1819
+ internalType: "bytes",
1820
+ name: "data",
1821
+ type: "bytes",
1951
1822
  },
1952
1823
  {
1953
- internalType: "uint256",
1954
- name: "postBorrowMaxLTV",
1955
- type: "uint256",
1824
+ internalType: "address[]",
1825
+ name: "rewardTokens",
1826
+ type: "address[]",
1956
1827
  },
1957
1828
  ],
1958
- internalType: "struct IPPTLooper.IncreasePositionMessage",
1959
- name: "ms",
1829
+ internalType: "struct IPPTLooperEIP712Types.ClaimMMRewardsRequest",
1830
+ name: "req",
1960
1831
  type: "tuple",
1961
1832
  },
1833
+ ],
1834
+ name: "hashTyped",
1835
+ outputs: [
1962
1836
  {
1963
- internalType: "bytes",
1964
- name: "proposerSig",
1965
- type: "bytes",
1837
+ internalType: "bytes32",
1838
+ name: "",
1839
+ type: "bytes32",
1966
1840
  },
1841
+ ],
1842
+ stateMutability: "view",
1843
+ type: "function",
1844
+ },
1845
+ {
1846
+ inputs: [
1967
1847
  {
1968
1848
  components: [
1969
1849
  {
@@ -1988,19 +1868,34 @@ const _abi = [
1988
1868
  name: "permitNonceCap",
1989
1869
  type: "uint32",
1990
1870
  },
1871
+ {
1872
+ internalType: "uint256",
1873
+ name: "swapBridgeSlippage",
1874
+ type: "uint256",
1875
+ },
1876
+ {
1877
+ internalType: "bytes",
1878
+ name: "offchainMetadata",
1879
+ type: "bytes",
1880
+ },
1991
1881
  ],
1992
- internalType: "struct IPPTLooper.RequestHeader",
1882
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
1993
1883
  name: "header",
1994
1884
  type: "tuple",
1995
1885
  },
1886
+ {
1887
+ internalType: "address",
1888
+ name: "initTokenIn",
1889
+ type: "address",
1890
+ },
1996
1891
  {
1997
1892
  internalType: "uint256",
1998
- name: "targetMinPt",
1893
+ name: "initMinToPtSwapRate",
1999
1894
  type: "uint256",
2000
1895
  },
2001
1896
  {
2002
1897
  internalType: "uint256",
2003
- name: "minTokenToPtSwapRate",
1898
+ name: "minDebtToPtSwapRate",
2004
1899
  type: "uint256",
2005
1900
  },
2006
1901
  {
@@ -2013,33 +1908,26 @@ const _abi = [
2013
1908
  name: "isZeroPriceImpact",
2014
1909
  type: "bool",
2015
1910
  },
1911
+ {
1912
+ internalType: "uint256",
1913
+ name: "maxFeeRate",
1914
+ type: "uint256",
1915
+ },
2016
1916
  ],
2017
- internalType: "struct IPPTLooper.IncreasePositionRequest",
1917
+ internalType: "struct IPPTLooperEIP712Types.IncreasePositionRequest",
2018
1918
  name: "req",
2019
1919
  type: "tuple",
2020
1920
  },
2021
- {
2022
- internalType: "bytes",
2023
- name: "ownerSig",
2024
- type: "bytes",
2025
- },
2026
1921
  ],
2027
- name: "increaseLoopPosition",
2028
- outputs: [],
2029
- stateMutability: "payable",
2030
- type: "function",
2031
- },
2032
- {
2033
- inputs: [
1922
+ name: "hashTyped",
1923
+ outputs: [
2034
1924
  {
2035
- internalType: "address",
2036
- name: "_owner",
2037
- type: "address",
1925
+ internalType: "bytes32",
1926
+ name: "",
1927
+ type: "bytes32",
2038
1928
  },
2039
1929
  ],
2040
- name: "initialize",
2041
- outputs: [],
2042
- stateMutability: "nonpayable",
1930
+ stateMutability: "view",
2043
1931
  type: "function",
2044
1932
  },
2045
1933
  {
@@ -2047,128 +1935,116 @@ const _abi = [
2047
1935
  {
2048
1936
  components: [
2049
1937
  {
2050
- internalType: "bool",
2051
- name: "allowFailure",
2052
- type: "bool",
1938
+ components: [
1939
+ {
1940
+ internalType: "address",
1941
+ name: "owner",
1942
+ type: "address",
1943
+ },
1944
+ {
1945
+ internalType: "bytes32",
1946
+ name: "boxId",
1947
+ type: "bytes32",
1948
+ },
1949
+ {
1950
+ internalType: "uint256",
1951
+ name: "expiry",
1952
+ type: "uint256",
1953
+ },
1954
+ {
1955
+ internalType: "uint256",
1956
+ name: "nonce",
1957
+ type: "uint256",
1958
+ },
1959
+ ],
1960
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
1961
+ name: "permit",
1962
+ type: "tuple",
2053
1963
  },
2054
1964
  {
2055
- internalType: "bytes",
2056
- name: "callData",
2057
- type: "bytes",
1965
+ components: [
1966
+ {
1967
+ internalType: "address",
1968
+ name: "extRouter",
1969
+ type: "address",
1970
+ },
1971
+ {
1972
+ internalType: "address",
1973
+ name: "approve",
1974
+ type: "address",
1975
+ },
1976
+ {
1977
+ internalType: "bytes",
1978
+ name: "callData",
1979
+ type: "bytes",
1980
+ },
1981
+ ],
1982
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
1983
+ name: "swap",
1984
+ type: "tuple",
2058
1985
  },
2059
- ],
2060
- internalType: "struct IMulticall.Call3[]",
2061
- name: "calls",
2062
- type: "tuple[]",
2063
- },
2064
- ],
2065
- name: "multicall",
2066
- outputs: [
2067
- {
2068
- components: [
2069
1986
  {
2070
- internalType: "bool",
2071
- name: "success",
2072
- type: "bool",
1987
+ components: [
1988
+ {
1989
+ components: [
1990
+ {
1991
+ internalType: "address",
1992
+ name: "extRouter",
1993
+ type: "address",
1994
+ },
1995
+ {
1996
+ internalType: "address",
1997
+ name: "approve",
1998
+ type: "address",
1999
+ },
2000
+ {
2001
+ internalType: "bytes",
2002
+ name: "callData",
2003
+ type: "bytes",
2004
+ },
2005
+ ],
2006
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
2007
+ name: "call",
2008
+ type: "tuple",
2009
+ },
2010
+ {
2011
+ internalType: "uint256",
2012
+ name: "maxAmount",
2013
+ type: "uint256",
2014
+ },
2015
+ {
2016
+ internalType: "uint256",
2017
+ name: "nativeFee",
2018
+ type: "uint256",
2019
+ },
2020
+ ],
2021
+ internalType: "struct IPPTLooperEIP712Types.BridgeData",
2022
+ name: "bridge",
2023
+ type: "tuple",
2073
2024
  },
2074
2025
  {
2075
2026
  internalType: "bytes",
2076
- name: "returnData",
2027
+ name: "postStateCheckData",
2077
2028
  type: "bytes",
2078
2029
  },
2079
2030
  ],
2080
- internalType: "struct IMulticall.Result[]",
2081
- name: "res",
2082
- type: "tuple[]",
2083
- },
2084
- ],
2085
- stateMutability: "payable",
2086
- type: "function",
2087
- },
2088
- {
2089
- inputs: [],
2090
- name: "owner",
2091
- outputs: [
2092
- {
2093
- internalType: "address",
2094
- name: "",
2095
- type: "address",
2096
- },
2097
- ],
2098
- stateMutability: "view",
2099
- type: "function",
2100
- },
2101
- {
2102
- inputs: [],
2103
- name: "pendingOwner",
2104
- outputs: [
2105
- {
2106
- internalType: "address",
2107
- name: "",
2108
- type: "address",
2031
+ internalType:
2032
+ "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllMessage",
2033
+ name: "ms",
2034
+ type: "tuple",
2109
2035
  },
2110
2036
  ],
2111
- stateMutability: "view",
2112
- type: "function",
2113
- },
2114
- {
2115
- inputs: [],
2116
- name: "proposer",
2037
+ name: "hashTyped",
2117
2038
  outputs: [
2118
- {
2119
- internalType: "address",
2120
- name: "",
2121
- type: "address",
2122
- },
2123
- ],
2124
- stateMutability: "view",
2125
- type: "function",
2126
- },
2127
- {
2128
- inputs: [
2129
2039
  {
2130
2040
  internalType: "bytes32",
2131
- name: "ownerSigHash",
2041
+ name: "",
2132
2042
  type: "bytes32",
2133
2043
  },
2134
2044
  ],
2135
- name: "proposerNonce",
2136
- outputs: [
2137
- {
2138
- internalType: "uint256",
2139
- name: "nonce",
2140
- type: "uint256",
2141
- },
2142
- ],
2143
2045
  stateMutability: "view",
2144
2046
  type: "function",
2145
2047
  },
2146
- {
2147
- inputs: [
2148
- {
2149
- internalType: "address",
2150
- name: "executor_",
2151
- type: "address",
2152
- },
2153
- ],
2154
- name: "setExecutor",
2155
- outputs: [],
2156
- stateMutability: "nonpayable",
2157
- type: "function",
2158
- },
2159
- {
2160
- inputs: [
2161
- {
2162
- internalType: "address",
2163
- name: "proposer_",
2164
- type: "address",
2165
- },
2166
- ],
2167
- name: "setProposer",
2168
- outputs: [],
2169
- stateMutability: "nonpayable",
2170
- type: "function",
2171
- },
2172
2048
  {
2173
2049
  inputs: [
2174
2050
  {
@@ -2190,40 +2066,31 @@ const _abi = [
2190
2066
  name: "expiry",
2191
2067
  type: "uint256",
2192
2068
  },
2193
- {
2194
- internalType: "bytes32",
2195
- name: "ownerSigHash",
2196
- type: "bytes32",
2197
- },
2198
2069
  {
2199
2070
  internalType: "uint256",
2200
2071
  name: "nonce",
2201
2072
  type: "uint256",
2202
2073
  },
2203
2074
  ],
2204
- internalType: "struct IPPTLooper.BoxPermit",
2075
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
2205
2076
  name: "permit",
2206
2077
  type: "tuple",
2207
2078
  },
2208
- {
2209
- internalType: "bool",
2210
- name: "isInitiate",
2211
- type: "bool",
2212
- },
2213
2079
  ],
2214
- internalType: "struct IPPTLooper.UserRequestStateSetMessage",
2080
+ internalType: "struct IPPTLooperEIP712Types.ClaimMMRewardsMessage",
2215
2081
  name: "ms",
2216
2082
  type: "tuple",
2217
2083
  },
2084
+ ],
2085
+ name: "hashTyped",
2086
+ outputs: [
2218
2087
  {
2219
- internalType: "bytes",
2220
- name: "proposerSignature",
2221
- type: "bytes",
2088
+ internalType: "bytes32",
2089
+ name: "",
2090
+ type: "bytes32",
2222
2091
  },
2223
2092
  ],
2224
- name: "setUserRequestState",
2225
- outputs: [],
2226
- stateMutability: "nonpayable",
2093
+ stateMutability: "view",
2227
2094
  type: "function",
2228
2095
  },
2229
2096
  {
@@ -2247,18 +2114,13 @@ const _abi = [
2247
2114
  name: "expiry",
2248
2115
  type: "uint256",
2249
2116
  },
2250
- {
2251
- internalType: "bytes32",
2252
- name: "ownerSigHash",
2253
- type: "bytes32",
2254
- },
2255
2117
  {
2256
2118
  internalType: "uint256",
2257
2119
  name: "nonce",
2258
2120
  type: "uint256",
2259
2121
  },
2260
2122
  ],
2261
- internalType: "struct IPPTLooper.BoxPermit",
2123
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
2262
2124
  name: "permit",
2263
2125
  type: "tuple",
2264
2126
  },
@@ -2280,173 +2142,261 @@ const _abi = [
2280
2142
  type: "bytes",
2281
2143
  },
2282
2144
  ],
2283
- internalType: "struct IPPTLooper.BoxApprovedCall",
2145
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
2284
2146
  name: "swap",
2285
2147
  type: "tuple",
2286
- },
2287
- {
2288
- components: [
2289
- {
2290
- internalType: "address",
2291
- name: "extRouter",
2292
- type: "address",
2293
- },
2294
- {
2295
- internalType: "address",
2296
- name: "approve",
2297
- type: "address",
2298
- },
2299
- {
2300
- internalType: "bytes",
2301
- name: "callData",
2302
- type: "bytes",
2303
- },
2304
- ],
2305
- internalType: "struct IPPTLooper.BoxApprovedCall",
2306
- name: "bridge",
2307
- type: "tuple",
2308
- },
2309
- {
2310
- internalType: "uint256",
2311
- name: "maxBridgeAmount",
2312
- type: "uint256",
2313
- },
2314
- {
2315
- internalType: "uint256",
2316
- name: "bridgeNativeFee",
2317
- type: "uint256",
2318
- },
2319
- ],
2320
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllMessage",
2321
- name: "ms",
2322
- type: "tuple",
2323
- },
2324
- {
2325
- internalType: "bytes",
2326
- name: "proposerSig",
2327
- type: "bytes",
2328
- },
2329
- {
2330
- components: [
2148
+ },
2149
+ {
2150
+ internalType: "uint256",
2151
+ name: "fee",
2152
+ type: "uint256",
2153
+ },
2331
2154
  {
2332
2155
  components: [
2333
2156
  {
2334
2157
  components: [
2335
2158
  {
2336
- internalType: "bytes32",
2337
- name: "boxId",
2338
- type: "bytes32",
2339
- },
2340
- {
2341
- internalType: "uint256",
2342
- name: "expiry",
2343
- type: "uint256",
2159
+ internalType: "address",
2160
+ name: "extRouter",
2161
+ type: "address",
2344
2162
  },
2345
2163
  {
2346
- internalType: "uint32",
2347
- name: "sessionNonce",
2348
- type: "uint32",
2164
+ internalType: "address",
2165
+ name: "approve",
2166
+ type: "address",
2349
2167
  },
2350
2168
  {
2351
- internalType: "uint32",
2352
- name: "permitNonceCap",
2353
- type: "uint32",
2169
+ internalType: "bytes",
2170
+ name: "callData",
2171
+ type: "bytes",
2354
2172
  },
2355
2173
  ],
2356
- internalType: "struct IPPTLooper.RequestHeader",
2357
- name: "header",
2174
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
2175
+ name: "call",
2358
2176
  type: "tuple",
2359
2177
  },
2360
2178
  {
2361
2179
  internalType: "uint256",
2362
- name: "targetMaxDebt",
2363
- type: "uint256",
2364
- },
2365
- {
2366
- internalType: "uint256",
2367
- name: "minPtToTokenSwapRate",
2180
+ name: "maxAmount",
2368
2181
  type: "uint256",
2369
2182
  },
2370
2183
  {
2371
2184
  internalType: "uint256",
2372
- name: "postWithdrawMaxLTV",
2185
+ name: "nativeFee",
2373
2186
  type: "uint256",
2374
2187
  },
2375
2188
  ],
2376
- internalType: "struct IPPTLooper.DecreasePositionRequest",
2377
- name: "decreasePositionReq",
2189
+ internalType: "struct IPPTLooperEIP712Types.BridgeData",
2190
+ name: "bridge",
2378
2191
  type: "tuple",
2379
2192
  },
2193
+ {
2194
+ internalType: "uint256",
2195
+ name: "amountDebtBorrowed",
2196
+ type: "uint256",
2197
+ },
2198
+ {
2199
+ internalType: "bytes",
2200
+ name: "postStateCheckData",
2201
+ type: "bytes",
2202
+ },
2203
+ ],
2204
+ internalType: "struct IPPTLooperEIP712Types.IncreasePositionMessage",
2205
+ name: "ms",
2206
+ type: "tuple",
2207
+ },
2208
+ {
2209
+ internalType: "bytes",
2210
+ name: "proposerSig",
2211
+ type: "bytes",
2212
+ },
2213
+ {
2214
+ components: [
2380
2215
  {
2381
2216
  components: [
2382
2217
  {
2383
- components: [
2384
- {
2385
- internalType: "bytes32",
2386
- name: "boxId",
2387
- type: "bytes32",
2388
- },
2389
- {
2390
- internalType: "uint256",
2391
- name: "expiry",
2392
- type: "uint256",
2393
- },
2394
- {
2395
- internalType: "uint32",
2396
- name: "sessionNonce",
2397
- type: "uint32",
2398
- },
2399
- {
2400
- internalType: "uint32",
2401
- name: "permitNonceCap",
2402
- type: "uint32",
2403
- },
2404
- ],
2405
- internalType: "struct IPPTLooper.RequestHeader",
2406
- name: "header",
2407
- type: "tuple",
2218
+ internalType: "bytes32",
2219
+ name: "boxId",
2220
+ type: "bytes32",
2408
2221
  },
2409
2222
  {
2410
- internalType: "bool",
2411
- name: "receiveOnSpoke",
2412
- type: "bool",
2223
+ internalType: "uint256",
2224
+ name: "expiry",
2225
+ type: "uint256",
2413
2226
  },
2414
2227
  {
2415
- internalType: "address",
2416
- name: "hubTokenOut",
2417
- type: "address",
2228
+ internalType: "uint32",
2229
+ name: "sessionNonce",
2230
+ type: "uint32",
2418
2231
  },
2419
2232
  {
2420
- internalType: "address",
2421
- name: "dstTokenOut",
2422
- type: "address",
2233
+ internalType: "uint32",
2234
+ name: "permitNonceCap",
2235
+ type: "uint32",
2423
2236
  },
2424
2237
  {
2425
2238
  internalType: "uint256",
2426
- name: "minTokenOut",
2239
+ name: "swapBridgeSlippage",
2427
2240
  type: "uint256",
2428
2241
  },
2242
+ {
2243
+ internalType: "bytes",
2244
+ name: "offchainMetadata",
2245
+ type: "bytes",
2246
+ },
2429
2247
  ],
2430
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllRequest",
2431
- name: "swapBridgeWithdrawAllReq",
2248
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
2249
+ name: "header",
2432
2250
  type: "tuple",
2433
2251
  },
2252
+ {
2253
+ internalType: "address",
2254
+ name: "initTokenIn",
2255
+ type: "address",
2256
+ },
2257
+ {
2258
+ internalType: "uint256",
2259
+ name: "initMinToPtSwapRate",
2260
+ type: "uint256",
2261
+ },
2262
+ {
2263
+ internalType: "uint256",
2264
+ name: "minDebtToPtSwapRate",
2265
+ type: "uint256",
2266
+ },
2267
+ {
2268
+ internalType: "uint256",
2269
+ name: "postBorrowMaxLTV",
2270
+ type: "uint256",
2271
+ },
2272
+ {
2273
+ internalType: "bool",
2274
+ name: "isZeroPriceImpact",
2275
+ type: "bool",
2276
+ },
2277
+ {
2278
+ internalType: "uint256",
2279
+ name: "maxFeeRate",
2280
+ type: "uint256",
2281
+ },
2434
2282
  ],
2435
- internalType: "struct IPPTLooper.BatchDecPosThenWithdrawRequest",
2283
+ internalType: "struct IPPTLooperEIP712Types.IncreasePositionRequest",
2436
2284
  name: "req",
2437
2285
  type: "tuple",
2438
2286
  },
2439
2287
  {
2440
2288
  internalType: "bytes",
2441
- name: "ownerSig",
2289
+ name: "ownerSigIfFirstCall",
2442
2290
  type: "bytes",
2443
2291
  },
2444
2292
  ],
2445
- name: "swapBridgeWithdrawAll",
2293
+ name: "increaseLoopPosition",
2446
2294
  outputs: [],
2447
2295
  stateMutability: "payable",
2448
2296
  type: "function",
2449
2297
  },
2298
+ {
2299
+ inputs: [
2300
+ {
2301
+ internalType: "address",
2302
+ name: "_owner",
2303
+ type: "address",
2304
+ },
2305
+ ],
2306
+ name: "initialize",
2307
+ outputs: [],
2308
+ stateMutability: "nonpayable",
2309
+ type: "function",
2310
+ },
2311
+ {
2312
+ inputs: [],
2313
+ name: "owner",
2314
+ outputs: [
2315
+ {
2316
+ internalType: "address",
2317
+ name: "",
2318
+ type: "address",
2319
+ },
2320
+ ],
2321
+ stateMutability: "view",
2322
+ type: "function",
2323
+ },
2324
+ {
2325
+ inputs: [],
2326
+ name: "pendingOwner",
2327
+ outputs: [
2328
+ {
2329
+ internalType: "address",
2330
+ name: "",
2331
+ type: "address",
2332
+ },
2333
+ ],
2334
+ stateMutability: "view",
2335
+ type: "function",
2336
+ },
2337
+ {
2338
+ inputs: [],
2339
+ name: "proposer",
2340
+ outputs: [
2341
+ {
2342
+ internalType: "address",
2343
+ name: "",
2344
+ type: "address",
2345
+ },
2346
+ ],
2347
+ stateMutability: "view",
2348
+ type: "function",
2349
+ },
2350
+ {
2351
+ inputs: [
2352
+ {
2353
+ internalType: "address",
2354
+ name: "owner",
2355
+ type: "address",
2356
+ },
2357
+ {
2358
+ internalType: "bytes32",
2359
+ name: "requestHash",
2360
+ type: "bytes32",
2361
+ },
2362
+ ],
2363
+ name: "proposerNonce",
2364
+ outputs: [
2365
+ {
2366
+ internalType: "uint256",
2367
+ name: "nonce",
2368
+ type: "uint256",
2369
+ },
2370
+ ],
2371
+ stateMutability: "view",
2372
+ type: "function",
2373
+ },
2374
+ {
2375
+ inputs: [
2376
+ {
2377
+ internalType: "address",
2378
+ name: "executor_",
2379
+ type: "address",
2380
+ },
2381
+ ],
2382
+ name: "setExecutor",
2383
+ outputs: [],
2384
+ stateMutability: "nonpayable",
2385
+ type: "function",
2386
+ },
2387
+ {
2388
+ inputs: [
2389
+ {
2390
+ internalType: "address",
2391
+ name: "proposer_",
2392
+ type: "address",
2393
+ },
2394
+ ],
2395
+ name: "setProposer",
2396
+ outputs: [],
2397
+ stateMutability: "nonpayable",
2398
+ type: "function",
2399
+ },
2450
2400
  {
2451
2401
  inputs: [
2452
2402
  {
@@ -2468,18 +2418,13 @@ const _abi = [
2468
2418
  name: "expiry",
2469
2419
  type: "uint256",
2470
2420
  },
2471
- {
2472
- internalType: "bytes32",
2473
- name: "ownerSigHash",
2474
- type: "bytes32",
2475
- },
2476
2421
  {
2477
2422
  internalType: "uint256",
2478
2423
  name: "nonce",
2479
2424
  type: "uint256",
2480
2425
  },
2481
2426
  ],
2482
- internalType: "struct IPPTLooper.BoxPermit",
2427
+ internalType: "struct IPPTLooperEIP712Types.BoxPermit",
2483
2428
  name: "permit",
2484
2429
  type: "tuple",
2485
2430
  },
@@ -2501,44 +2446,57 @@ const _abi = [
2501
2446
  type: "bytes",
2502
2447
  },
2503
2448
  ],
2504
- internalType: "struct IPPTLooper.BoxApprovedCall",
2449
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
2505
2450
  name: "swap",
2506
2451
  type: "tuple",
2507
2452
  },
2508
2453
  {
2509
2454
  components: [
2510
2455
  {
2511
- internalType: "address",
2512
- name: "extRouter",
2513
- type: "address",
2456
+ components: [
2457
+ {
2458
+ internalType: "address",
2459
+ name: "extRouter",
2460
+ type: "address",
2461
+ },
2462
+ {
2463
+ internalType: "address",
2464
+ name: "approve",
2465
+ type: "address",
2466
+ },
2467
+ {
2468
+ internalType: "bytes",
2469
+ name: "callData",
2470
+ type: "bytes",
2471
+ },
2472
+ ],
2473
+ internalType: "struct IPPTLooperEIP712Types.BoxApprovedCall",
2474
+ name: "call",
2475
+ type: "tuple",
2514
2476
  },
2515
2477
  {
2516
- internalType: "address",
2517
- name: "approve",
2518
- type: "address",
2478
+ internalType: "uint256",
2479
+ name: "maxAmount",
2480
+ type: "uint256",
2519
2481
  },
2520
2482
  {
2521
- internalType: "bytes",
2522
- name: "callData",
2523
- type: "bytes",
2483
+ internalType: "uint256",
2484
+ name: "nativeFee",
2485
+ type: "uint256",
2524
2486
  },
2525
2487
  ],
2526
- internalType: "struct IPPTLooper.BoxApprovedCall",
2488
+ internalType: "struct IPPTLooperEIP712Types.BridgeData",
2527
2489
  name: "bridge",
2528
2490
  type: "tuple",
2529
2491
  },
2530
2492
  {
2531
- internalType: "uint256",
2532
- name: "maxBridgeAmount",
2533
- type: "uint256",
2534
- },
2535
- {
2536
- internalType: "uint256",
2537
- name: "bridgeNativeFee",
2538
- type: "uint256",
2493
+ internalType: "bytes",
2494
+ name: "postStateCheckData",
2495
+ type: "bytes",
2539
2496
  },
2540
2497
  ],
2541
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllMessage",
2498
+ internalType:
2499
+ "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllMessage",
2542
2500
  name: "ms",
2543
2501
  type: "tuple",
2544
2502
  },
@@ -2571,8 +2529,18 @@ const _abi = [
2571
2529
  name: "permitNonceCap",
2572
2530
  type: "uint32",
2573
2531
  },
2532
+ {
2533
+ internalType: "uint256",
2534
+ name: "swapBridgeSlippage",
2535
+ type: "uint256",
2536
+ },
2537
+ {
2538
+ internalType: "bytes",
2539
+ name: "offchainMetadata",
2540
+ type: "bytes",
2541
+ },
2574
2542
  ],
2575
- internalType: "struct IPPTLooper.RequestHeader",
2543
+ internalType: "struct IPPTLooperEIP712Types.RequestHeader",
2576
2544
  name: "header",
2577
2545
  type: "tuple",
2578
2546
  },
@@ -2593,17 +2561,18 @@ const _abi = [
2593
2561
  },
2594
2562
  {
2595
2563
  internalType: "uint256",
2596
- name: "minTokenOut",
2564
+ name: "minTokenWithdrawn",
2597
2565
  type: "uint256",
2598
2566
  },
2599
2567
  ],
2600
- internalType: "struct IPPTLooper.SwapBridgeWithdrawAllRequest",
2568
+ internalType:
2569
+ "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllRequest",
2601
2570
  name: "req",
2602
2571
  type: "tuple",
2603
2572
  },
2604
2573
  {
2605
2574
  internalType: "bytes",
2606
- name: "ownerSig",
2575
+ name: "ownerSigIfFirstCall",
2607
2576
  type: "bytes",
2608
2577
  },
2609
2578
  ],
@@ -2612,6 +2581,29 @@ const _abi = [
2612
2581
  stateMutability: "payable",
2613
2582
  type: "function",
2614
2583
  },
2584
+ {
2585
+ inputs: [
2586
+ {
2587
+ internalType: "address",
2588
+ name: "owner",
2589
+ type: "address",
2590
+ },
2591
+ {
2592
+ internalType: "bytes32",
2593
+ name: "boxId",
2594
+ type: "bytes32",
2595
+ },
2596
+ {
2597
+ internalType: "bytes32",
2598
+ name: "requestHash",
2599
+ type: "bytes32",
2600
+ },
2601
+ ],
2602
+ name: "terminateSession",
2603
+ outputs: [],
2604
+ stateMutability: "nonpayable",
2605
+ type: "function",
2606
+ },
2615
2607
  {
2616
2608
  inputs: [
2617
2609
  {
@@ -2654,7 +2646,7 @@ const _abi = [
2654
2646
  components: [
2655
2647
  {
2656
2648
  internalType: "bytes32",
2657
- name: "sigHash",
2649
+ name: "requestHash",
2658
2650
  type: "bytes32",
2659
2651
  },
2660
2652
  {
@@ -2674,7 +2666,7 @@ const _abi = [
2674
2666
  ];
2675
2667
 
2676
2668
  const _bytecode =
2677
- "0x60c03461015657601f615fa138819003918201601f19168301916001600160401b0383118484101761015a57808492604094855283398101031261015657610052602061004b8361016e565b920161016e565b6080919091526001600160a01b031660a05260015460a881901c60ff166101015760ff808260a01c16036100be575b604051615e1e90816101838239608051818181610aa40152615541015260a05181818161232e015281816123fa015281816127480152613e3c0152f35b60ff60a01b191660ff60a01b1760015560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a15f610081565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101565756fe60806040526004361015610011575f80fd5b5f3560e01c80630289aca314610234578063078dfbe71461022f5780631c3c0ea81461022a5780631fb4a228146102255780632acc4bd1146102205780632d2c55651461021b5780633e25063314610216578063434b3112146102115780634e71e0c81461020c5780635a6b2246146102075780635ac295b81461020257806360fc8466146101fd5780636c3a88ee146101f85780636f7181aa146101f357806384b0196e146101ee5780638da5cb5b146101e957806397c42e14146101e4578063a48a36b2146101df578063a8e4fb90146101da578063b90165a4146101d5578063c150ef87146101d0578063c34c08e5146101cb578063c4d66de8146101c6578063ca6f50fd146101c1578063d7b1f532146101bc578063e1bb9456146101b7578063e30c3978146101b2578063e66b2f59146101ad578063eceed5bb146101a8578063f1ec230f146101a3578063f663bcdc1461019e578063fb0644fc14610199578063ff68dece146101945763ffc97ac81461018f575f80fd5b612e3a565b612c17565b612b36565b612af1565b6129d9565b612949565b612687565b612636565b612565565b612352565b6122e4565b612145565b6120f4565b61209b565b611fb1565b611f60565b611efb565b611e9f565b611e4f565b611d6e565b611bd1565b61198d565b611818565b6116d3565b610e38565b610ce5565b610c79565b610b77565b610a5a565b6109ef565b61072f565b61067a565b610460565b6103bd565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff82111761028257604052565b610239565b60a0810190811067ffffffffffffffff82111761028257604052565b6040810190811067ffffffffffffffff82111761028257604052565b610100810190811067ffffffffffffffff82111761028257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761028257604052565b6040519061032d610140836102dc565b565b6040519061032d610120836102dc565b6040519061032d6040836102dc565b6040519061032d60a0836102dc565b63ffffffff81160361036b57565b5f80fd5b919082608091031261036b5760405161038781610266565b6060808294803584526020810135602085015260408101356103a88161035d565b60408501520135916103b98361035d565b0152565b3461036b5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760206104306040516103fd81610266565b6004358152602435838201526044356104158161035d565b60408201526064356104268161035d565b6060820152612e82565b604051908152f35b73ffffffffffffffffffffffffffffffffffffffff81160361036b57565b8015150361036b57565b3461036b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043561049b81610438565b602435906104a882610456565b604435916104b583610456565b6104d773ffffffffffffffffffffffffffffffffffffffff5f54163314612ef3565b156106355773ffffffffffffffffffffffffffffffffffffffff81169182159081159161062d575b50156105cf576105a09173ffffffffffffffffffffffffffffffffffffffff61053c5f5473ffffffffffffffffffffffffffffffffffffffff1690565b167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55565b6105cd7fffffffffffffffffffffffff000000000000000000000000000000000000000060015416600155565b005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b90505f6104ff565b73ffffffffffffffffffffffffffffffffffffffff9150167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b577f34d4f6a542f13533b1eaa27e7ae8691368028d05b7075ad7a6c34df851a67a43602073ffffffffffffffffffffffffffffffffffffffff6004356106ed81610438565b6106fb825f54163314612ef3565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006066541617606655604051908152a1005b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b577f6aaea081d3338771247ce1c8b55c8111e92e8523a8abfaf46030701203f8c0fe602073ffffffffffffffffffffffffffffffffffffffff6004356107a281610438565b6107b0825f54163314612ef3565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006067541617606755604051908152a1005b91908260a091031261036b576040516107fc81610287565b6080808294803561080c81610438565b84526020810135602085015260408101356040850152606081013560608501520135910152565b67ffffffffffffffff811161028257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261087982610833565b9161088760405193846102dc565b82948184528183011161036b578281602093845f960137010152565b9080601f8301121561036b578160206108be9335910161086d565b90565b919060608382031261036b57604051906060820182811067ffffffffffffffff82111761028257604052819380356108f881610438565b8352602081013561090881610438565b602084015260408101359167ffffffffffffffff831161036b5760409261092f92016108a3565b910152565b91906101c08382031261036b5761094961031d565b9261095482826107e4565b845260a081013567ffffffffffffffff811161036b57826109769183016108c1565b602085015260c0810135604085015260e081013567ffffffffffffffff811161036b576101a0926109a89183016108c1565b6060850152610100810135608085015261012081013560a085015261014081013560c085015261016081013560e08501526101808101356101008501520135610120830152565b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b57610430610a4b610a466020933690600401610934565b613730565b6137f2565b5f91031261036b57565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91906101a08382031261036b57610add61032f565b92610ae882826107e4565b845260a081013567ffffffffffffffff811161036b5782610b0a9183016108c1565b602085015260c081013567ffffffffffffffff811161036b5761018092610b329183016108c1565b604085015260e08101356060850152610100810135608085015261012081013560a085015261014081013560c085015261016081013560e08501520135610100830152565b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b57610430610a4b610bce6020933690600401610ac8565b61388f565b9060e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc83011261036b57604051610c0a81610266565b610c168193604461036f565b815260c435602082015260e4356040820152606061010435910152565b91909160e08184031261036b57606060c060405192610c5184610266565b610c5c84968261036f565b84526080810135602085015260a081013560408501520135910152565b3461036b5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576020610430610a4b604051610cbc81610266565b610cc736600461036f565b81526084358482015260a435604082015260c4356060820152613945565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5773ffffffffffffffffffffffffffffffffffffffff60015416803303610d6b57806105a09173ffffffffffffffffffffffffffffffffffffffff61053c5f5473ffffffffffffffffffffffffffffffffffffffff1690565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b906101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc83011261036b57604051610e0181610287565b610e0d8193604461036f565b815260c435602082015260e4356040820152610104356060820152608061012435916103b983610456565b6101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b57610e83903690600401610934565b60243567ffffffffffffffff811161036b57610ea39036906004016108a3565b90610ead36610dc9565b91610144359067ffffffffffffffff821161036b57610ed3610f1c9236906004016108a3565b90610ef773ffffffffffffffffffffffffffffffffffffffff606654163314612f58565b835190610f06610a4b86613730565b90865191610f16610a4b89613f54565b93613cd5565b80519294919391925f9063ffffffff16460361168b575073ffffffffffffffffffffffffffffffffffffffff8516926060820195610f77610f71885173ffffffffffffffffffffffffffffffffffffffff1690565b8661544d565b96611007610fd2610fb7610f9f845173ffffffffffffffffffffffffffffffffffffffff1690565b610fb060408a0191825190886154e6565b518b613ea6565b925173ffffffffffffffffffffffffffffffffffffffff1690565b6040860192610ff5845173ffffffffffffffffffffffffffffffffffffffff1690565b60408701519160208a01519387614fcb565b956110156080850151151590565b611539575b5046611039611030602087015163ffffffff1690565b63ffffffff1690565b036114f8575b505b5f9546611058611030602087015163ffffffff1690565b146110fe575b87877fdc32c763f038ea930cdd65ad1f0e1be8e661976d42f515d4e6609e1ec732a48473ffffffffffffffffffffffffffffffffffffffff896110f98a51946110bb865173ffffffffffffffffffffffffffffffffffffffff1690565b92602087015197608060608901519801516040519687961698869192608093969594919660a084019784526020840152604083015260608201520152565b0390a3005b8593965073ffffffffffffffffffffffffffffffffffffffff9094919294169160e08701928351604060808a019161114a835173ffffffffffffffffffffffffffffffffffffffff1690565b60c087015183517fe546502600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820194909452919092166044820152606481019a909a5260848a01528860a4815f865af1948515611481575f985f966114cf575b508061010091519060a08c019460406111f4875173ffffffffffffffffffffffffffffffffffffffff1690565b9360208d01518b105f146114c5578861128560e08c01515b978c015184517f96f721ac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201819052602482019590955297909216604488015260648701979097526084860182905260a4860152948490819060c4820190565b03815f855af1918215611481575f935f93611486575b505194516020919073ffffffffffffffffffffffffffffffffffffffff165b906112d9885173ffffffffffffffffffffffffffffffffffffffff1690565b6040517f151600c900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b8116600483015260248201999099529288166044840152909616606482015294859060849082905afa918215611481577fdc32c763f038ea930cdd65ad1f0e1be8e661976d42f515d4e6609e1ec732a4849b6113c76110f99a8a879673ffffffffffffffffffffffffffffffffffffffff9f967f1cd8b310a16905d32c82ed98563dc0c505a1413aff40568b4f1b303d82015ec5976113f69b5f93611449575b5060606101209101519301519361580b565b604080519182526020820192909252a2825173ffffffffffffffffffffffffffffffffffffffff165b9061544d565b9761140961103046925163ffffffff1690565b0361141b575b5083955081945061105e565b61144291611430610fb760808601518b61559b565b9160608501519060a086015193615678565b5f8061140f565b61012091935061147260609160203d60201161147a575b61146a81836102dc565b810190613ede565b9391506113b5565b503d611460565b61353d565b6112ba94506020929193506114b29060403d6040116114be575b6114aa81836102dc565b810190613ec8565b9490949391925061129b565b503d6114a0565b886112855f61120c565b61010099506114ee91965060403d6040116114be576114aa81836102dc565b98909895906111c7565b516115339073ffffffffffffffffffffffffffffffffffffffff168261152260808801518961559b565b60608801519060a089015193615678565b5f61103f565b85515160049073ffffffffffffffffffffffffffffffffffffffff16602061159461157b61157b875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b604051938480927f781c18db0000000000000000000000000000000000000000000000000000000082525afa918215611481575f9261165a575b50823b1561036b576040517fc3b35a7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116602482015260448101889052905f908290606490829084905af18015611481571561101a578061164e5f611654936102dc565b80610a50565b5f61101a565b61167d91925060203d602011611684575b61167581836102dc565b810190613eb3565b905f6115ce565b503d61166b565b94926116cd6116b1608084015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff861661544d565b93611041565b3461036b5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57602061043060405161171381610287565b60043561171f81610438565b815260243583820152604435604082015260643560608201526084356080820152612fbd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106117ba57505050505090565b9091929394602080611809837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190611745565b970193019301919392906117ab565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b573660238201121561036b5780600401359067ffffffffffffffff821161036b576024810190602436918460051b01011161036b5761189182613041565b9161189f60405193846102dc565b8083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06118cc82613041565b015f5b8181106119695750505f5b8181106118f357604051806118ef8682611788565b0390f35b8061193661193161191461190a6001958789613086565b60208101906130cb565b919061192961192486898b613086565b61311c565b92369161086d565b613f1c565b61194861194161033f565b9215158352565b60208201526119578287613126565b526119628186613126565b50016118da565b602090604051611978816102a3565b5f8152606083820152828288010152016118cf565b3461036b576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576020610430610a4b6040516119d181610287565b6119dc36600461036f565b81526084358482015260a435604082015260c435606082015260e435611a0181610456565b6080820152613f54565b91906101208382031261036b57611a2061034e565b92611a2b82826107e4565b845260a081013567ffffffffffffffff811161036b5782611a4d9183016108c1565b602085015260c081013567ffffffffffffffff811161036b5761010092611a759183016108c1565b604085015260e0810135606085015201356080830152565b906101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc83011261036b57604051611ac581610287565b611ad18193604461036f565b815260c435611adf81610456565b602082015260e435611af081610438565b604082015261010435611b0281610438565b6060820152608061012435910152565b9190916101008184031261036b57608060e060405192611b3184610287565b611b3c84968261036f565b845282810135611b4b81610456565b602085015260a0810135611b5e81610438565b604085015260c0810135611b7181610438565b60608501520135910152565b906101e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc83011261036b57604051611bb5816102a3565b602061092f8294611bc7816044610c33565b8452610124611b12565b6102407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b57611c1c903690600401611a0b565b60243567ffffffffffffffff811161036b57611c3c9036906004016108a3565b90611c4636611b7d565b906102243567ffffffffffffffff811161036b576105cd93611c6f611cb69236906004016108a3565b90611c9373ffffffffffffffffffffffffffffffffffffffff606654163314612f58565b602085015194845191611ca8610a4b87614473565b610f16610a4b8951946144f9565b9391929050614031565b92939073ffffffffffffffffffffffffffffffffffffffff92611d14611d22927f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e0870190611745565b908582036040870152611745565b9360608401521660808201525f60a082015260c0818303910152602080835192838152019201905f5b818110611d585750505090565b8251845260209384019390920191600101611d4b565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576002541580611e45575b15611de757611db361430b565b611dbb6143de565b906118ef604051611dcd6020826102dc565b5f8082523660208301376040519384933091469186611cc0565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b5060035415611da6565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b57610430610a4b611ef66020933690600401611a0b565b614473565b3461036b576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576020610430610a4b604051611f3f816102a3565b611f4a366004610c33565b8152611f573660e4611b12565b848201526144f9565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57602073ffffffffffffffffffffffffffffffffffffffff60675416604051908152f35b6102407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b57611ffc903690600401610ac8565b60243567ffffffffffffffff811161036b5761201c9036906004016108a3565b61202536611b7d565b916102243567ffffffffffffffff811161036b576105cd9361204e6120939236906004016108a3565b9061207273ffffffffffffffffffffffffffffffffffffffff606654163314612f58565b5193835190612083610a4b8661388f565b90865191610f16610a4b89613945565b939092614555565b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b576104306120ef60209236906004016108c1565b61313a565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57602073ffffffffffffffffffffffffffffffffffffffff60665416604051908152f35b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043561218081610438565b612203600154916121b561219f61219b8560ff9060a81c1690565b1590565b809481956122d2575b81156122af575b506131c4565b826121fa740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff6001541617600155565b6122655761324f565b61220957005b6122367fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff60015416600155565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6122aa75010000000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff6001541617600155565b61324f565b303b159150816122c1575b505f6121af565b60a01c60ff1660011490505f6122ba565b600160a082901c60ff161091506121a8565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461036b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043561238d81610438565b6040517fa92572fb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602480359082015261014081806044810103815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015611481575f915f905f9261251c575b5073ffffffffffffffffffffffffffffffffffffffff1660e082015161248b60a061246f608086015173ffffffffffffffffffffffffffffffffffffffff1690565b94015173ffffffffffffffffffffffffffffffffffffffff1690565b94823b1561036b576040517f6f45c8c000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9586166004820152602481019290925292841660448201529383166064850152911660848301525f90829060a490829084905af180156114815761250e57005b8061164e5f6105cd936102dc565b905073ffffffffffffffffffffffffffffffffffffffff925061255791506101403d811161255e575b61254f81836102dc565b81019061345b565b919261242d565b503d612545565b6101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b576125b0903690600401610ac8565b60243567ffffffffffffffff811161036b576125d09036906004016108a3565b906125da36610bd3565b906101243567ffffffffffffffff811161036b576105cd936126036120939236906004016108a3565b9061262773ffffffffffffffffffffffffffffffffffffffff606654163314612f58565b835190612083610a4b8661388f565b3461036b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576024356004356126c082610438565b60643560443567ffffffffffffffff821161036b576126e661272e9236906004016108c1565b936101406084356040517fa92572fb00000000000000000000000000000000000000000000000000000000815233600482015260248101969096529493849081906044820190565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015611481575f935f91612922575b5073ffffffffffffffffffffffffffffffffffffffff821683816128fa576127a2915033614d03565b6127c28373ffffffffffffffffffffffffffffffffffffffff8616614d6a565b6127d3611030825163ffffffff1690565b4603612826579261280d926118ef9692612807606061281697015173ffffffffffffffffffffffffffffffffffffffff1690565b92614eac565b91821015613548565b6040519081529081906020820190565b9194909261283e611030602085015163ffffffff1690565b4603612870576118ef956128169461280760a061280d96015173ffffffffffffffffffffffffffffffffffffffff1690565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f50656e646c6550544c6f6f7065723a20556e737570706f72746564206368616960448201527f6e69640000000000000000000000000000000000000000000000000000000000606482015280608481015b0390fd5b61291d9173ffffffffffffffffffffffffffffffffffffffff8716903390614bb2565b6127c2565b905061293e9193506101403d811161255e5761254f81836102dc565b93919050925f612779565b3461036b576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576020610430610a4b60405161298d81610287565b61299836600461036f565b81526084356129a681610456565b8482015260a4356129b681610438565b604082015260c4356129c781610438565b606082015260e43560808201526150b6565b3461036b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57600435612a1481610438565b73ffffffffffffffffffffffffffffffffffffffff602435915f6020604051612a3c816102a3565b8281520152165f52606960205260405f20905f526020526118ef60405f2063ffffffff600160405192612a6e846102a3565b80548452015416602082015260405191829182919091602063ffffffff81604084019580518552015116910152565b9060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261036b57604051612ad4816102a3565b612ae0819360046107e4565b8152602060a435916103b983610456565b3461036b5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576020610430610a4b612b3136612a9d565b61515a565b6101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b5760043567ffffffffffffffff811161036b57612b81903690600401611a0b565b60243567ffffffffffffffff811161036b57612ba19036906004016108a3565b90612bab36611a8d565b906101443567ffffffffffffffff811161036b576105cd93612bd4611cb69236906004016108a3565b90612bf873ffffffffffffffffffffffffffffffffffffffff606654163314612f58565b835190612c07610a4b86614473565b90865191610f16610a4b896150b6565b3461036b5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b57612c4f36612a9d565b60c43567ffffffffffffffff811161036b57612c6f9036906004016108a3565b90612c9373ffffffffffffffffffffffffffffffffffffffff606654163314612f58565b7f171e44fe919c8106787a9717bed2d16211e6920a622196e91c4997f23997f6b673ffffffffffffffffffffffffffffffffffffffff825192612cf460408501519560608601968751608088015190612cee610a4b8761515a565b926151be565b6110f9612d3c612d18865173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff165f52606960205260405f2090565b91612d53602087019384515f5260205260405f2090565b9560018701916020612d69845463ffffffff1690565b910197612d768951151590565b15612e1b5791612dcf612d9e612de99385612d95612df497541561365c565b8d519055613714565b85547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff821617909555565b5173ffffffffffffffffffffffffffffffffffffffff1690565b935197519651151590565b6040805197885263ffffffff90921660208801521515908601529116929081906060820190565b612de9919350915f83612e34612df495548d51146135d1565b55612dcf565b3461036b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261036b576004355f526068602052602060405f2054604051908152f35b80519060208101519063ffffffff60608160408401511692015116906040519260208401947fdec5377ad0c3fcb212b2b172cd66029cece11fcb91824087701367530968a3a3865260408501526060840152608083015260a082015260a08152612eed60c0826102dc565b51902090565b15612efa57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15612f5f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f50544c6f6f7065723a20556e617574686f72697a6564000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff8151169060208101519060408101519060806060820151910151916040519360208501957fb640a4f22c97af1109cba51a49380ffa55a758dfbf6815b4462d6bca5ac9f833875260408601526060850152608084015260a083015260c082015260c08152612eed60e0826102dc565b67ffffffffffffffff81116102825760051b60200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156130c65760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18136030182121561036b570190565b613059565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561036b570180359067ffffffffffffffff821161036b5760200191813603831361036b57565b356108be81610456565b80518210156130c65760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff81511690604073ffffffffffffffffffffffffffffffffffffffff602083015116910151602081519101206040519160208301937fd3355b017a4df5ab14bfe30be8fc74cf288d6cbdd53b7fb9a45cb406e14cb425855260408401526060830152608082015260808152612eed60a0826102dc565b156131cb57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b9060409182519261326081856102dc565b601084527f50656e646c65205054204c6f6f706572000000000000000000000000000000006020850152613296815191826102dc565b600181527f310000000000000000000000000000000000000000000000000000000000000060208201526132da60ff60015460a81c166132d581614ad3565b614ad3565b835167ffffffffffffffff8111610282576132ff816132fa6004546142ba565b61589b565b6020601f821160011461337e578161335c93926133549261032d97985f92613373575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790565b60045561593a565b6133655f600255565b61336e5f600355565b614b5e565b015190505f80613322565b60045f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216957f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b965f5b81811061342d575096600192849261335c969561032d999a106133f6575b505050811b0160045561593a565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f80806133e8565b838301518955600190980197602093840193016133ca565b519061032d82610438565b519061032d8261035d565b8092910390610140821261036b57825161347481610438565b926101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060208301516134a781610438565b94011261036b57610120604051916134be836102bf565b6134ca60408201613450565b83526134d860608201613450565b60208401526134e960808201613445565b60408401526134fa60a08201613445565b606084015261350b60c08201613445565b608084015261351c60e08201613445565b60a084015261352e6101008201613445565b60c0840152015160e082015290565b6040513d5f823e3d90fd5b1561354f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f50656e646c6550544c6f6f7065723a20736c69707061676500000000000000006044820152fd5b906040516135ba816102a3565b602063ffffffff6001839580548552015416910152565b156135d857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f50544c6f6f7065723a206f776e6572207369676e61747572652068617368206d60448201527f69736d6174636820666f72207465726d696e6174696f6e0000000000000000006064820152fd5b1561366357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f50544c6f6f7065723a20696e697469617465206f6e2d676f696e67207265717560448201527f65737400000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b63ffffffff1663ffffffff811461372b5760010190565b6136e7565b61373a8151612fbd565b90613748602082015161313a565b9060408101519061375c606082015161313a565b608082015160a083015160c08401519160e085015193610120610100870151960151966040519860208a019a7f10a9f964af374bb066b2b42baab367485fd28ccd388147a3a15b3b41e7494b948c5260408b015260608a0152608089015260a088015260c087015260e08601526101008501526101208401526101408301526101608201526101608152612eed610180826102dc565b6042906137fd615c23565b613805615c6e565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261385660c0826102dc565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b6138998151612fbd565b906138a7602082015161313a565b906138b5604082015161313a565b906060810151608082015160a08301519060c08401519261010060e0860151950151956040519760208901997ffffbf6ee97f7447ba17661bffad2aad88dd02dd23ebbd01a128a011b3c43af7b8b5260408a01526060890152608088015260a087015260c086015260e08501526101008401526101208301526101408201526101408152612eed610160826102dc565b61394f8151612e82565b9060208101519060606040820151910151906040519260208401947fe145cae8ea05226f01ac71862211c868fd5e8c42f443bbec7cef8f85246ea727865260408501526060840152608083015260a082015260a08152612eed60c0826102dc565b604051906139bd826102bf565b5f60e0838281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b156139f357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a205065726d697420626f78206d69736d617463686564006044820152fd5b15613a5857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f50544c6f6f7065723a20557365722072657175657374206d69736d617463686560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152fd5b15613ae357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a20426f78204944206d69736d61746368000000000000006044820152fd5b15613b4857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a20526571756573742065787069726564000000000000006044820152fd5b15613bad57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a20496e76616c69642073657373696f6e206e6f6e6365006044820152fd5b15613c1257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20496e76616c69642070726f706f736572206e6f6e63656044820152fd5b15613c7757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20496e76616c6964206f776e65722073696761747572656044820152fd5b939295949195613ce36139b0565b50845173ffffffffffffffffffffffffffffffffffffffff165f9081526069602052604090209660208601978851613d2291905f5260205260405f2090565b613d2b906135ad565b908151906060880191825114613d40906139ec565b82518651602088012014613d5390613a51565b60408801519151946080890195865190613d6c946151be565b8151885114613d7a90613adc565b60208201514210613d8a90613b41565b604082015160209190910151613daa9163ffffffff918216911614613ba6565b606001519051613dc09163ffffffff1611613c0b565b825173ffffffffffffffffffffffffffffffffffffffff1691613de2926152e9565b613deb90613c70565b5191516040517fa92572fb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526024810191909152917f000000000000000000000000000000000000000000000000000000000000000016826044815a610140945f91f1908115611481575f5f935f93613e7f575b50929190565b91935050613e9c91506101403d811161255e5761254f81836102dc565b929092915f613e79565b9190820391821161372b57565b9081602091031261036b57516108be81610438565b919082604091031261036b576020825192015190565b9081602091031261036b575190565b3d15613f17573d90613efe82610833565b91613f0c60405193846102dc565b82523d5f602084013e565b606090565b5f8091602081519101305af491613f31613eed565b9183159081613f4b575b50613f4257565b50805190602001fd5b9050155f613f3b565b613f5e8151612e82565b90602081015190604081015190608060608201519101511515916040519360208501957fcb31d839e67e79997fda71b3d1aa1971603be5c7e5cfd00f91adae0ba9f24984875260408601526060850152608084015260a083015260c082015260c08152612eed60e0826102dc565b15613fd357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20496e73756666696369656e7420746f6b656e206f75746044820152fd5b929190614042835163ffffffff1690565b63ffffffff16460361427e57606083015173ffffffffffffffffffffffffffffffffffffffff16604082015173ffffffffffffffffffffffffffffffffffffffff16935b6140d460206140bc73ffffffffffffffffffffffffffffffffffffffff871694886140b1828861544d565b848c0151928a614eac565b946140cd6080820151871015613fcc565b0151151590565b15614272576020015163ffffffff165b63ffffffff16461461411457509261410461032d9460608301519061559b565b6080604083015192015193615678565b91509192614138815173ffffffffffffffffffffffffffffffffffffffff90511690565b91803b1561036b576040517fc3b35a7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529285166024840152604483018490525f908390606490829084905af1908115611481577fb1c17b3230ade5d23a475c7c95893351936c5136c62251f1eb8d15e68ec0cf9e9273ffffffffffffffffffffffffffffffffffffffff9261425e575b505192614259614207855173ffffffffffffffffffffffffffffffffffffffff1690565b916020860151966080606088015197015160405195869516978590949373ffffffffffffffffffffffffffffffffffffffff5f9460809460a08501988552602085015216604083015260608201520152565b0390a3565b8061164e5f61426c936102dc565b5f6141e3565b5163ffffffff166140e4565b60a083015173ffffffffffffffffffffffffffffffffffffffff16606082015173ffffffffffffffffffffffffffffffffffffffff1693614086565b90600182811c92168015614301575b60208310146142d457565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916142c9565b604051905f826004549161431e836142ba565b80835292600181169081156143a15750600114614342575b61032d925003836102dc565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061438557505090602061032d92820101614336565b602091935080600191548385890101520191019091849261436d565b6020925061032d9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101614336565b604051905f82600554916143f1836142ba565b80835292600181169081156143a157506001146144145761032d925003836102dc565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b81831061445757505090602061032d92820101614336565b602091935080600191548385890101520191019091849261443f565b61447d8151612fbd565b9061448b602082015161313a565b90614499604082015161313a565b9060806060820151910151916040519360208501957f99bb6242473b834c5af10d3a52cb9d929bc771b6b1b2dffe63780d1fca0cacde875260408601526060850152608084015260a083015260c082015260c08152612eed60e0826102dc565b61451060206145088351613945565b9201516150b6565b6040519060208201927f25416d647edac38cd70327a118c3aa1926bb7d4e3f234e5c8193c21513e3bb2d84526040830152606082015260608152612eed6080826102dc565b90919392935f90602085019161456f835163ffffffff1690565b63ffffffff164603614a8b575073ffffffffffffffffffffffffffffffffffffffff81169360a086019473ffffffffffffffffffffffffffffffffffffffff6145d56145cf885173ffffffffffffffffffffffffffffffffffffffff1690565b8361544d565b98169060e0880189604082516145ff8b5173ffffffffffffffffffffffffffffffffffffffff1690565b60a08b015183517ffbf3671000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b811660048301526024820194909452919092166044820152606481019390935260848301528160a4815f885af1908115611481575f905f92614a69575b5082519060808c019a8a8c516146a59073ffffffffffffffffffffffffffffffffffffffff1690565b938a60208b015187115f1460409361473a91614a5f578a60e060c0830151925b0151918651998a9687967f08c790b500000000000000000000000000000000000000000000000000000000885260048801929373ffffffffffffffffffffffffffffffffffffffff60a095819499989793998260c088019b168752602087015216604085015260608401521660808201520152565b03815f8b5af1968715611481578c955f945f99614a2a575b509061477a610fb76020949351985173ffffffffffffffffffffffffffffffffffffffff1690565b6040517f151600c900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d8116600483015260248201999099529288166044840152909616606482015294859060849082905afa92831561148157614859968b7f3bb7491f8a60de4663d7a867b8a455c3d949a312bccb388b2d8aad2a8943f26c9561482c9389985f92614a09575b5061010060608d01519301519361580b565b604080519182526020820192909252a2865173ffffffffffffffffffffffffffffffffffffffff166113f0565b944661486c611030895163ffffffff1690565b036149db575b505b5f9546614888611030835163ffffffff1690565b146148ed575b505050507f80fb3628401036a6958f114182756e4ab87375e320ad0c90c57e2025a18b85119161425973ffffffffffffffffffffffffffffffffffffffff9251946110bb865173ffffffffffffffffffffffffffffffffffffffff1690565b7f80fb3628401036a6958f114182756e4ab87375e320ad0c90c57e2025a18b8511959396509173ffffffffffffffffffffffffffffffffffffffff9491614988846060614954604061425998015173ffffffffffffffffffffffffffffffffffffffff1690565b9101926040614977855173ffffffffffffffffffffffffffffffffffffffff1690565b910151908860208801519387614fcb565b9761499b61103046925163ffffffff1690565b036149ad575b5083955081945061488e565b6149d4916149c2610fb760608601518b61559b565b91604085015190608086015193615678565b5f806149a1565b614a0390836149f1610fb760608901518a61559b565b91604088015190608089015193615678565b5f614872565b614a2391925060203d60201161147a5761146a81836102dc565b905f61481a565b60209392919950610fb79550614a5161477a9160403d6040116114be576114aa81836102dc565b9690969a9293945050614752565b8a60e05f926146c5565b9050614a84915060403d6040116114be576114aa81836102dc565b905f61467c565b9550614acd614ab1604087015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff831661544d565b93614874565b15614ada57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b61032d90614b7360ff60015460a81c16614ad3565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55565b929182614bc0575b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff614cbd95614c6e8394614c4260405198899260208401997f23b872dd000000000000000000000000000000000000000000000000000000008b526024850173ffffffffffffffffffffffffffffffffffffffff6040929594938160608401971683521660208201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018852876102dc565b169260405194614c7f6040876102dc565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af1614cb7613eed565b91615d1c565b80518015908115614cdd575b50614cd49150615b98565b5f808080614bba565b602090830183900312905061036b576020614cd4910151614cfd81610456565b5f614cc9565b503403614d0c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b81158015614df1575b614ded575f80809381935af1614d87613eed565b5015614d8f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b5050565b503073ffffffffffffffffffffffffffffffffffffffff821614614d73565b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561372b57565b8181029291811591840414171561372b57565b15614e4e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20737761702062656c6f77206d696e53776170526174656044820152fd5b90929493919473ffffffffffffffffffffffffffffffffffffffff811673ffffffffffffffffffffffffffffffffffffffff851614155f14614fbe5761032d9383614f9673ffffffffffffffffffffffffffffffffffffffff6020614fa09701511691614f79604073ffffffffffffffffffffffffffffffffffffffff8351169201519373ffffffffffffffffffffffffffffffffffffffff60405196614f5288610287565b168652602086018c905273ffffffffffffffffffffffffffffffffffffffff166040860152565b73ffffffffffffffffffffffffffffffffffffffff166060840152565b6080820152615a6d565b9050925b614fb75f614fb186614e10565b92614e34565b1115614e47565b5050505061032d82614fa4565b61032d94969591929373ffffffffffffffffffffffffffffffffffffffff811673ffffffffffffffffffffffffffffffffffffffff851614155f146150a857614fb79383614f9673ffffffffffffffffffffffffffffffffffffffff602061509b9701511691614f79604073ffffffffffffffffffffffffffffffffffffffff8351169201519373ffffffffffffffffffffffffffffffffffffffff6040519661507488610287565b168652602086018b905273ffffffffffffffffffffffffffffffffffffffff166040860152565b9050945b614fb186614e10565b50505050614fb7819461509f565b6150c08151612e82565b90602081015115159073ffffffffffffffffffffffffffffffffffffffff60408201511690608073ffffffffffffffffffffffffffffffffffffffff606083015116910151916040519360208501957fceba92e2a0986e305e58dda564f2244504e3f89ddb78abf41773e411770248fc875260408601526060850152608084015260a083015260c082015260c08152612eed60e0826102dc565b60206151668251612fbd565b91015115156040519060208201927fd565327e8310eec9d6832c197d35fa0a83381e3042693a9fdbae6effeb17b15084526040830152606082015260608152612eed6080826102dc565b906001820180921161372b57565b93909392919242101561528b576151ed9173ffffffffffffffffffffffffffffffffffffffff606754166152e9565b1561522d5761521b8161521661522a9361520f865f52606860205260405f2090565b5414613c0b565b6151b0565b915f52606860205260405f2090565b55565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f50544c6f6f7065723a20496e76616c6964207369676e617475726500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a204d6573736167652065787069726564000000000000006044820152fd5b906152f48382615b63565b6005819592951015615420571593846153fd575b508315615316575b50505090565b5f93509061536761539385949360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190611745565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826102dc565b51915afa61539f613eed565b816153ef575b816153b4575b505f8080615310565b905060208180518101031261036b57602001517f1626ba7e00000000000000000000000000000000000000000000000000000000145f6153ab565b9050602081511015906153a5565b73ffffffffffffffffffffffffffffffffffffffff84811691161493505f615308565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9073ffffffffffffffffffffffffffffffffffffffff168061546e57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611481575f916154cd575090565b6108be915060203d60201161147a5761146a81836102dc565b73ffffffffffffffffffffffffffffffffffffffff1691823b1561036b576040517fc3b35a7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015290921660248301526044820152905f9082908183816064810103925af18015611481576155915750565b5f61032d916102dc565b90808210156155a8575090565b905090565b60208183031261036b5780519067ffffffffffffffff821161036b570181601f8201121561036b578051906155e182610833565b926155ef60405194856102dc565b8284526020838301011161036b57815f9260208093018386015e8301015290565b9073ffffffffffffffffffffffffffffffffffffffff61567160806020939695966040865283815116604087015284810151606087015283604082015116828701528360608201511660a0870152015160a060c086015260e0850190611745565b9416910152565b9093928415615804576157889273ffffffffffffffffffffffffffffffffffffffff5f9216946156bf602083015173ffffffffffffffffffffffffffffffffffffffff1690565b9161574d60406156e3835173ffffffffffffffffffffffffffffffffffffffff1690565b920151916157306156f261034e565b73ffffffffffffffffffffffffffffffffffffffff8916815295602087018c905273ffffffffffffffffffffffffffffffffffffffff166040870152565b73ffffffffffffffffffffffffffffffffffffffff166060850152565b608083015260405180809681947f28dc8307000000000000000000000000000000000000000000000000000000008352339060048401615610565b0391875af1908115611481577fad291a40fa1101f4862bddb7bb26e68ac0da675be432a534edc73eb2ece0587c9273ffffffffffffffffffffffffffffffffffffffff926157e4575b5060405194855216928060208101614259565b6157ff903d805f833e6157f781836102dc565b8101906155ad565b6157d1565b5050505050565b909361582f61583593615829670de0b6b3a76400009693879461559b565b93614e34565b04614e34565b041061583d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206d61784c5456206578636565646564000000000000006044820152fd5b601f81116158a7575050565b60045f5260205f20906020601f840160051c830193106158e1575b601f0160051c01905b8181106158d6575050565b5f81556001016158cb565b90915081906158c2565b601f82116158f857505050565b5f5260205f20906020601f840160051c83019310615930575b601f0160051c01905b818110615925575050565b5f815560010161591a565b9091508190615911565b90815167ffffffffffffffff8111610282576159628161595b6005546142ba565b60056158eb565b602092601f82116001146159b4576159af929382915f926133735750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790565b600555565b60055f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216937f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0915f5b868110615a555750836001959610615a1e575b505050811b01600555565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f8080615a13565b91926020600181928685015181550194019201615a00565b9173ffffffffffffffffffffffffffffffffffffffff909391931691615a93848461544d565b926040517f28dc83070000000000000000000000000000000000000000000000000000000081525f8180615acb858760048401615610565b038183865af1801561148157615b4b575b50615ae7858261544d565b9384039084821161372b57825160209384015160408051918252948101849052929673ffffffffffffffffffffffffffffffffffffffff908116949116927fb4f5edbb087700c3f3246c0f164b5277ac48e3720a148d371f9dfed3258662f29190a4565b615b5e903d805f833e6157f781836102dc565b615adc565b9060418151145f14615b8f57615b8b91602082015190606060408401519301515f1a90615c94565b9091565b50505f90600290565b15615b9f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b615c2b61430b565b8051908115615c3b576020012090565b50506002548015615c495790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b615c766143de565b8051908115615c86576020012090565b50506003548015615c495790565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615d11576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15611481575f5173ffffffffffffffffffffffffffffffffffffffff811615615d0957905f90565b505f90600190565b505050505f90600390565b91929015615d975750815115615d30575090565b3b15615d395790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015615daa5750805190602001fd5b6128f6906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152602483019061174556fea26469706673582212203b6ffbbfe7cca11d8ccb91e3c9524261d97651e3049a084843c5957ae9b2dca164736f6c634300081e0033";
2669
+ "0x60e03461018157601f61593238819003918201601f19168301916001600160401b03831184841017610185578084926060946040528339810103126101815761004781610199565b90610060604061005960208401610199565b9201610199565b6080929092526001600160a01b031660a05260015460a881901c60ff1661012c5760ff808260a01c16036100e9575b506001600160a01b031660c05260405161578490816101ae823960805181818161189a0152612981015260a0518181816106d90152614dbf015260c05181818161074801528181610bac0152818161196501526122950152f35b60ff60a01b191660ff60a01b1760015560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a15f61008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101815756fe60806040526004361015610011575f80fd5b5f5f3560e01c8063078dfbe714612f265780630ffa185914612ecf5780631c3c0ea814612e1e5780631c860d5f14612dca5780631c9cd00f14612aaf5780631f64e9ce14612a565780631fb4a228146129a55780632d2c5565146129375780632f8912ef146128fa5780634e71e0c8146127e1578063536ad93e14612788578063579f5e561461272c57806363efbf0e146126d05780636967c4851461265057806377aa686f146125f957806384b0196e146124b95780638b8c7d0e146124625780638da5cb5b146124125780638eeef723146123b6578063a6b41ec414611fe3578063a8e4fb9014611f91578063b7bfe9f2146116e0578063bfe88d8e14611683578063c124221314611629578063c34c08e5146115d7578063c4d66de814610edb578063c685f6471461076c578063c6f45db3146106fd578063ca6f50fd1461068e578063d6d67da014610634578063db03a2f0146105da578063e23dd1fc1461058f578063e30c39781461053d578063f1ec230f14610494578063f6fa7e5014610427578063fb2bc633146103c55763ff0639e1146101b1575f80fd5b346103c25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576101e86130fe565b6024359073ffffffffffffffffffffffffffffffffffffffff604435918160665416331480156103b7575b61021c906139c2565b16908184526069602052604084208385526020526040842090815480156103595781036102fb57600182019182549263ffffffff841663ffffffff81146102ce5760010163ffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000094909416841790558590556040805191825260208201929092527fc3f9a82d23af118c46becbef55ed995396b7cc74a156acc86c37edd9620f1e0e91819081015b0390a380f35b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50544c6f6f7065723a207265717565737448617368206d69736d6174636800006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206e6f206f70656e2073657373696f6e000000000000006044820152fd5b503381831614610213565b80fd5b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61041a36600486016135fc565b614b1f565b604051908152f35b50346103c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257604060209173ffffffffffffffffffffffffffffffffffffffff6104796130fe565b16815260688352818120602435825283522054604051908152f35b50346103c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576040809173ffffffffffffffffffffffffffffffffffffffff6104e56130fe565b82602085516104f38161314f565b8281520152168152606960205281812060243582526020522063ffffffff825161051c8161314f565b60208260018554958685520154169101908152835192835251166020820152f35b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346103c25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602061041f6105d56105d03661349f565b613dc6565b613b05565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61062f36600486016137da565b61400c565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f6106893660048601613373565b613aa0565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c25760043567ffffffffffffffff8111610ed7576107b7903690600401613693565b60243567ffffffffffffffff8111610ed3576107d79036906004016132b1565b9060443567ffffffffffffffff8111610cc2576107f8903690600401613373565b9060643567ffffffffffffffff8111610ecf5761081c61086c9136906004016132b1565b61083f73ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b610847613c48565b506108546105d585613aa0565b8095845186516108666105d588613e6e565b91614ba9565b9184938594604085019087825163ffffffff60208201511646145f14610e9a575050506108cc73ffffffffffffffffffffffffffffffffffffffff86511673ffffffffffffffffffffffffffffffffffffffff60a084510151169061533a565b94876060860151816108dd84613cc1565b60208501604073ffffffffffffffffffffffffffffffffffffffff82511660a48d835196879384927f3a2e717b00000000000000000000000000000000000000000000000000000000845261096d600485018a73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1908115610e8f57859485948693610e69575b5060409060a473ffffffffffffffffffffffffffffffffffffffff84511691835198899384927fd30cd708000000000000000000000000000000000000000000000000000000008452610a14600485018b73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1948515610e5e578695610e08575b50610ab7608473ffffffffffffffffffffffffffffffffffffffff60209351169460405195869384927f9025036a000000000000000000000000000000000000000000000000000000008452600484019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b5afa918215610dfd578d92610da3575b507f3bb7491f8a60de4663d7a867b8a455c3d949a312bccb388b2d8aad2a8943f26c9360409392610afc92858c01519261559b565b73ffffffffffffffffffffffffffffffffffffffff8551169382519182526020820152a2610b5d73ffffffffffffffffffffffffffffffffffffffff82511673ffffffffffffffffffffffffffffffffffffffff608085510151169061533a565b91610b77815163ffffffff60208183511692015116141590565b610d4557889296945b815163ffffffff8151164614610cc6575b50505073ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169151166080860151823b15610cc257610c17928492836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af18015610cb757610c9e575b50506102c87f80fb3628401036a6958f114182756e4ab87375e320ad0c90c57e2025a18b851193519573ffffffffffffffffffffffffffffffffffffffff875116956060602089015198015194604051958695869192608093969594919660a084019784526020840152604083015260608201520152565b81610ca891613225565b610cb357855f610c26565b8580fd5b6040513d84823e3d90fd5b8380fd5b839950610d1f92945073ffffffffffffffffffffffffffffffffffffffff610d369451169189602073ffffffffffffffffffffffffffffffffffffffff606081604087015116950151169201519260208b01519461471a565b50915163ffffffff60208183511692015116141590565b610d45578690955f8080610b91565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206272696467696e67206e6f7420737570706f727465646044820152fd5b909291506020813d602011610df5575b81610dc060209383613225565b81010312610df1575190917f3bb7491f8a60de4663d7a867b8a455c3d949a312bccb388b2d8aad2a8943f26c610ac7565b5f80fd5b3d9150610db3565b6040513d8f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff965060209195506084610e4a610ab79260403d604011610e57575b610e428183613225565b8101906153e9565b9890989793505050610a29565b503d610e38565b6040513d88823e3d90fd5b6040809650610e859294503d8711610e5757610e428183613225565b9490949290610986565b6040513d87823e3d90fd5b610ec99073ffffffffffffffffffffffffffffffffffffffff6040818b96999b9795975116920151169061533a565b96610b80565b8480fd5b8280fd5b5080fd5b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257610f136130fe565b60015460ff8160a81c1615908180926115c7575b80156115ad575b156115295781740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8316176001556114e6575b506040918251610f868482613225565b601081527f50656e646c65205054204c6f6f706572000000000000000000000000000000006020820152835190610fbd8583613225565b600182527f3100000000000000000000000000000000000000000000000000000000000000602083015261100160ff60015460a81c16610ffc81614a94565b614a94565b80519067ffffffffffffffff82116114b95781906110206004546140b0565b601f811161140e575b50602090601f8311600114611351578892611346575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176004555b80519067ffffffffffffffff82116113195761108f6005546140b0565b601f8111611278575b50602090601f83116001146111a35773ffffffffffffffffffffffffffffffffffffffff939291879183611198575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176005555b846002558460035561111360ff60015460a81c16614a94565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000845416178355611143575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff600154166001555160018152a180f35b015190505f806110c7565b600587527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08416885b818110611260575091600193918573ffffffffffffffffffffffffffffffffffffffff97969410611229575b505050811b016005556110fa565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f808061121b565b929360206001819287860151815501950193016111ef565b60058752601f830160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00190602084106112f1575b601f0160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001905b8181106112e65750611098565b8781556001016112d9565b7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091506112af565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b015190505f8061103f565b600489527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016895b8181106113f657509084600195949392106113bf575b505050811b01600455611072565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f80806113b1565b9293602060018192878601518155019501930161139b565b90915060048852601f830160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019060208410611491575b90601f8493920160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01905b8181106114835750611029565b898155849350600101611476565b7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9150611448565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167501010000000000000000000000000000000000000000176001555f610f76565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b158015610f2e5750600160ff8260a01c1614610f2e565b50600160ff8260a01c1610610f27565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60665416604051908152f35b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61167e366004860161350f565b61426b565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f6105d56116db36600487016138ca565b614a12565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c25760043567ffffffffffffffff8111610ed75761172b903690600401613731565b60243567ffffffffffffffff8111610ed35761174b9036906004016132b1565b9060443567ffffffffffffffff8111610cc25761176c9036906004016133c4565b9060643567ffffffffffffffff8111610ecf576117906117da9136906004016132b1565b6117b373ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b6117bb613c48565b506117c86105d585613ba2565b8095845186516108666105d588613efb565b9184938594604085019087825163ffffffff81511646145f14611f5c57505050606084510151155f14611f355773ffffffffffffffffffffffffffffffffffffffff6020840151169460408401515b61184a8773ffffffffffffffffffffffffffffffffffffffff84511661533a565b9660408701918251670de0b6b3a764000061186c8d60c08b015190508c614464565b0410611ed7576118c6611908936118bf73ffffffffffffffffffffffffffffffffffffffff875116858351917f00000000000000000000000000000000000000000000000000000000000000009061495e565b518a61442a565b9173ffffffffffffffffffffffffffffffffffffffff8551169273ffffffffffffffffffffffffffffffffffffffff604088510151169160208b01519461471a565b60a0869492940151611dfa575b5061192f815163ffffffff60208183511692015116141590565b610d4557889296945b63ffffffff602083510151164614611a6c575b505073ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001691511660a0860151823b15610cc2576119d0928492836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af18015610cb757611a57575b50506102c87fdc32c763f038ea930cdd65ad1f0e1be8e661976d42f515d4e6609e1ec732a48493519573ffffffffffffffffffffffffffffffffffffffff875116956060602089015198015194604051958695869192608093969594919660a084019784526020840152604083015260608201520152565b81611a6191613225565b610cb357855f6119df565b9092809298506080870151611a808a613cc1565b60208b0191604073ffffffffffffffffffffffffffffffffffffffff84511660a48d835197889384927fec094985000000000000000000000000000000000000000000000000000000008452611b11600485018a73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1928315610e5e57869182958395611dd4575b5060409060a473ffffffffffffffffffffffffffffffffffffffff84511691835195869384927f0a44c195000000000000000000000000000000000000000000000000000000008452611bb8600485018b73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1918215611dc9578792611d83575b50611c5b608473ffffffffffffffffffffffffffffffffffffffff60209351169460405195869384927f9025036a000000000000000000000000000000000000000000000000000000008452600484019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b5afa918215610dfd578d92611d29575b5091611ca1916040949360807f1cd8b310a16905d32c82ed98563dc0c505a1413aff40568b4f1b303d82015ec59701519261559b565b73ffffffffffffffffffffffffffffffffffffffff8a51169382519182526020820152a2611d1b611d0573ffffffffffffffffffffffffffffffffffffffff88511673ffffffffffffffffffffffffffffffffffffffff60a085510151169061533a565b915163ffffffff60208183511692015116141590565b610d45578690955f8061194b565b915092916020823d602011611d7b575b81611d4660209383613225565b81010312610df157905191929091907f1cd8b310a16905d32c82ed98563dc0c505a1413aff40568b4f1b303d82015ec5611c6b565b3d9150611d39565b73ffffffffffffffffffffffffffffffffffffffff975060209192506084611dbc611c5b9260403d604011610e5757610e428183613225565b9990999493505050611bcd565b6040513d89823e3d90fd5b6040809750611df09296503d8811610e5757610e428183613225565b9590959490611b2a565b60049073ffffffffffffffffffffffffffffffffffffffff84511673ffffffffffffffffffffffffffffffffffffffff89515116602073ffffffffffffffffffffffffffffffffffffffff60408751015116604051958680927f781c18db0000000000000000000000000000000000000000000000000000000082525afa918215610dfd578d92611e96575b611e90945061495e565b5f611915565b91506020843d602011611ecf575b81611eb160209383613225565b81010312611ecb57611ec5611e90946149f1565b91611e86565b8c80fd5b3d9150611ea4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206665652065786365656473206d6178466565526174656044820152fd5b73ffffffffffffffffffffffffffffffffffffffff60608251015116946060840151611829565b611f8b9073ffffffffffffffffffffffffffffffffffffffff6080818b96999b9795975116920151169061533a565b96611938565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60675416604051908152f35b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761202e9036906004016138ca565b60243567ffffffffffffffff8111610df15761204e9036906004016132b1565b9060443567ffffffffffffffff8111610df15761206f9036906004016137da565b9160643567ffffffffffffffff8111610df1576120936120dd9136906004016132b1565b6120b673ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b6120be613c48565b506120cb6105d58661400c565b8093855187516108666105d589614a12565b92604084019182519163ffffffff83511646145f1461238f5761214d61211d73ffffffffffffffffffffffffffffffffffffffff60408401511694614373565b8473ffffffffffffffffffffffffffffffffffffffff89511691612141818461533a565b9060208a015193614477565b50936080820151851061233157602063ffffffff92015115155f14612329575160200151165b63ffffffff1646146121dd5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206272696467696e67206e6f7420737570706f727465646044820152fd5b60807fb5b9244c6ced1f40da658794a27cce7a0fb4184569b3916665b60044d25bb0b49161223d858573ffffffffffffffffffffffffffffffffffffffff8a511673ffffffffffffffffffffffffffffffffffffffff8a5151169061495e565b85519473ffffffffffffffffffffffffffffffffffffffff80875116956060602089015198015160405194855260208501521660408301526060820152a3606073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016935116910151823b15610df1576122fe925f92836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af1801561231e57612310575080f35b61231c91505f90613225565b005b6040513d5f823e3d90fd5b515116612173565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20696e73756666696369656e7420746f6b656e206f75746044820152fd5b61214d61211d73ffffffffffffffffffffffffffffffffffffffff60608401511694614373565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561240d60209336906004016133c4565b613ba2565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561167e602093369060040161350f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760025415806125ef575b156125915761255f612501614101565b61258d61250c6141d6565b61256d6040519161251e602084613225565b5f83525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e0870190613854565b908582036040870152613854565b904660608501523060808501525f60a085015283820360c0850152613897565b0390f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b50600354156124f1565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561062f60209336906004016137da565b34610df15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760405161268b816131d0565b60043573ffffffffffffffffffffffffffffffffffffffff81168103610df1578161041f91602093526024358382015260443560408201526064356060820152613f93565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56127276020933690600401613731565b613efb565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56127836020933690600401613693565b613e6e565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6127dc6020923690600401613655565b613e0f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760015473ffffffffffffffffffffffffffffffffffffffff81169081330361289c577fffffffffffffffffffffffff000000000000000000000000000000000000000091825f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f5516600155005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b34610df15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602061041f6105d03661349f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df1577f6aaea081d3338771247ce1c8b55c8111e92e8523a8abfaf46030701203f8c0fe602073ffffffffffffffffffffffffffffffffffffffff612a146130fe565b612a22825f5416331461395d565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006067541617606755604051908152a1005b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f612aaa60209236906004016132f7565b613d3a565b34610df15760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157612ae73661349f565b60843567ffffffffffffffff8111610df157612b079036906004016132b1565b60a43567ffffffffffffffff8111610df157612b2790369060040161350f565b9160c43567ffffffffffffffff8111610df157612b4b612b959136906004016132b1565b612b6e73ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b612b76613c48565b50612b836105d58661426b565b8094845187516108666105d588613dc6565b5f612bba73ffffffffffffffffffffffffffffffffffffffff60208401511692613cc1565b9173ffffffffffffffffffffffffffffffffffffffff60208701511690612c5c83606060408a0151990195612ca28751612c726040519c8d98899788967fb3fd98f0000000000000000000000000000000000000000000000000000000008852600488019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b608486015260e060a486015260e4850190613854565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8483030160c4850152613a27565b03925af191821561231e575f92612d35575b907f177630a995e6de5fd180955f5890a54535531d17e334c5a76882a00a289b4dc8915193612d3073ffffffffffffffffffffffffffffffffffffffff86511694612d2260606020890151980151945160405195869586526020860152608060408601526080850190613a27565b908382036060850152613897565b0390a3005b91503d805f863e612d468186613225565b840193602081860312610df15780519067ffffffffffffffff8211610df1570184601f82011215610df157805194612d7d866134f7565b91612d8b6040519384613225565b86835260208084019760051b820101918211610df157602001955b818710612dba575093945084935091612cb4565b8651815260209687019601612da6565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f61240d60209236906004016133c4565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df1577f34d4f6a542f13533b1eaa27e7ae8691368028d05b7075ad7a6c34df851a67a43602073ffffffffffffffffffffffffffffffffffffffff612e8d6130fe565b612e9b825f5416331461395d565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006066541617606655604051908152a1005b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56106896020933690600401613373565b34610df15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157612f5d6130fe565b602435908115158203610df157604435918215158303610df157612f9973ffffffffffffffffffffffffffffffffffffffff5f5416331461395d565b156130b95773ffffffffffffffffffffffffffffffffffffffff16908115908115916130b1575b5015613053577fffffffffffffffffffffffff00000000000000000000000000000000000000005f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f55600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905082612fc0565b73ffffffffffffffffffffffffffffffffffffffff9150167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b359073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b35908115158203610df157565b6040810190811067ffffffffffffffff82111761316b57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60c0810190811067ffffffffffffffff82111761316b57604052565b6060810190811067ffffffffffffffff82111761316b57604052565b6080810190811067ffffffffffffffff82111761316b57604052565b60a0810190811067ffffffffffffffff82111761316b57604052565b610100810190811067ffffffffffffffff82111761316b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761316b57604052565b359063ffffffff82168203610df157565b67ffffffffffffffff811161316b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215610df1578035906132c882613277565b926132d66040519485613225565b82845260208383010111610df157815f926020809301838601378301015290565b919060c083820312610df1576040519061331082613198565b8193803583526020810135602084015261332c60408201613266565b604084015261333d60608201613266565b60608401526080810135608084015260a08101359167ffffffffffffffff8311610df15760a09261336e92016132b1565b910152565b919091606081840312610df1576040519061338d826131b4565b819381359167ffffffffffffffff8311610df1576133b160409392849383016132f7565b8452602081013560208501520135910152565b91909160e081840312610df1576040519060e0820182811067ffffffffffffffff82111761316b57604052819381359167ffffffffffffffff8311610df15761341360c09392849383016132f7565b845261342160208201613121565b602085015260408101356040850152606081013560608501526080810135608085015261345060a08201613142565b60a08501520135910152565b9190826080910312610df157604051613474816131d0565b606080829461348281613121565b845260208101356020850152604081013560408501520135910152565b9060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610df1576040516020810181811067ffffffffffffffff82111761316b576040526134f38193600461345c565b9052565b67ffffffffffffffff811161316b5760051b60200190565b9190608083820312610df157604051613527816131d0565b8093803567ffffffffffffffff8111610df157836135469183016132f7565b825261355460208201613121565b6020830152604081013567ffffffffffffffff8111610df157836135799183016132b1565b604083015260608101359067ffffffffffffffff8211610df157019180601f84011215610df15782356135ab816134f7565b936135b96040519586613225565b81855260208086019260051b820101928311610df157602001905b8282106135e45750505060600152565b602080916135f184613121565b8152019101906135d4565b9190606083820312610df15760405190613615826131b4565b819361362081613121565b835261362e60208201613121565b602084015260408101359167ffffffffffffffff8311610df15760409261336e92016132b1565b919091606081840312610df1576040519061366f826131b4565b819381359167ffffffffffffffff8311610df1576133b160409392849383016135fc565b919061010083820312610df157604051906136ad826131ec565b81936136b9828261345c565b8352608081013567ffffffffffffffff8111610df157826136db9183016135fc565b602084015260a081013567ffffffffffffffff8111610df15782613700918301613655565b604084015260c0810135606084015260e08101359167ffffffffffffffff8311610df15760809261336e92016132b1565b919061012083820312610df1576040519061374b82613198565b8193613757828261345c565b8352608081013567ffffffffffffffff8111610df157826137799183016135fc565b602084015260a0810135604084015260c081013567ffffffffffffffff8111610df157826137a8918301613655565b606084015260e081013560808401526101008101359167ffffffffffffffff8311610df15760a09261336e92016132b1565b91909160a081840312610df157604051906137f4826131ec565b819381359167ffffffffffffffff8311610df15761381860809392849383016132f7565b845261382660208201613142565b602085015261383760408201613121565b604085015261384860608201613121565b60608501520135910152565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b8181106138b45750505090565b82518452602093840193909201916001016138a7565b919060e083820312610df157604051906138e3826131d0565b81936138ef828261345c565b8352608081013567ffffffffffffffff8111610df157826139119183016135fc565b602084015260a081013567ffffffffffffffff8111610df15782613936918301613655565b604084015260c08101359167ffffffffffffffff8311610df15760609261336e92016132b1565b1561396457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b156139c957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f50544c6f6f7065723a20756e617574686f72697a6564000000000000000000006044820152fd5b90602080835192838152019201905f5b818110613a445750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101613a37565b60409073ffffffffffffffffffffffffffffffffffffffff613a9d94931681528160208201520190613854565b90565b613aaa8151613d3a565b90604060208201519101516040519160208301937ff2fd81fd04f9cee0ece251f806445c3b1d5103fcd06f31002a34371094102b59855260408401526060830152608082015260808152613aff60a082613225565b51902090565b604290613b10615620565b613b1861566b565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152613b6960c082613225565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b613bac8151613d3a565b9073ffffffffffffffffffffffffffffffffffffffff60208201511690604081015190606081015160808201519060c060a08401511515930151936040519560208701977f3dbdcfb2686d43e144206a30f06f896545dd0bf378284ab15ce7d25ca65ed9cc895260408801526060870152608086015260a085015260c084015260e08301526101008201526101008152613aff61012082613225565b60405190613c55826131b4565b815f81525f60208201526040805191613c6d83613208565b5f83525f60208401525f828401525f60608401525f60808401525f60a08401525f60c08401525f60e08401520152565b60405190613caa826131d0565b5f6060838281528260208201528260408201520152565b613cc9613c9d565b50604073ffffffffffffffffffffffffffffffffffffffff825116910151613cef613c9d565b5060e08101519073ffffffffffffffffffffffffffffffffffffffff60a081608084015116920151169160405193613d26856131d0565b845260208401526040830152606082015290565b80519060208101519063ffffffff6040820151169063ffffffff60608201511660a0608083015192015160208151910120926040519460208601967f4b5c157e13c9c70173fbe4c990f516a87f1bcb79deeb7706156cfd0a4bb4ee84885260408701526060860152608085015260a084015260c083015260e082015260e08152613aff61010082613225565b613dd09051613f93565b60405160208101917feb325b74167005941f5d4aacf4aa3fd86a6d4dcb7695d06bcc66de38ad87d3c28352604082015260408152613aff606082613225565b613e198151614b1f565b90604060208201519101516040519160208301937f2e509eca09b391e74bb50ce10f43a13d6dfd1390e626fcfc40c60b1d7369a4b0855260408401526060830152608082015260808152613aff60a082613225565b613e788151613f93565b90613e866020820151614b1f565b90613e946040820151613e0f565b906080606082015191015160208151910120916040519360208501957fa2638841c0c7fcfce10275ef9bc3e8b2711ac24f07818116b6942c54a9805f12875260408601526060850152608084015260a083015260c082015260c08152613aff60e082613225565b613f058151613f93565b90613f136020820151614b1f565b90604081015190613f276060820151613e0f565b60a0608083015192015160208151910120926040519460208601967f40d59af1d5bbd55280d0f7131b112cf40ffd6775f6ca26b477734c4dca0cf64e885260408701526060860152608085015260a084015260c083015260e082015260e08152613aff61010082613225565b73ffffffffffffffffffffffffffffffffffffffff8151169060208101519060606040820151910151906040519260208401947f822aa76455d3f0b945088018ee29f25999f8e1b1cbe462cd90f78d0c038148ec865260408501526060840152608083015260a082015260a08152613aff60c082613225565b6140168151613d3a565b90602081015115159073ffffffffffffffffffffffffffffffffffffffff60408201511690608073ffffffffffffffffffffffffffffffffffffffff606083015116910151916040519360208501957f8ac3df3c6aafa50fff9c9cdb9de52954f7d1bcb8a41375bb202fca85c4f86cab875260408601526060850152608084015260a083015260c082015260c08152613aff60e082613225565b90600182811c921680156140f7575b60208310146140ca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916140bf565b604051905f8260045491614114836140b0565b8083529260018116908115614199575060011461413a575b61413892500383613225565b565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061417d5750509060206141389282010161412c565b6020919350806001915483858901015201910190918492614165565b602092506141389491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010161412c565b604051905f82600554916141e9836140b0565b8083529260018116908115614199575060011461420c5761413892500383613225565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b81831061424f5750509060206141389282010161412c565b6020919350806001915483858901015201910190918492614237565b6142758151613d3a565b9073ffffffffffffffffffffffffffffffffffffffff6020820151169060606040820151602081519101209101516040516020810181819360208151939101925f5b8181106143445750506142f19250037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613225565b519020906040519260208401947fc43b1ddd31b47c3575e0cfab0ba34c9546a4f739fce4f13625dc9ae5cc44df62865260408501526060840152608083015260a082015260a08152613aff60c082613225565b845173ffffffffffffffffffffffffffffffffffffffff168352602094850194869450909201916001016142b7565b63ffffffff815116461461440d5763ffffffff60208201511646146143f05760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f50544c6f6f7065723a20756e737570706f7274656420636861696e69640000006044820152fd5b60a0015173ffffffffffffffffffffffffffffffffffffffff1690565b6060015173ffffffffffffffffffffffffffffffffffffffff1690565b9190820391821161443757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181029291811591840414171561443757565b909193949273ffffffffffffffffffffffffffffffffffffffff80821693169183831461470f5773ffffffffffffffffffffffffffffffffffffffff16906144bf818361533a565b9673ffffffffffffffffffffffffffffffffffffffff81511680156147045773ffffffffffffffffffffffffffffffffffffffff826145945f938360408160208f99015116940151918160405195614516876131ec565b8c875260208701998a52604087019081526060870192835260808701948552604051998a9889987f28dc8307000000000000000000000000000000000000000000000000000000008a52604060048b01525116604489015251606488015251166084860152511660a48401525160a060c484015260e4830190613854565b866024830152038183875af1801561231e57614682575b506145b96145c0918361533a565b968761442a565b94670de0b6b3a76400008602868104670de0b6b3a76400001487151715614437575f9082156001171561443757106146245760407fb4f5edbb087700c3f3246c0f164b5277ac48e3720a148d371f9dfed3258662f2918151908152876020820152a4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20737761702062656c6f77206d696e53776170526174656044820152fd5b903d805f843e6146928184613225565b820191602081840312610df15780519067ffffffffffffffff8211610df157019082601f83011215610df1578151926146ca84613277565b906146d86040519283613225565b84825260208585010111610df1575f6020856145c096826145b997018386015e830101525091506145ab565b505f96505050505050565b505050509150905f90565b9495939473ffffffffffffffffffffffffffffffffffffffff80851694921692908385146149535773ffffffffffffffffffffffffffffffffffffffff1691614763818461533a565b9773ffffffffffffffffffffffffffffffffffffffff81511680156149475773ffffffffffffffffffffffffffffffffffffffff5f9161483660408360208701511695015183604051936147b6856131ec565b8b85528160208601988b8a52604087019081526060870192835260808701948552604051998a9889987f28dc8307000000000000000000000000000000000000000000000000000000008a52604060048b01525116604489015251606488015251166084860152511660a48401525160a060c484015260e4830190613854565b876024830152038183885af1801561231e576148c5575b5061485b614862918461533a565b978861442a565b95670de0b6b3a7640000870290878204670de0b6b3a764000014881517156144375761488e9083614464565b116146245760407fb4f5edbb087700c3f3246c0f164b5277ac48e3720a148d371f9dfed3258662f2918151908152876020820152a4565b903d805f843e6148d58184613225565b820191602081840312610df15780519067ffffffffffffffff8211610df157019082601f83011215610df15781519261490d84613277565b9061491b6040519283613225565b84825260208585010111610df1575f602085614862968261485b97018386015e8301015250915061484d565b505f9750505050505050565b5095505f9450505050565b9192909173ffffffffffffffffffffffffffffffffffffffff16803b15610df1575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967fc3b35a7e00000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af1801561231e576149e75750565b5f61413891613225565b519073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b614a1c8151613f93565b90614a2a6020820151614b1f565b906060614a3a6040830151613e0f565b91015160208151910120906040519260208401947f6cd5da344d135a773661e166411b132de126661c92b5d13b7b83c71ff0110f1f865260408501526060840152608083015260a082015260a08152613aff60c082613225565b15614a9b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff81511690604073ffffffffffffffffffffffffffffffffffffffff602083015116910151602081519101206040519160208301937fd3355b017a4df5ab14bfe30be8fc74cf288d6cbdd53b7fb9a45cb406e14cb425855260408401526060830152608082015260808152613aff60a082613225565b9190939294614bb6613c48565b5073ffffffffffffffffffffffffffffffffffffffff8351165f52606960205260405f2094602084019586515f5260205260405f209060208101514210156152dc5785825480155f1461526757505080518751036151e35763ffffffff6040820151169263ffffffff60018401541680940361518557614c4e908773ffffffffffffffffffffffffffffffffffffffff8851166153ff565b156151015790859055835186516040805188815263ffffffff95861660208201526060949373ffffffffffffffffffffffffffffffffffffffff16917e3d5fea7147843a952736a57f88f9e5565759fb750f34a8e58cbc215034c64c91a35b01511690614cb9613c48565b9542604085015111156150a357614ce89173ffffffffffffffffffffffffffffffffffffffff606754166153ff565b1561504557606082019081511015614fc15773ffffffffffffffffffffffffffffffffffffffff8251165f52606860205260405f20835f5260205260405f2054815103614f635751600181018091116144375773ffffffffffffffffffffffffffffffffffffffff92838351165f52606860205260405f20905f5260205260405f205551169051604051917fa92572fb00000000000000000000000000000000000000000000000000000000835260048301526024820152610140816044815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1801561231e575f905f925f91614e1b575b50604084015273ffffffffffffffffffffffffffffffffffffffff918216602084015216815290565b92505050806101403d8111614f5c575b614e358183613225565b8101036101408112610df157815173ffffffffffffffffffffffffffffffffffffffff81168103610df15760208301519173ffffffffffffffffffffffffffffffffffffffff83168303610df1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0610100910112610df15773ffffffffffffffffffffffffffffffffffffffff92839161012060405192614ed684613208565b614ee26040820161558a565b8452614ef06060820161558a565b6020850152614f01608082016149f1565b6040850152614f1260a082016149f1565b6060850152614f2360c082016149f1565b6080850152614f3460e082016149f1565b60a0850152614f4661010082016149f1565b60c0850152015160e08301529290915092614df2565b503d614e2b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20696e76616c69642070726f706f736572206e6f6e63656044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f50544c6f6f7065723a207065726d69744e6f6e6365436170206578636565646560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f50544c6f6f7065723a20696e76616c6964207369676e617475726500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206d6573736167652065787069726564000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f50544c6f6f7065723a20696e76616c6964206f776e6572207369676e6174757260448201527f65000000000000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a20696e76616c69642073657373696f6e206e6f6e6365006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f50544c6f6f7065723a207265712f7065726d697420626f784964206d69736d6160448201527f74636800000000000000000000000000000000000000000000000000000000006064820152fd5b91935091500361527e57606063ffffffff91614cad565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a20726571756573742068617368206d69736d61746368006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a20726571756573742065787069726564000000000000006044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff168061535b57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa90811561231e575f916153ba575090565b90506020813d6020116153e1575b816153d560209383613225565b81010312610df1575190565b3d91506153c8565b9190826040910312610df1576020825192015190565b9061540a8382615691565b600581959295101561555d5715938461553a575b50831561542c575b50505090565b5f93509061547d6154a985949360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190613854565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613225565b51915afa3d15615533573d6154bd81613277565b906154cb6040519283613225565b81523d5f602083013e5b81615525575b816154ea575b505f8080615426565b9050602081805181010312610df157602001517f1626ba7e00000000000000000000000000000000000000000000000000000000145f6154e1565b9050602081511015906154db565b60606154d5565b73ffffffffffffffffffffffffffffffffffffffff84811691161493505f61541e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b519063ffffffff82168203610df157565b92670de0b6b3a76400006155b481946155ba9496614464565b04614464565b04106155c257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206d61784c5456206578636565646564000000000000006044820152fd5b615628614101565b8051908115615638576020012090565b505060025480156156465790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b6156736141d6565b8051908115615683576020012090565b505060035480156156465790565b9060418151145f146156bd576156b991602082015190606060408401519301515f1a906156c6565b9091565b50505f90600290565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615743576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561231e575f5173ffffffffffffffffffffffffffffffffffffffff81161561573b57905f90565b505f90600190565b505050505f9060039056fea26469706673582212207ccb1e2387148f2ddad31a7a0d4c80376a0668e89b585e43a8a0e6505167b13364736f6c634300081e0033";
2678
2670
 
2679
2671
  type PendlePTLooperConstructorParams =
2680
2672
  | [signer?: Signer]
@@ -2697,22 +2689,26 @@ export class PendlePTLooper__factory extends ContractFactory {
2697
2689
  deploy(
2698
2690
  treasury: string,
2699
2691
  positionBoxFactory: string,
2692
+ postStateChecker: string,
2700
2693
  overrides?: Overrides & { from?: string | Promise<string> }
2701
2694
  ): Promise<PendlePTLooper> {
2702
2695
  return super.deploy(
2703
2696
  treasury,
2704
2697
  positionBoxFactory,
2698
+ postStateChecker,
2705
2699
  overrides || {}
2706
2700
  ) as Promise<PendlePTLooper>;
2707
2701
  }
2708
2702
  getDeployTransaction(
2709
2703
  treasury: string,
2710
2704
  positionBoxFactory: string,
2705
+ postStateChecker: string,
2711
2706
  overrides?: Overrides & { from?: string | Promise<string> }
2712
2707
  ): TransactionRequest {
2713
2708
  return super.getDeployTransaction(
2714
2709
  treasury,
2715
2710
  positionBoxFactory,
2711
+ postStateChecker,
2716
2712
  overrides || {}
2717
2713
  );
2718
2714
  }