@pendle/core-v2 0.11.3-testnet → 0.11.5-testnet

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 (289) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +2 -2
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -2
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +2 -2
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +950 -0
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP3PoolSCY.sol/PendleConvexCurveLP3PoolSCY.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP3PoolSCY.sol/PendleConvexCurveLP3PoolSCY.json +963 -0
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP4PoolSCY.sol/PendleConvexCurveLP4PoolSCY.dbg.json +4 -0
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP4PoolSCY.sol/PendleConvexCurveLP4PoolSCY.json +976 -0
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +4 -0
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.json +873 -0
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +76 -0
  19. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvTokenSCY.sol/Pendle3CrvTokenSCY.dbg.json +4 -0
  20. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvTokenSCY.sol/Pendle3CrvTokenSCY.json +950 -0
  21. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/PendleCvxCRVSCY.sol/PendleCvxCRVSCY.dbg.json +4 -0
  22. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/PendleCvxCRVSCY.sol/PendleCvxCRVSCY.json +857 -0
  23. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  24. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +2 -2
  25. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  26. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
  27. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  28. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
  29. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  30. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
  31. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +1 -1
  32. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.json +2 -2
  33. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  34. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
  35. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  36. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithDynamicRewards.sol/SCYBaseWithDynamicRewards.dbg.json +4 -0
  37. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithDynamicRewards.sol/SCYBaseWithDynamicRewards.json +756 -0
  38. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +4 -0
  40. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +294 -0
  41. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/LiquidityMining/{CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json → CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json} +7 -85
  43. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +331 -0
  45. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +4 -0
  46. package/build/artifacts/contracts/core/LiquidityMining/{CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json → CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json} +8 -21
  47. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +7 -7
  49. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +9 -9
  51. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +18 -91
  53. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +20 -28
  56. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +26 -41
  59. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +14 -93
  61. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +84 -9
  64. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +68 -14
  66. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
  67. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
  68. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  70. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +77 -2
  73. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +76 -21
  75. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +113 -2
  77. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +52 -4
  79. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  81. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +22 -4
  83. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +2 -2
  85. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +52 -4
  87. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +52 -4
  89. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +4 -0
  91. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.json +177 -0
  92. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +4 -0
  93. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.json +78 -0
  94. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +4 -0
  95. package/build/artifacts/contracts/{periphery/PermissionsV2Upg.sol/PermissionsV2Upg.json → interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.json} +3 -3
  96. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +4 -0
  97. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +251 -0
  98. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +4 -0
  99. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +232 -0
  100. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +30 -0
  102. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +30 -0
  105. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +30 -0
  107. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +90 -0
  109. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +7 -7
  111. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +7 -7
  113. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +13 -0
  115. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +2 -2
  117. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +4 -0
  118. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +24 -0
  119. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +4 -0
  120. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.json +63 -0
  121. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +2 -2
  125. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  126. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  127. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  128. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  129. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  130. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  131. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +4 -0
  132. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +45 -0
  133. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +4 -0
  134. package/build/artifacts/contracts/libraries/helpers/{SSTORE2Deployer.sol/SSTORE2Deployer.json → BaseSplitCodeFactory.sol/CodeDeployer.json} +4 -4
  135. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  136. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.json +2 -2
  137. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +4 -0
  138. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +35 -0
  139. package/build/artifacts/contracts/libraries/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +4 -0
  140. package/build/artifacts/contracts/libraries/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +136 -0
  141. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  144. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  146. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  148. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  149. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  150. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  151. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +4 -0
  152. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +167 -0
  153. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
  155. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  156. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +86 -63
  157. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  158. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +2 -2
  159. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  160. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  161. package/deployments/43113-core.json +1 -1
  162. package/package.json +1 -1
  163. package/typechain-types/ActionAddRemoveLiq.ts +18 -6
  164. package/typechain-types/ActionSwapPT.ts +18 -6
  165. package/typechain-types/ActionSwapYT.ts +18 -6
  166. package/typechain-types/BaseSplitCodeFactory.ts +118 -0
  167. package/typechain-types/BaseSplitCodeFactoryContract.ts +267 -0
  168. package/typechain-types/ERC20Permit.ts +521 -0
  169. package/typechain-types/IBooster.ts +275 -0
  170. package/typechain-types/ICrvDepositor.ts +174 -0
  171. package/typechain-types/ICrvPool.ts +397 -0
  172. package/typechain-types/ICvxCrv.ts +81 -0
  173. package/typechain-types/IERC20Permit.ts +175 -0
  174. package/typechain-types/IPActionAddRemoveLiq.ts +18 -6
  175. package/typechain-types/IPActionSwapPT.ts +18 -6
  176. package/typechain-types/IPActionSwapYT.ts +18 -6
  177. package/typechain-types/IPAllAction.ts +54 -18
  178. package/typechain-types/IPFeeDistributor.ts +2 -7
  179. package/typechain-types/IPGaugeController.ts +26 -26
  180. package/typechain-types/IPGaugeControllerMainchain.ts +26 -26
  181. package/typechain-types/IPMarket.ts +13 -0
  182. package/typechain-types/IPMsgReceiverApp.ts +104 -0
  183. package/typechain-types/IPMsgSendEndpoint.ts +156 -0
  184. package/typechain-types/IRewards.ts +539 -0
  185. package/typechain-types/Pendle3CrvHelper.ts +133 -0
  186. package/typechain-types/Pendle3CrvTokenSCY.ts +1250 -0
  187. package/typechain-types/PendleConvexCurveLP2PoolSCY.ts +1250 -0
  188. package/typechain-types/PendleConvexCurveLP3PoolSCY.ts +1269 -0
  189. package/typechain-types/PendleConvexCurveLP4PoolSCY.ts +1288 -0
  190. package/typechain-types/PendleConvexCurveLPSCY.ts +1212 -0
  191. package/typechain-types/PendleCvxCRVSCY.ts +1138 -0
  192. package/typechain-types/PendleERC20Permit.ts +443 -0
  193. package/typechain-types/PendleFeeDistributor.ts +2 -41
  194. package/typechain-types/PendleFeeDistributorFactory.ts +28 -1
  195. package/typechain-types/PendleGaugeControllerBaseUpg.ts +27 -27
  196. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +27 -27
  197. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +44 -165
  198. package/typechain-types/PendleMarket.ts +104 -0
  199. package/typechain-types/PendleMarketFactory.ts +74 -16
  200. package/typechain-types/PendleMsgReceiveEndpointUpg.ts +491 -0
  201. package/typechain-types/PendleMsgReceiverAppUpg.ts +250 -0
  202. package/typechain-types/PendleMsgSendEndpointUpg.ts +581 -0
  203. package/typechain-types/PendleMsgSenderAppUpg.ts +289 -0
  204. package/typechain-types/PendlePrincipalToken.ts +104 -0
  205. package/typechain-types/PendleVotingControllerUpg.ts +21 -53
  206. package/typechain-types/PendleYieldContractFactory.ts +86 -28
  207. package/typechain-types/PendleYieldToken.ts +175 -0
  208. package/typechain-types/RouterStatic.ts +58 -29
  209. package/typechain-types/SCYBaseWithDynamicRewards.ts +1063 -0
  210. package/typechain-types/VotingEscrowPendleMainchain.ts +24 -80
  211. package/typechain-types/VotingEscrowPendleSidechain.ts +26 -171
  212. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +66 -4
  213. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  214. package/typechain-types/factories/ActionMintRedeem__factory.ts +36 -4
  215. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  216. package/typechain-types/factories/ActionSwapPT__factory.ts +66 -4
  217. package/typechain-types/factories/ActionSwapYT__factory.ts +66 -4
  218. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +226 -0
  219. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +102 -0
  220. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  221. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +4 -42
  222. package/typechain-types/factories/ERC20Permit__factory.ts +368 -0
  223. package/typechain-types/factories/IBooster__factory.ts +189 -0
  224. package/typechain-types/factories/ICrvDepositor__factory.ts +90 -0
  225. package/typechain-types/factories/ICrvPool__factory.ts +244 -0
  226. package/typechain-types/factories/ICvxCrv__factory.ts +36 -0
  227. package/typechain-types/factories/IERC20Permit__factory.ts +98 -0
  228. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +30 -0
  229. package/typechain-types/factories/IPActionSwapPT__factory.ts +30 -0
  230. package/typechain-types/factories/IPActionSwapYT__factory.ts +30 -0
  231. package/typechain-types/factories/IPAllAction__factory.ts +90 -0
  232. package/typechain-types/factories/IPFeeDistributor__factory.ts +0 -5
  233. package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +7 -7
  234. package/typechain-types/factories/IPGaugeController__factory.ts +7 -7
  235. package/typechain-types/factories/IPMarketFactory__factory.ts +2 -2
  236. package/typechain-types/factories/IPMarket__factory.ts +13 -0
  237. package/typechain-types/factories/IPMsgReceiverApp__factory.ts +39 -0
  238. package/typechain-types/factories/IPMsgSendEndpoint__factory.ts +78 -0
  239. package/typechain-types/factories/IRewards__factory.ts +263 -0
  240. package/typechain-types/factories/ISJoe__factory.ts +2 -2
  241. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  242. package/typechain-types/factories/Pendle3CrvHelper__factory.ts +129 -0
  243. package/typechain-types/factories/Pendle3CrvTokenSCY__factory.ts +1050 -0
  244. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  245. package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +1054 -0
  246. package/typechain-types/factories/PendleConvexCurveLP3PoolSCY__factory.ts +1067 -0
  247. package/typechain-types/factories/PendleConvexCurveLP4PoolSCY__factory.ts +1080 -0
  248. package/typechain-types/factories/PendleConvexCurveLPSCY__factory.ts +892 -0
  249. package/typechain-types/factories/PendleCvxCRVSCY__factory.ts +938 -0
  250. package/typechain-types/factories/PendleERC20Permit__factory.ts +405 -0
  251. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  252. package/typechain-types/factories/PendleEulerSCY__factory.ts +1 -1
  253. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +30 -2
  254. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -19
  255. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +7 -7
  256. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +8 -8
  257. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +26 -91
  258. package/typechain-types/factories/PendleMarketFactory__factory.ts +95 -15
  259. package/typechain-types/factories/PendleMarket__factory.ts +76 -1
  260. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +374 -0
  261. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +131 -0
  262. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +393 -0
  263. package/typechain-types/factories/PendleMsgSenderAppUpg__factory.ts +154 -0
  264. package/typechain-types/factories/PendlePrincipalToken__factory.ts +76 -1
  265. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  266. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  267. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  268. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
  269. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  270. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  271. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +27 -28
  272. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  273. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +1 -1
  274. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +105 -23
  275. package/typechain-types/factories/PendleYieldToken__factory.ts +112 -1
  276. package/typechain-types/factories/RouterStatic__factory.ts +31 -8
  277. package/typechain-types/factories/SCYBaseWithDynamicRewards__factory.ts +775 -0
  278. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +33 -41
  279. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +20 -93
  280. package/typechain-types/hardhat.d.ts +223 -79
  281. package/typechain-types/index.ts +54 -20
  282. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +0 -4
  283. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +0 -4
  284. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +0 -4
  285. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +0 -4
  286. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +0 -10
  287. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +0 -4
  288. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +0 -87
  289. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +0 -4
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "SSTORE2Deployer",
4
- "sourceName": "contracts/libraries/helpers/SSTORE2Deployer.sol",
3
+ "contractName": "CodeDeployer",
4
+ "sourceName": "contracts/libraries/helpers/BaseSplitCodeFactory.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202c4192ea4032e067a864444d1619d05d56063646a5861b00da5ce758947af94964736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202c4192ea4032e067a864444d1619d05d56063646a5861b00da5ce758947af94964736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014f8622e88d78018c804f5a5cec62db3b311d47093e80e1498481c2f3d6be93364736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014f8622e88d78018c804f5a5cec62db3b311d47093e80e1498481c2f3d6be93364736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "PYIndexLib",
4
4
  "sourceName": "contracts/libraries/helpers/PYIndex.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200821f0802d4d5a4986a94c50186a6dc48f47b3dc1982abde142e9b964521437064736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200821f0802d4d5a4986a94c50186a6dc48f47b3dc1982abde142e9b964521437064736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3d1841865fb7920ed7cbac2bce188ba105e97d34b7423b4bc39b08449fdb00364736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3d1841865fb7920ed7cbac2bce188ba105e97d34b7423b4bc39b08449fdb00364736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/b6ca1bd3d285f5444c1a11ab679ab630.json"
4
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AggregationRouterHelper",
4
+ "sourceName": "contracts/libraries/kyberswap/AggregationRouterHelper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "kybercall",
11
+ "type": "bytes"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "newAmount",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "name": "getScaledInputData",
20
+ "outputs": [
21
+ {
22
+ "internalType": "bytes",
23
+ "name": "",
24
+ "type": "bytes"
25
+ }
26
+ ],
27
+ "stateMutability": "pure",
28
+ "type": "function"
29
+ }
30
+ ],
31
+ "bytecode": "0x611ef961003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063e4da6f2e1461003a575b600080fd5b61004d610048366004610b90565b610063565b60405161005a9190610c63565b60405180910390f35b606060006100746004828688610c76565b61007d91610ca0565b90506000808080610091886004818c610c76565b81019061009e9190610f59565b93509350935093506100b1838389610110565b604051919450925085906100cf908690869086908690602401611135565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152955050505050505b9392505050565b610118610b29565b60e084015160a08501516060919084810361013a578686935093505050610277565b846064610148600a82611246565b610152908461125d565b61015c919061127c565b1115801561018a57506064610172600a8261129e565b61017c908361125d565b610186919061127c565b8511155b6101d95760405162461bcd60e51b815260206004820152601b60248201527a6b796265723a20646966666572656e636520746f6f206c6172676560281b60448201526064015b60405180910390fd5b602082161561025657604087015151156102355760405162461bcd60e51b815260206004820152601e60248201527f6b796265723a2063616e2774207363616c652069662074616b6520666565000060448201526064016101d0565b61024087828761027f565b61024b8783886103da565b935093505050610277565b6000610263878388610507565b905061027088838861027f565b9450925050505b935093915050565b610287610b29565b60c084015183610297848361125d565b6102a1919061127c565b60c086015280158015906102b7575060c0850151155b156102c457600160c08601525b60a085018390526040850151516000036102e15784915050610109565b6000805b8660400151518110156103cf5760018760400151516103049190611246565b810361033b576103148286611246565b8760600151828151811061032a5761032a6112b6565b602002602001018181525050610392565b858588606001518381518110610353576103536112b6565b6020026020010151610365919061125d565b61036f919061127c565b87606001518281518110610385576103856112b6565b6020026020010181815250505b866060015181815181106103a8576103a86112b6565b6020026020010151826103bb919061129e565b9150806103c7816112cc565b9150506102e5565b509495945050505050565b60606000848060200190518101906103f2919061147b565b8051519091506000805b828110156104da5761040f600184611246565b81036104465761041f8287611246565b84602001518281518110610435576104356112b6565b60200260200101818152505061049d565b86868560200151838151811061045e5761045e6112b6565b6020026020010151610470919061125d565b61047a919061127c565b84602001518281518110610490576104906112b6565b6020026020010181815250505b836020015181815181106104b3576104b36112b6565b6020026020010151826104c6919061129e565b9150806104d2816112cc565b9150506103fc565b50826040516020016104ec919061155d565b60405160208183030381529060405293505050509392505050565b606060008480602001905181019061051f9190611790565b905083838260600151610532919061125d565b61053c919061127c565b60608201526000805b82515181101561077757600083600001518281518110610567576105676112b6565b6020026020010151600081518110610581576105816112b6565b6020026020010151905060006008826020015161ffff16901c9050600060018660000151516105b09190611246565b84036105c3576105c08589611246565b90505b60ff82166105e35782516105d990828b8b6107a3565b9084529050610755565b60ff8216600114806105f8575060ff82166004145b1561060b5782516105d990828b8b610870565b60011960ff8316016106255782516105d990828b8b6108f1565b60021960ff83160161063f5782516105d990828b8b6107a3565b60041960ff8316016106595782516105d990828b8b610950565b60051960ff8316016106735782516105d990828b8b610a17565b60061960ff8316016106c55760405162461bcd60e51b815260206004820152601b60248201527a6b796265723a2063616e2774207363616c65206b7962657272667160281b60448201526064016101d0565b60071960ff8316016106df5782516105d990828b8b610aca565b60081960ff8316016106f95782516105d990828b8b6107a3565b60405162461bcd60e51b815260206004820152602b60248201527f4167677265676174696f6e4578656375746f723a204465782074797065206e6f60448201526a1d081cdd5c1c1bdc9d195960aa1b60648201526084016101d0565b61075f818661129e565b9450505050808061076f906112cc565b915050610545565b50816040516020016107899190611867565b604051602081830303815290604052925050509392505050565b6060600080868060200190518101906107bc91906119a5565b905085156107d057608081018690526107f1565b848482608001516107e1919061125d565b6107eb919061127c565b60808201525b8060405160200161084e919081516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151909116908201526080808301519082015260a0918201519181019190915260c00190565b6040516020818303038152906040528160800151925092505094509492505050565b6060600080868060200190518101906108899190611a33565b9050851561089d5760a081018690526108be565b84848260a001516108ae919061125d565b6108b8919061127c565b60a08201525b806040516020016108cf9190611ad4565b6040516020818303038152906040528160a00151925092505094509492505050565b60606000808680602001905181019061090a9190611b86565b9050851561091e5760a0810186905261093f565b84848260a0015161092f919061125d565b610939919061127c565b60a08201525b806040516020016108cf9190611c23565b6060600080868060200190518101906109699190611cbd565b9050851561097d576080810186905261099e565b8484826080015161098e919061125d565b610998919061127c565b60808201525b8060405160200161084e919060006101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401526080840151608084015260a084015160a08401528060c08501511660c08401525060e0830151151560e083015292915050565b606060008086806020019051810190610a309190611d78565b90508515610a445760808101869052610a65565b84848260800151610a55919061125d565b610a5f919061127c565b60808201525b608081015160405161084e91839160200182516001600160a01b03908116825260208085015190830152604080850151821690830152606080850151909116908201526080808401519082015260a0928301519281019290925260c082015260e00190565b606060008086806020019051810190610ae39190611db7565b90508515610af75760808101869052610b18565b84848260800151610b08919061125d565b610b12919061127c565b60808201525b8060405160200161084e9190611e41565b60405180610120016040528060006001600160a01b0316815260200160006001600160a01b03168152602001606081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001606081525090565b600080600060408486031215610ba557600080fd5b83356001600160401b0380821115610bbc57600080fd5b818601915086601f830112610bd057600080fd5b813581811115610bdf57600080fd5b876020828501011115610bf157600080fd5b6020928301989097509590910135949350505050565b60005b83811015610c22578181015183820152602001610c0a565b83811115610c31576000848401525b50505050565b60008151808452610c4f816020860160208601610c07565b601f01601f19169290920160200192915050565b6020815260006101096020830184610c37565b60008085851115610c8657600080fd5b83861115610c9357600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610cc85780818660040360031b1b83161692505b505092915050565b6001600160a01b0381168114610ce557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715610d2157610d21610ce8565b60405290565b60405160a081016001600160401b0381118282101715610d2157610d21610ce8565b604080519081016001600160401b0381118282101715610d2157610d21610ce8565b60405160e081016001600160401b0381118282101715610d2157610d21610ce8565b60405160c081016001600160401b0381118282101715610d2157610d21610ce8565b604051601f8201601f191681016001600160401b0381118282101715610dd757610dd7610ce8565b604052919050565b8035610dea81610cd0565b919050565b60006001600160401b03821115610e0857610e08610ce8565b5060051b60200190565b600082601f830112610e2357600080fd5b81356020610e38610e3383610def565b610daf565b82815260059290921b84018101918181019086841115610e5757600080fd5b8286015b84811015610e7b578035610e6e81610cd0565b8352918301918301610e5b565b509695505050505050565b600082601f830112610e9757600080fd5b81356020610ea7610e3383610def565b82815260059290921b84018101918181019086841115610ec657600080fd5b8286015b84811015610e7b5780358352918301918301610eca565b60006001600160401b03821115610efa57610efa610ce8565b50601f01601f191660200190565b600082601f830112610f1957600080fd5b8135610f27610e3382610ee1565b818152846020838601011115610f3c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215610f6f57600080fd5b8435610f7a81610cd0565b935060208501356001600160401b0380821115610f9657600080fd5b908601906101208289031215610fab57600080fd5b610fb3610cfe565b610fbc83610ddf565b8152610fca60208401610ddf565b6020820152604083013582811115610fe157600080fd5b610fed8a828601610e12565b60408301525060608301358281111561100557600080fd5b6110118a828601610e86565b60608301525061102360808401610ddf565b608082015260a083013560a082015260c083013560c082015260e083013560e0820152610100808401358381111561105a57600080fd5b6110668b828701610f08565b82840152505080955050604087013591508082111561108457600080fd5b61109088838901610f08565b935060608701359150808211156110a657600080fd5b506110b387828801610f08565b91505092959194509250565b6001600160a01b03169052565b600081518084526020808501945080840160005b838110156103cf5781516001600160a01b0316875295820195908201906001016110e0565b600081518084526020808501945080840160005b838110156103cf57815187529582019590820190600101611119565b6001600160a01b03851681526080602082018190528451611158918301906110bf565b6000602085015161116c60a08401826110bf565b5060408501516101208060c08501526111896101a08501836110cc565b91506060870151607f19808685030160e08701526111a78483611105565b9350608089015191506101006111bf818801846110bf565b60a08a01518488015260c08a015161014088015260e08a0151610160880152808a0151935050808685030161018087015250506111fc8282610c37565b91505082810360408401526112118186610c37565b905082810360608401526112258185610c37565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b60008282101561125857611258611230565b500390565b600081600019048311821515161561127757611277611230565b500290565b60008261129957634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112b1576112b1611230565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600182016112de576112de611230565b5060010190565b8051610dea81610cd0565b600082601f83011261130157600080fd5b81516020611311610e3383610def565b82815260059290921b8401810191818101908684111561133057600080fd5b8286015b84811015610e7b57805161134781610cd0565b8352918301918301611334565b600082601f83011261136557600080fd5b81516020611375610e3383610def565b82815260059290921b8401810191818101908684111561139457600080fd5b8286015b84811015610e7b5780518352918301918301611398565b600082601f8301126113c057600080fd5b81516113ce610e3382610ee1565b8181528460208386010111156113e357600080fd5b6113f4826020830160208701610c07565b949350505050565b600082601f83011261140d57600080fd5b8151602061141d610e3383610def565b82815260059290921b8401810191818101908684111561143c57600080fd5b8286015b84811015610e7b5780516001600160401b0381111561145f5760008081fd5b61146d8986838b01016113af565b845250918301918301611440565b60006020828403121561148d57600080fd5b81516001600160401b03808211156114a457600080fd5b9083019060a082860312156114b857600080fd5b6114c0610d27565b8251828111156114cf57600080fd5b6114db878286016112f0565b8252506020830151828111156114f057600080fd5b6114fc87828601611354565b60208301525060408301518281111561151457600080fd5b611520878286016113fc565b6040830152506060830151606082015260808301518281111561154257600080fd5b61154e878286016113af565b60808301525095945050505050565b60006020808352835160a08285015261157960c08501826110cc565b905081850151601f19808684030160408701526115968383611105565b60408801518782038301606089015280518083529194508501925084840190600581901b8501860160005b828110156115ed57848783030184526115db828751610c37565b958801959388019391506001016115c1565b5060608a015160808a015260808a01519650838982030160a08a01526116138188610c37565b9a9950505050505050505050565b600082601f83011261163257600080fd5b8151611640610e3382610def565b808282526020820191508560208460051b870101111561165f57600080fd5b602085015b60208460051b8701018110156117865780516001600160401b0381111561168a57600080fd5b8601603f8101881361169b57600080fd5b60208101516116ac610e3382610def565b808282526020820191508a60408460051b86010111156116cb57600080fd5b604084015b60408460051b8601018110156117705780516001600160401b038111156116f657600080fd5b60408682018e03603f1901121561170c57600080fd5b611714610d49565b868201604001516001600160401b0381111561172f57600080fd5b6117408f604083868c0101016113af565b825250908601606001519061ffff8216821461175b57600080fd5b602081810192909252845292830192016116d0565b5086525050602093840193919091019050611664565b5095945050505050565b6000602082840312156117a257600080fd5b81516001600160401b03808211156117b957600080fd5b9083019060e082860312156117cd57600080fd5b6117d5610d6b565b8251828111156117e457600080fd5b6117f087828601611621565b8252506117ff602084016112e5565b6020820152611810604084016112e5565b60408201526060830151606082015261182b608084016112e5565b608082015260a083015160a082015260c08301518281111561184c57600080fd5b611858878286016113af565b60c08301525095945050505050565b6020808252825160e0838301528051610100840181905260009291600582811b860161012090810193928501929087019186805b8381101561192a5789870361011f1901855285518051808952908901908989019080861b8a018b01855b8281101561191457601f198c83030184528451604081518185526118eb82860182610c37565b91505061ffff8f830151168f85015280935050508c850194508c840193506001810190506118c5565b509950505095880195509387019360010161189b565b50505050505081850151915061194360408501836110bf565b6040850151915061195760608501836110bf565b606085015160808501526080850151915061197560a08501836110bf565b60a085015160c085015260c08501519150601f198482030160e085015261199c8183610c37565b95945050505050565b600060c082840312156119b757600080fd5b6119bf610d8d565b82516119ca81610cd0565b815260208301516119da81610cd0565b602082015260408301516119ed81610cd0565b60408201526060830151611a0081610cd0565b60608201526080838101519082015260a0928301519281019290925250919050565b805160ff81168114610dea57600080fd5b60006101208284031215611a4657600080fd5b611a4e610cfe565b611a57836112e5565b8152611a65602084016112e5565b6020820152611a76604084016112e5565b6040820152611a8760608401611a22565b6060820152611a9860808401611a22565b608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100611ac98185016112e5565b908201529392505050565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191611b08908401826110bf565b506060830151611b1d606084018260ff169052565b506080830151611b32608084018260ff169052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151610cc8828501826110bf565b8051600f81900b8114610dea57600080fd5b80518015158114610dea57600080fd5b60006101208284031215611b9957600080fd5b611ba1610cfe565b611baa836112e5565b8152611bb8602084016112e5565b6020820152611bc9604084016112e5565b6040820152611bda60608401611b64565b6060820152611beb60808401611b64565b608082015260a083015160a082015260c083015160c0820152611c1060e08401611b76565b60e0820152610100611ac9818501611b76565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191611c57908401826110bf565b506060830151611c6c6060840182600f0b9052565b506080830151611c816080840182600f0b9052565b5060a083015160a083015260c083015160c083015260e0830151611ca960e084018215159052565b506101008381015180151584830152610cc8565b6000610100808385031215611cd157600080fd5b604051908101906001600160401b0382118183101715611cf357611cf3610ce8565b8160405283519150611d0482610cd0565b818152611d13602085016112e5565b6020820152611d24604085016112e5565b6040820152611d35606085016112e5565b60608201526080840151608082015260a084015160a0820152611d5a60c085016112e5565b60c0820152611d6b60e08501611b76565b60e0820152949350505050565b600060c08284031215611d8a57600080fd5b611d92610d8d565b8251611d9d81610cd0565b81526020838101519082015260408301516119ed81610cd0565b60006101208284031215611dca57600080fd5b611dd2610cfe565b611ddb836112e5565b8152611de9602084016112e5565b6020820152611dfa604084016112e5565b6040820152611e0b606084016112e5565b60608201526080830151608082015260a083015160a0820152611e3060c084016112e5565b60c0820152611c1060e08401611b76565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191611e75908401826110bf565b506060830151611e8860608401826110bf565b506080830151608083015260a083015160a083015260c0830151611eaf60c08401826110bf565b5060e0830151611ca960e08401821515905256fea264697066735822122036923d022cc317115189c1de665f949c91244059d036a480c29388570e08985164736f6c634300080f0033",
32
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063e4da6f2e1461003a575b600080fd5b61004d610048366004610b90565b610063565b60405161005a9190610c63565b60405180910390f35b606060006100746004828688610c76565b61007d91610ca0565b90506000808080610091886004818c610c76565b81019061009e9190610f59565b93509350935093506100b1838389610110565b604051919450925085906100cf908690869086908690602401611135565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152955050505050505b9392505050565b610118610b29565b60e084015160a08501516060919084810361013a578686935093505050610277565b846064610148600a82611246565b610152908461125d565b61015c919061127c565b1115801561018a57506064610172600a8261129e565b61017c908361125d565b610186919061127c565b8511155b6101d95760405162461bcd60e51b815260206004820152601b60248201527a6b796265723a20646966666572656e636520746f6f206c6172676560281b60448201526064015b60405180910390fd5b602082161561025657604087015151156102355760405162461bcd60e51b815260206004820152601e60248201527f6b796265723a2063616e2774207363616c652069662074616b6520666565000060448201526064016101d0565b61024087828761027f565b61024b8783886103da565b935093505050610277565b6000610263878388610507565b905061027088838861027f565b9450925050505b935093915050565b610287610b29565b60c084015183610297848361125d565b6102a1919061127c565b60c086015280158015906102b7575060c0850151155b156102c457600160c08601525b60a085018390526040850151516000036102e15784915050610109565b6000805b8660400151518110156103cf5760018760400151516103049190611246565b810361033b576103148286611246565b8760600151828151811061032a5761032a6112b6565b602002602001018181525050610392565b858588606001518381518110610353576103536112b6565b6020026020010151610365919061125d565b61036f919061127c565b87606001518281518110610385576103856112b6565b6020026020010181815250505b866060015181815181106103a8576103a86112b6565b6020026020010151826103bb919061129e565b9150806103c7816112cc565b9150506102e5565b509495945050505050565b60606000848060200190518101906103f2919061147b565b8051519091506000805b828110156104da5761040f600184611246565b81036104465761041f8287611246565b84602001518281518110610435576104356112b6565b60200260200101818152505061049d565b86868560200151838151811061045e5761045e6112b6565b6020026020010151610470919061125d565b61047a919061127c565b84602001518281518110610490576104906112b6565b6020026020010181815250505b836020015181815181106104b3576104b36112b6565b6020026020010151826104c6919061129e565b9150806104d2816112cc565b9150506103fc565b50826040516020016104ec919061155d565b60405160208183030381529060405293505050509392505050565b606060008480602001905181019061051f9190611790565b905083838260600151610532919061125d565b61053c919061127c565b60608201526000805b82515181101561077757600083600001518281518110610567576105676112b6565b6020026020010151600081518110610581576105816112b6565b6020026020010151905060006008826020015161ffff16901c9050600060018660000151516105b09190611246565b84036105c3576105c08589611246565b90505b60ff82166105e35782516105d990828b8b6107a3565b9084529050610755565b60ff8216600114806105f8575060ff82166004145b1561060b5782516105d990828b8b610870565b60011960ff8316016106255782516105d990828b8b6108f1565b60021960ff83160161063f5782516105d990828b8b6107a3565b60041960ff8316016106595782516105d990828b8b610950565b60051960ff8316016106735782516105d990828b8b610a17565b60061960ff8316016106c55760405162461bcd60e51b815260206004820152601b60248201527a6b796265723a2063616e2774207363616c65206b7962657272667160281b60448201526064016101d0565b60071960ff8316016106df5782516105d990828b8b610aca565b60081960ff8316016106f95782516105d990828b8b6107a3565b60405162461bcd60e51b815260206004820152602b60248201527f4167677265676174696f6e4578656375746f723a204465782074797065206e6f60448201526a1d081cdd5c1c1bdc9d195960aa1b60648201526084016101d0565b61075f818661129e565b9450505050808061076f906112cc565b915050610545565b50816040516020016107899190611867565b604051602081830303815290604052925050509392505050565b6060600080868060200190518101906107bc91906119a5565b905085156107d057608081018690526107f1565b848482608001516107e1919061125d565b6107eb919061127c565b60808201525b8060405160200161084e919081516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151909116908201526080808301519082015260a0918201519181019190915260c00190565b6040516020818303038152906040528160800151925092505094509492505050565b6060600080868060200190518101906108899190611a33565b9050851561089d5760a081018690526108be565b84848260a001516108ae919061125d565b6108b8919061127c565b60a08201525b806040516020016108cf9190611ad4565b6040516020818303038152906040528160a00151925092505094509492505050565b60606000808680602001905181019061090a9190611b86565b9050851561091e5760a0810186905261093f565b84848260a0015161092f919061125d565b610939919061127c565b60a08201525b806040516020016108cf9190611c23565b6060600080868060200190518101906109699190611cbd565b9050851561097d576080810186905261099e565b8484826080015161098e919061125d565b610998919061127c565b60808201525b8060405160200161084e919060006101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401526080840151608084015260a084015160a08401528060c08501511660c08401525060e0830151151560e083015292915050565b606060008086806020019051810190610a309190611d78565b90508515610a445760808101869052610a65565b84848260800151610a55919061125d565b610a5f919061127c565b60808201525b608081015160405161084e91839160200182516001600160a01b03908116825260208085015190830152604080850151821690830152606080850151909116908201526080808401519082015260a0928301519281019290925260c082015260e00190565b606060008086806020019051810190610ae39190611db7565b90508515610af75760808101869052610b18565b84848260800151610b08919061125d565b610b12919061127c565b60808201525b8060405160200161084e9190611e41565b60405180610120016040528060006001600160a01b0316815260200160006001600160a01b03168152602001606081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001606081525090565b600080600060408486031215610ba557600080fd5b83356001600160401b0380821115610bbc57600080fd5b818601915086601f830112610bd057600080fd5b813581811115610bdf57600080fd5b876020828501011115610bf157600080fd5b6020928301989097509590910135949350505050565b60005b83811015610c22578181015183820152602001610c0a565b83811115610c31576000848401525b50505050565b60008151808452610c4f816020860160208601610c07565b601f01601f19169290920160200192915050565b6020815260006101096020830184610c37565b60008085851115610c8657600080fd5b83861115610c9357600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610cc85780818660040360031b1b83161692505b505092915050565b6001600160a01b0381168114610ce557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715610d2157610d21610ce8565b60405290565b60405160a081016001600160401b0381118282101715610d2157610d21610ce8565b604080519081016001600160401b0381118282101715610d2157610d21610ce8565b60405160e081016001600160401b0381118282101715610d2157610d21610ce8565b60405160c081016001600160401b0381118282101715610d2157610d21610ce8565b604051601f8201601f191681016001600160401b0381118282101715610dd757610dd7610ce8565b604052919050565b8035610dea81610cd0565b919050565b60006001600160401b03821115610e0857610e08610ce8565b5060051b60200190565b600082601f830112610e2357600080fd5b81356020610e38610e3383610def565b610daf565b82815260059290921b84018101918181019086841115610e5757600080fd5b8286015b84811015610e7b578035610e6e81610cd0565b8352918301918301610e5b565b509695505050505050565b600082601f830112610e9757600080fd5b81356020610ea7610e3383610def565b82815260059290921b84018101918181019086841115610ec657600080fd5b8286015b84811015610e7b5780358352918301918301610eca565b60006001600160401b03821115610efa57610efa610ce8565b50601f01601f191660200190565b600082601f830112610f1957600080fd5b8135610f27610e3382610ee1565b818152846020838601011115610f3c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215610f6f57600080fd5b8435610f7a81610cd0565b935060208501356001600160401b0380821115610f9657600080fd5b908601906101208289031215610fab57600080fd5b610fb3610cfe565b610fbc83610ddf565b8152610fca60208401610ddf565b6020820152604083013582811115610fe157600080fd5b610fed8a828601610e12565b60408301525060608301358281111561100557600080fd5b6110118a828601610e86565b60608301525061102360808401610ddf565b608082015260a083013560a082015260c083013560c082015260e083013560e0820152610100808401358381111561105a57600080fd5b6110668b828701610f08565b82840152505080955050604087013591508082111561108457600080fd5b61109088838901610f08565b935060608701359150808211156110a657600080fd5b506110b387828801610f08565b91505092959194509250565b6001600160a01b03169052565b600081518084526020808501945080840160005b838110156103cf5781516001600160a01b0316875295820195908201906001016110e0565b600081518084526020808501945080840160005b838110156103cf57815187529582019590820190600101611119565b6001600160a01b03851681526080602082018190528451611158918301906110bf565b6000602085015161116c60a08401826110bf565b5060408501516101208060c08501526111896101a08501836110cc565b91506060870151607f19808685030160e08701526111a78483611105565b9350608089015191506101006111bf818801846110bf565b60a08a01518488015260c08a015161014088015260e08a0151610160880152808a0151935050808685030161018087015250506111fc8282610c37565b91505082810360408401526112118186610c37565b905082810360608401526112258185610c37565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b60008282101561125857611258611230565b500390565b600081600019048311821515161561127757611277611230565b500290565b60008261129957634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112b1576112b1611230565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600182016112de576112de611230565b5060010190565b8051610dea81610cd0565b600082601f83011261130157600080fd5b81516020611311610e3383610def565b82815260059290921b8401810191818101908684111561133057600080fd5b8286015b84811015610e7b57805161134781610cd0565b8352918301918301611334565b600082601f83011261136557600080fd5b81516020611375610e3383610def565b82815260059290921b8401810191818101908684111561139457600080fd5b8286015b84811015610e7b5780518352918301918301611398565b600082601f8301126113c057600080fd5b81516113ce610e3382610ee1565b8181528460208386010111156113e357600080fd5b6113f4826020830160208701610c07565b949350505050565b600082601f83011261140d57600080fd5b8151602061141d610e3383610def565b82815260059290921b8401810191818101908684111561143c57600080fd5b8286015b84811015610e7b5780516001600160401b0381111561145f5760008081fd5b61146d8986838b01016113af565b845250918301918301611440565b60006020828403121561148d57600080fd5b81516001600160401b03808211156114a457600080fd5b9083019060a082860312156114b857600080fd5b6114c0610d27565b8251828111156114cf57600080fd5b6114db878286016112f0565b8252506020830151828111156114f057600080fd5b6114fc87828601611354565b60208301525060408301518281111561151457600080fd5b611520878286016113fc565b6040830152506060830151606082015260808301518281111561154257600080fd5b61154e878286016113af565b60808301525095945050505050565b60006020808352835160a08285015261157960c08501826110cc565b905081850151601f19808684030160408701526115968383611105565b60408801518782038301606089015280518083529194508501925084840190600581901b8501860160005b828110156115ed57848783030184526115db828751610c37565b958801959388019391506001016115c1565b5060608a015160808a015260808a01519650838982030160a08a01526116138188610c37565b9a9950505050505050505050565b600082601f83011261163257600080fd5b8151611640610e3382610def565b808282526020820191508560208460051b870101111561165f57600080fd5b602085015b60208460051b8701018110156117865780516001600160401b0381111561168a57600080fd5b8601603f8101881361169b57600080fd5b60208101516116ac610e3382610def565b808282526020820191508a60408460051b86010111156116cb57600080fd5b604084015b60408460051b8601018110156117705780516001600160401b038111156116f657600080fd5b60408682018e03603f1901121561170c57600080fd5b611714610d49565b868201604001516001600160401b0381111561172f57600080fd5b6117408f604083868c0101016113af565b825250908601606001519061ffff8216821461175b57600080fd5b602081810192909252845292830192016116d0565b5086525050602093840193919091019050611664565b5095945050505050565b6000602082840312156117a257600080fd5b81516001600160401b03808211156117b957600080fd5b9083019060e082860312156117cd57600080fd5b6117d5610d6b565b8251828111156117e457600080fd5b6117f087828601611621565b8252506117ff602084016112e5565b6020820152611810604084016112e5565b60408201526060830151606082015261182b608084016112e5565b608082015260a083015160a082015260c08301518281111561184c57600080fd5b611858878286016113af565b60c08301525095945050505050565b6020808252825160e0838301528051610100840181905260009291600582811b860161012090810193928501929087019186805b8381101561192a5789870361011f1901855285518051808952908901908989019080861b8a018b01855b8281101561191457601f198c83030184528451604081518185526118eb82860182610c37565b91505061ffff8f830151168f85015280935050508c850194508c840193506001810190506118c5565b509950505095880195509387019360010161189b565b50505050505081850151915061194360408501836110bf565b6040850151915061195760608501836110bf565b606085015160808501526080850151915061197560a08501836110bf565b60a085015160c085015260c08501519150601f198482030160e085015261199c8183610c37565b95945050505050565b600060c082840312156119b757600080fd5b6119bf610d8d565b82516119ca81610cd0565b815260208301516119da81610cd0565b602082015260408301516119ed81610cd0565b60408201526060830151611a0081610cd0565b60608201526080838101519082015260a0928301519281019290925250919050565b805160ff81168114610dea57600080fd5b60006101208284031215611a4657600080fd5b611a4e610cfe565b611a57836112e5565b8152611a65602084016112e5565b6020820152611a76604084016112e5565b6040820152611a8760608401611a22565b6060820152611a9860808401611a22565b608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100611ac98185016112e5565b908201529392505050565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191611b08908401826110bf565b506060830151611b1d606084018260ff169052565b506080830151611b32608084018260ff169052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151610cc8828501826110bf565b8051600f81900b8114610dea57600080fd5b80518015158114610dea57600080fd5b60006101208284031215611b9957600080fd5b611ba1610cfe565b611baa836112e5565b8152611bb8602084016112e5565b6020820152611bc9604084016112e5565b6040820152611bda60608401611b64565b6060820152611beb60808401611b64565b608082015260a083015160a082015260c083015160c0820152611c1060e08401611b76565b60e0820152610100611ac9818501611b76565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191611c57908401826110bf565b506060830151611c6c6060840182600f0b9052565b506080830151611c816080840182600f0b9052565b5060a083015160a083015260c083015160c083015260e0830151611ca960e084018215159052565b506101008381015180151584830152610cc8565b6000610100808385031215611cd157600080fd5b604051908101906001600160401b0382118183101715611cf357611cf3610ce8565b8160405283519150611d0482610cd0565b818152611d13602085016112e5565b6020820152611d24604085016112e5565b6040820152611d35606085016112e5565b60608201526080840151608082015260a084015160a0820152611d5a60c085016112e5565b60c0820152611d6b60e08501611b76565b60e0820152949350505050565b600060c08284031215611d8a57600080fd5b611d92610d8d565b8251611d9d81610cd0565b81526020838101519082015260408301516119ed81610cd0565b60006101208284031215611dca57600080fd5b611dd2610cfe565b611ddb836112e5565b8152611de9602084016112e5565b6020820152611dfa604084016112e5565b6040820152611e0b606084016112e5565b60608201526080830151608082015260a083015160a0820152611e3060c084016112e5565b60c0820152611c1060e08401611b76565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191611e75908401826110bf565b506060830151611e8860608401826110bf565b506080830151608083015260a083015160a083015260c0830151611eaf60c08401826110bf565b5060e0830151611ca960e08401821515905256fea264697066735822122036923d022cc317115189c1de665f949c91244059d036a480c29388570e08985164736f6c634300080f0033",
33
+ "linkReferences": {},
34
+ "deployedLinkReferences": {}
35
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/b6ca1bd3d285f5444c1a11ab679ab630.json"
4
+ }
@@ -0,0 +1,136 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IMultihopRouter",
4
+ "sourceName": "contracts/libraries/kyberswap/IMultihopRouter.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "pair",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint256",
18
+ "name": "amountOut",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "address",
24
+ "name": "output",
25
+ "type": "address"
26
+ }
27
+ ],
28
+ "name": "Exchange",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "WETH",
34
+ "outputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "stateMutability": "view",
42
+ "type": "function"
43
+ },
44
+ {
45
+ "inputs": [],
46
+ "name": "factory",
47
+ "outputs": [
48
+ {
49
+ "internalType": "address",
50
+ "name": "",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "stateMutability": "view",
55
+ "type": "function"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "formula",
60
+ "outputs": [
61
+ {
62
+ "internalType": "address",
63
+ "name": "",
64
+ "type": "address"
65
+ }
66
+ ],
67
+ "stateMutability": "view",
68
+ "type": "function"
69
+ },
70
+ {
71
+ "inputs": [
72
+ {
73
+ "components": [
74
+ {
75
+ "internalType": "bytes",
76
+ "name": "data",
77
+ "type": "bytes"
78
+ },
79
+ {
80
+ "internalType": "uint16",
81
+ "name": "dexOption",
82
+ "type": "uint16"
83
+ }
84
+ ],
85
+ "internalType": "struct IMultihopRouter.Swap[][]",
86
+ "name": "swapSequences",
87
+ "type": "tuple[][]"
88
+ },
89
+ {
90
+ "internalType": "address",
91
+ "name": "tokenIn",
92
+ "type": "address"
93
+ },
94
+ {
95
+ "internalType": "address",
96
+ "name": "tokenOut",
97
+ "type": "address"
98
+ },
99
+ {
100
+ "internalType": "uint256",
101
+ "name": "minTotalAmountOut",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "internalType": "address",
106
+ "name": "to",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "internalType": "uint256",
111
+ "name": "deadline",
112
+ "type": "uint256"
113
+ },
114
+ {
115
+ "internalType": "bytes",
116
+ "name": "destTokenFeeData",
117
+ "type": "bytes"
118
+ }
119
+ ],
120
+ "name": "multihopBatchSwapExactIn",
121
+ "outputs": [
122
+ {
123
+ "internalType": "uint256",
124
+ "name": "totalAmountOut",
125
+ "type": "uint256"
126
+ }
127
+ ],
128
+ "stateMutability": "payable",
129
+ "type": "function"
130
+ }
131
+ ],
132
+ "bytecode": "0x",
133
+ "deployedBytecode": "0x",
134
+ "linkReferences": {},
135
+ "deployedLinkReferences": {}
136
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../../build-info/b6ca1bd3d285f5444c1a11ab679ab630.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtInLib",
4
4
  "sourceName": "contracts/libraries/math/MarketApproxLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122032fd55736f0f27873b85784f64bf93d58ea5bcad0747d878cf24a11e5c5faf7f64736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122032fd55736f0f27873b85784f64bf93d58ea5bcad0747d878cf24a11e5c5faf7f64736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220850ba4694d4364a0f7c3d7e3883f6f6bc968feafd421766bd2d14c575136bba464736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220850ba4694d4364a0f7c3d7e3883f6f6bc968feafd421766bd2d14c575136bba464736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtOutLib",
4
4
  "sourceName": "contracts/libraries/math/MarketApproxLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122018ec2614ae7a70d8e11975bdb267d98c2d398f6e5574f34bf63249acc041730c64736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122018ec2614ae7a70d8e11975bdb267d98c2d398f6e5574f34bf63249acc041730c64736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122000aa81c92c939578211d7450341447039e4694f6b881eab597fdfb5504f4214a64736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122000aa81c92c939578211d7450341447039e4694f6b881eab597fdfb5504f4214a64736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketMathCore",
4
4
  "sourceName": "contracts/libraries/math/MarketMathCore.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202d3efa4b663fcb20cc46af73b51ee8c879e5ea028f8bd35b308595f0bb77d89f64736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202d3efa4b663fcb20cc46af73b51ee8c879e5ea028f8bd35b308595f0bb77d89f64736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203c477d7e76940f83b20223db7cd8076430e01a75b0b06829cf05c5d6b363be7564736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203c477d7e76940f83b20223db7cd8076430e01a75b0b06829cf05c5d6b363be7564736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "Math",
4
4
  "sourceName": "contracts/libraries/math/Math.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220adc6f1188631c00de4e70ecffee5db25f88ffe4d064978570ef14ccb3d93d7e964736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220adc6f1188631c00de4e70ecffee5db25f88ffe4d064978570ef14ccb3d93d7e964736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220665ea66c664ba44eadd2e7a98b3e5e93011db2ae98d45135db26531b651b179364736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220665ea66c664ba44eadd2e7a98b3e5e93011db2ae98d45135db26531b651b179364736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
+ }
@@ -0,0 +1,167 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BaseSplitCodeFactoryContract",
4
+ "sourceName": "contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": true,
16
+ "internalType": "string",
17
+ "name": "name",
18
+ "type": "string"
19
+ },
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "creationCodeContractA",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "creationCodeSizeA",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "indexed": false,
34
+ "internalType": "address",
35
+ "name": "creationCodeContractB",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "creationCodeSizeB",
42
+ "type": "uint256"
43
+ }
44
+ ],
45
+ "name": "Deployed",
46
+ "type": "event"
47
+ },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [
51
+ {
52
+ "indexed": true,
53
+ "internalType": "address",
54
+ "name": "previousOwner",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "indexed": true,
59
+ "internalType": "address",
60
+ "name": "newOwner",
61
+ "type": "address"
62
+ }
63
+ ],
64
+ "name": "OwnershipTransferred",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "claimOwnership",
70
+ "outputs": [],
71
+ "stateMutability": "nonpayable",
72
+ "type": "function"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "string",
78
+ "name": "name",
79
+ "type": "string"
80
+ },
81
+ {
82
+ "internalType": "bytes",
83
+ "name": "creationCode",
84
+ "type": "bytes"
85
+ }
86
+ ],
87
+ "name": "deploy",
88
+ "outputs": [
89
+ {
90
+ "internalType": "address",
91
+ "name": "creationCodeContractA",
92
+ "type": "address"
93
+ },
94
+ {
95
+ "internalType": "uint256",
96
+ "name": "creationCodeSizeA",
97
+ "type": "uint256"
98
+ },
99
+ {
100
+ "internalType": "address",
101
+ "name": "creationCodeContractB",
102
+ "type": "address"
103
+ },
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "creationCodeSizeB",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "stateMutability": "nonpayable",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "owner",
116
+ "outputs": [
117
+ {
118
+ "internalType": "address",
119
+ "name": "",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "stateMutability": "view",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [],
128
+ "name": "pendingOwner",
129
+ "outputs": [
130
+ {
131
+ "internalType": "address",
132
+ "name": "",
133
+ "type": "address"
134
+ }
135
+ ],
136
+ "stateMutability": "view",
137
+ "type": "function"
138
+ },
139
+ {
140
+ "inputs": [
141
+ {
142
+ "internalType": "address",
143
+ "name": "newOwner",
144
+ "type": "address"
145
+ },
146
+ {
147
+ "internalType": "bool",
148
+ "name": "direct",
149
+ "type": "bool"
150
+ },
151
+ {
152
+ "internalType": "bool",
153
+ "name": "renounce",
154
+ "type": "bool"
155
+ }
156
+ ],
157
+ "name": "transferOwnership",
158
+ "outputs": [],
159
+ "stateMutability": "nonpayable",
160
+ "type": "function"
161
+ }
162
+ ],
163
+ "bytecode": "0x608060405234801561001057600080fd5b50600154600160a81b900460ff1661003557600154600160a01b900460ff161561003d565b61003d6100f1565b6100a55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b600154600160a81b900460ff161580156100cf576001805461ffff60a01b191661010160a01b1790555b6100d761010c565b80156100eb576001805460ff60a81b191690555b5061019c565b60006101063061018d60201b6103661760201c565b15905090565b600154600160a81b900460ff166101795760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161009c565b600080546001600160a01b03191633179055565b6001600160a01b03163b151590565b610714806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063078dfbe71461005c5780634e71e0c8146100715780638da5cb5b14610079578063be3397e9146100a9578063e30c3978146100cc575b600080fd5b61006f61006a36600461049b565b6100df565b005b61006f6101e5565b60005461008c906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100bc6100b736600461054a565b610290565b6040516100a09493929190610624565b60015461008c906001600160a01b031681565b6000546001600160a01b031633146101125760405162461bcd60e51b81526004016101099061064e565b60405180910390fd5b81156101c3576001600160a01b03831615158061012c5750805b6101705760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610109565b600080546040516001600160a01b03808716939216916000805160206106bf83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6001546001600160a01b03163381146102405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610109565b600080546040516001600160a01b03808516939216916000805160206106bf83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600080548190819081906001600160a01b031633146102c15760405162461bcd60e51b81526004016101099061064e565b61030086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061037592505050565b60405193975091955093509150610318908890610683565b60405180910390207fbc62a8a743e5565da3487dae8f72d8e62aba1c03b13971b56ace6da5812d9ac6858585856040516103559493929190610624565b60405180910390a293509350935093565b6001600160a01b03163b151590565b60008060008060008551116103ba5760405162461bcd60e51b815260206004820152600b60248201526a0f4cae4de40d8cadccee8d60ab1b6044820152606401610109565b84516002810480875293508381039150856103d4816103f8565b8786018051858252919750906103e9826103f8565b93909252529395929450919050565b80517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe808352600091602081018484f090845291506001600160a01b0382166104805760405162461bcd60e51b815260206004820152601a6024820152792222a82627aca6a2a72a2fa320a4a622a22fa120a620a721a2a960311b6044820152606401610109565b50919050565b8035801515811461049657600080fd5b919050565b6000806000606084860312156104b057600080fd5b83356001600160a01b03811681146104c757600080fd5b92506104d560208501610486565b91506104e360408501610486565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008083601f84011261051457600080fd5b5081356001600160401b0381111561052b57600080fd5b60208301915083602082850101111561054357600080fd5b9250929050565b60008060006040848603121561055f57600080fd5b83356001600160401b038082111561057657600080fd5b818601915086601f83011261058a57600080fd5b81358181111561059c5761059c6104ec565b604051601f8201601f19908116603f011681019083821181831017156105c4576105c46104ec565b816040528281528960208487010111156105dd57600080fd5b82602086016020830137600060208483010152809750505050602086013591508082111561060a57600080fd5b5061061786828701610502565b9497909650939450505050565b6001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000825160005b818110156106a4576020818601810151858301520161068a565b818111156106b3576000828501525b50919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220e9ddd57e0660c31fd2b0e2fa192cafc8ed895bb552e5fdcb998b8ffab6842f1f64736f6c634300080f0033",
164
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063078dfbe71461005c5780634e71e0c8146100715780638da5cb5b14610079578063be3397e9146100a9578063e30c3978146100cc575b600080fd5b61006f61006a36600461049b565b6100df565b005b61006f6101e5565b60005461008c906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100bc6100b736600461054a565b610290565b6040516100a09493929190610624565b60015461008c906001600160a01b031681565b6000546001600160a01b031633146101125760405162461bcd60e51b81526004016101099061064e565b60405180910390fd5b81156101c3576001600160a01b03831615158061012c5750805b6101705760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610109565b600080546040516001600160a01b03808716939216916000805160206106bf83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6001546001600160a01b03163381146102405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610109565b600080546040516001600160a01b03808516939216916000805160206106bf83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600080548190819081906001600160a01b031633146102c15760405162461bcd60e51b81526004016101099061064e565b61030086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061037592505050565b60405193975091955093509150610318908890610683565b60405180910390207fbc62a8a743e5565da3487dae8f72d8e62aba1c03b13971b56ace6da5812d9ac6858585856040516103559493929190610624565b60405180910390a293509350935093565b6001600160a01b03163b151590565b60008060008060008551116103ba5760405162461bcd60e51b815260206004820152600b60248201526a0f4cae4de40d8cadccee8d60ab1b6044820152606401610109565b84516002810480875293508381039150856103d4816103f8565b8786018051858252919750906103e9826103f8565b93909252529395929450919050565b80517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe808352600091602081018484f090845291506001600160a01b0382166104805760405162461bcd60e51b815260206004820152601a6024820152792222a82627aca6a2a72a2fa320a4a622a22fa120a620a721a2a960311b6044820152606401610109565b50919050565b8035801515811461049657600080fd5b919050565b6000806000606084860312156104b057600080fd5b83356001600160a01b03811681146104c757600080fd5b92506104d560208501610486565b91506104e360408501610486565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008083601f84011261051457600080fd5b5081356001600160401b0381111561052b57600080fd5b60208301915083602082850101111561054357600080fd5b9250929050565b60008060006040848603121561055f57600080fd5b83356001600160401b038082111561057657600080fd5b818601915086601f83011261058a57600080fd5b81358181111561059c5761059c6104ec565b604051601f8201601f19908116603f011681019083821181831017156105c4576105c46104ec565b816040528281528960208487010111156105dd57600080fd5b82602086016020830137600060208483010152809750505050602086013591508082111561060a57600080fd5b5061061786828701610502565b9497909650939450505050565b6001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000825160005b818110156106a4576020818601810151858301520161068a565b818111156106b3576000828501525b50919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220e9ddd57e0660c31fd2b0e2fa192cafc8ed895bb552e5fdcb998b8ffab6842f1f64736f6c634300080f0033",
165
+ "linkReferences": {},
166
+ "deployedLinkReferences": {}
167
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8b1f6ffb6012fdb7d7ba75e8e8e835b4.json"
3
+ "buildInfo": "../../../build-info/ba5484dcb729b4f8ecb7c7e6bd94eb4d.json"
4
4
  }