@pendle/core-v2 0.12.2-testnet → 0.13.0-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 (462) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +4 -0
  2. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +3 -3
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +4 -0
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json +48 -0
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +4 -0
  6. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +3 -3
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +4 -0
  8. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +4 -0
  10. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/EpochResultManager.sol/EpochResultManager.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  12. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +3 -3
  13. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +4 -0
  14. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +3 -3
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +4 -0
  16. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +4 -0
  18. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +3 -3
  19. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +4 -0
  20. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +3 -3
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +4 -0
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +1084 -0
  23. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +4 -0
  24. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +32 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +4 -0
  26. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +3 -3
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +4 -0
  28. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +3 -3
  29. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +4 -0
  30. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +4 -0
  32. package/build/artifacts/contracts/{libraries → LiquidityMining/libraries}/VeBalanceLib.sol/VeBalanceLib.json +3 -3
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +4 -0
  34. package/build/artifacts/contracts/{libraries → LiquidityMining/libraries}/VeHistoryLib.sol/CheckpointHelper.json +3 -3
  35. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +4 -0
  36. package/build/artifacts/contracts/{libraries → LiquidityMining/libraries}/VeHistoryLib.sol/Checkpoints.json +3 -3
  37. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +4 -0
  38. package/build/artifacts/contracts/{libraries/math → LiquidityMining/libraries}/WeekMath.sol/WeekMath.json +3 -3
  39. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +4 -0
  40. package/build/artifacts/contracts/{libraries/math → core/Market}/MarketMathCore.sol/MarketMathCore.json +3 -3
  41. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +4 -0
  42. package/build/artifacts/contracts/{libraries → core/Market}/OracleLib.sol/OracleLib.json +3 -3
  43. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/{LiquidityMining → Market}/PendleGauge.sol/PendleGauge.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +4 -4
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  49. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +4 -0
  50. package/build/artifacts/contracts/{libraries → core/RewardManager}/RewardManager.sol/RewardManager.json +1 -1
  51. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +4 -0
  52. package/build/artifacts/contracts/{libraries → core/RewardManager}/RewardManagerAbstract.sol/RewardManagerAbstract.json +1 -1
  53. package/build/artifacts/contracts/core/SuperComposableYield/PYIndex.sol/PYIndexLib.dbg.json +4 -0
  54. package/build/artifacts/contracts/{libraries/helpers → core/SuperComposableYield}/PYIndex.sol/PYIndexLib.json +3 -3
  55. package/build/artifacts/contracts/core/SuperComposableYield/SCYBase.sol/SCYBase.dbg.json +4 -0
  56. package/build/artifacts/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBase.sol/SCYBase.json +1 -1
  57. package/build/artifacts/contracts/core/SuperComposableYield/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
  58. package/build/artifacts/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +1 -1
  59. package/build/artifacts/contracts/core/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +4 -0
  60. package/build/artifacts/contracts/{libraries/SCY → core/SuperComposableYield}/SCYUtils.sol/SCYUtils.json +3 -3
  61. package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +4 -0
  62. package/build/artifacts/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +3 -3
  63. package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +4 -0
  64. package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +1007 -0
  65. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +4 -0
  66. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +1030 -0
  67. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +4 -0
  68. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +1025 -0
  69. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +4 -0
  70. package/build/artifacts/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.json +1 -1
  71. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
  72. package/build/artifacts/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +3 -3
  73. package/build/artifacts/contracts/core/SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +4 -0
  74. package/build/artifacts/contracts/core/SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +851 -0
  75. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  78. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  80. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  82. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +4 -0
  83. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +254 -0
  84. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
  85. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
  86. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +4 -0
  87. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/ArrayLib.sol/ArrayLib.json +3 -3
  88. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +4 -0
  89. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +3 -3
  90. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +4 -0
  91. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/BaseSplitCodeFactory.sol/CodeDeployer.json +3 -3
  92. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +4 -0
  93. package/build/artifacts/contracts/{periphery → core/libraries}/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +1 -1
  94. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +4 -0
  95. package/build/artifacts/contracts/{periphery → core/libraries}/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +3 -3
  96. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +4 -0
  97. package/build/artifacts/contracts/{libraries → core/libraries}/Errors.sol/Errors.json +9 -4
  98. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +4 -0
  99. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/ExpiryUtilsLib.sol/ExpiryUtils.json +3 -3
  100. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +4 -0
  101. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/MiniHelpers.sol/MiniHelpers.json +3 -3
  102. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +4 -0
  103. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/TokenHelper.sol/TokenHelper.json +1 -1
  104. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +4 -0
  105. package/build/artifacts/contracts/{libraries → core/libraries}/math/LogExpMath.sol/LogExpMath.json +3 -3
  106. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +4 -0
  107. package/build/artifacts/contracts/{libraries → core/libraries}/math/Math.sol/Math.json +3 -3
  108. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +31 -0
  148. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  168. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  169. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  170. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  171. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +8 -3
  172. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  173. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +60 -89
  174. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +4 -0
  175. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1237 -0
  176. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +4 -0
  177. package/build/artifacts/contracts/{core/actions → router}/ActionCallback.sol/ActionCallback.json +3 -3
  178. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +4 -0
  179. package/build/artifacts/contracts/{core/actions → router}/ActionMintRedeem.sol/ActionMintRedeem.json +5 -5
  180. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +4 -0
  181. package/build/artifacts/contracts/{core/actions → router}/ActionMisc.sol/ActionMisc.json +3 -3
  182. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +4 -0
  183. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +698 -0
  184. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +4 -0
  185. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +317 -0
  186. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +4 -0
  187. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +645 -0
  188. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +4 -0
  189. package/build/artifacts/contracts/{core → router}/PendleRouter.sol/PendleRouter.json +3 -3
  190. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +4 -0
  191. package/build/artifacts/contracts/{core/actions → router}/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -1
  192. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +4 -0
  193. package/build/artifacts/contracts/{core/actions → router}/base/CallbackHelper.sol/CallbackHelper.json +1 -1
  194. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +4 -0
  195. package/build/artifacts/contracts/{libraries/math → router/base}/MarketApproxLib.sol/MarketApproxPtInLib.json +3 -3
  196. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +4 -0
  197. package/build/artifacts/contracts/{libraries/math → router/base}/MarketApproxLib.sol/MarketApproxPtOutLib.json +3 -3
  198. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +4 -0
  199. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +35 -0
  200. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +4 -0
  201. package/build/artifacts/contracts/{libraries → router}/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +1 -1
  202. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +4 -0
  203. package/build/artifacts/contracts/{libraries → router}/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +1 -1
  204. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +6 -6
  205. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgReceiverAppUpg.sol +5 -5
  206. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSendEndpointUpg.sol +5 -5
  207. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSenderAppUpg.sol +4 -4
  208. package/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/EpochResultManager.sol +7 -7
  209. package/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributor.sol +14 -11
  210. package/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributorFactory.sol +6 -4
  211. package/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerBaseUpg.sol +14 -11
  212. package/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerMainchainUpg.sol +2 -2
  213. package/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerSidechainUpg.sol +1 -1
  214. package/contracts/{core/LiquidityMining → LiquidityMining}/README.md +0 -0
  215. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingController/PendleVotingControllerUpg.sol +6 -5
  216. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingController/VotingControllerStorageUpg.sol +16 -12
  217. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleMainchain.sol +11 -7
  218. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleSidechain.sol +9 -4
  219. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowTokenBase.sol +9 -7
  220. package/contracts/{libraries → LiquidityMining/libraries}/VeBalanceLib.sol +3 -3
  221. package/contracts/{libraries → LiquidityMining/libraries}/VeHistoryLib.sol +2 -2
  222. package/contracts/{libraries/math → LiquidityMining/libraries}/WeekMath.sol +2 -2
  223. package/contracts/{libraries/math → core/Market}/MarketMathCore.sol +17 -19
  224. package/contracts/{libraries → core/Market}/OracleLib.sol +2 -2
  225. package/contracts/core/{LiquidityMining → Market}/PendleGauge.sol +4 -6
  226. package/contracts/core/Market/PendleMarket.sol +4 -12
  227. package/contracts/core/Market/PendleMarketFactory.sol +5 -5
  228. package/contracts/{libraries → core/RewardManager}/RewardManager.sol +2 -4
  229. package/contracts/{libraries → core/RewardManager}/RewardManagerAbstract.sol +9 -4
  230. package/contracts/{libraries/helpers → core/SuperComposableYield}/PYIndex.sol +4 -3
  231. package/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBase.sol +11 -8
  232. package/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBaseWithRewards.sol +5 -4
  233. package/contracts/{libraries/SCY → core/SuperComposableYield}/SCYUtils.sol +1 -1
  234. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/BenQi/PendleQiTokenHelper.sol +2 -2
  235. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/BenQi/PendleQiTokenSCY.sol +6 -6
  236. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol +2 -2
  237. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol +1 -1
  238. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol +5 -5
  239. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/Pendle3CrvHelper.sol +2 -2
  240. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/PendleWstEthSCY.sol +6 -5
  241. package/contracts/core/YieldContracts/InterestManagerYT.sol +5 -5
  242. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +6 -4
  243. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +6 -7
  244. package/contracts/core/YieldContracts/PendleYieldToken.sol +11 -10
  245. package/contracts/core/{PendleERC20.sol → erc20/PendleERC20.sol} +0 -0
  246. package/contracts/core/{PendleERC20Permit.sol → erc20/PendleERC20Permit.sol} +0 -0
  247. package/contracts/{libraries/helpers → core/libraries}/ArrayLib.sol +0 -0
  248. package/contracts/{libraries/helpers → core/libraries}/BaseSplitCodeFactory.sol +1 -1
  249. package/contracts/{periphery → core/libraries}/BoringOwnableUpgradeable.sol +1 -1
  250. package/contracts/{libraries → core/libraries}/Errors.sol +2 -2
  251. package/contracts/{libraries/helpers → core/libraries}/ExpiryUtilsLib.sol +1 -1
  252. package/contracts/{libraries/helpers → core/libraries}/MiniHelpers.sol +1 -1
  253. package/contracts/{libraries/helpers → core/libraries}/TokenHelper.sol +1 -16
  254. package/contracts/{libraries → core/libraries}/math/LogExpMath.sol +1 -1
  255. package/contracts/{libraries → core/libraries}/math/Math.sol +2 -2
  256. package/contracts/interfaces/ConvexCurve/IBooster.sol +1 -1
  257. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -1
  258. package/contracts/interfaces/ConvexCurve/ICvxCrv.sol +1 -1
  259. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -1
  260. package/contracts/interfaces/Curve/ICrvPool.sol +1 -1
  261. package/contracts/interfaces/IAToken.sol +1 -1
  262. package/contracts/interfaces/IAavePool.sol +1 -1
  263. package/contracts/interfaces/IAaveRewardsController.sol +1 -1
  264. package/contracts/interfaces/IBenQiComptroller.sol +1 -1
  265. package/contracts/interfaces/IBenQiInterestRateModel.sol +1 -1
  266. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +1 -1
  267. package/contracts/interfaces/IERC4626.sol +1 -1
  268. package/contracts/interfaces/IEulerEToken.sol +1 -1
  269. package/contracts/interfaces/IEulerMarkets.sol +1 -1
  270. package/contracts/interfaces/IPActionAddRemoveLiq.sol +3 -3
  271. package/contracts/interfaces/IPActionMintRedeem.sol +3 -3
  272. package/contracts/interfaces/IPActionMisc.sol +1 -1
  273. package/contracts/interfaces/IPActionSwapPT.sol +3 -3
  274. package/contracts/interfaces/IPActionSwapPTYT.sol +3 -3
  275. package/contracts/interfaces/IPActionSwapYT.sol +3 -3
  276. package/contracts/interfaces/IPAllAction.sol +1 -1
  277. package/contracts/interfaces/IPFeeDistributor.sol +1 -1
  278. package/contracts/interfaces/IPFeeDistributorFactory.sol +1 -1
  279. package/contracts/interfaces/IPGauge.sol +1 -1
  280. package/contracts/interfaces/IPGaugeController.sol +1 -1
  281. package/contracts/interfaces/IPGaugeControllerMainchain.sol +1 -1
  282. package/contracts/interfaces/IPGovernanceManager.sol +1 -1
  283. package/contracts/interfaces/IPInterestManagerYT.sol +1 -1
  284. package/contracts/interfaces/IPMarket.sol +2 -2
  285. package/contracts/interfaces/IPMarketFactory.sol +1 -1
  286. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  287. package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
  288. package/contracts/interfaces/IPPrincipalToken.sol +1 -1
  289. package/contracts/interfaces/IPVeToken.sol +1 -1
  290. package/contracts/interfaces/IPVotingController.sol +5 -3
  291. package/contracts/interfaces/IPVotingEscrowMainchain.sol +3 -3
  292. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  293. package/contracts/interfaces/IPYieldToken.sol +1 -1
  294. package/contracts/interfaces/IQiAvax.sol +1 -1
  295. package/contracts/interfaces/IQiErc20.sol +1 -1
  296. package/contracts/interfaces/IQiToken.sol +1 -1
  297. package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
  298. package/contracts/interfaces/IRewardManager.sol +1 -1
  299. package/contracts/interfaces/ISAvax.sol +1 -1
  300. package/contracts/interfaces/ISJoe.sol +1 -1
  301. package/contracts/interfaces/IStETH.sol +1 -1
  302. package/contracts/interfaces/IStargateLPStaking.sol +1 -1
  303. package/contracts/interfaces/IStargatePool.sol +1 -1
  304. package/contracts/interfaces/IStargateRouter.sol +1 -1
  305. package/contracts/interfaces/ISuperComposableYield.sol +1 -1
  306. package/contracts/interfaces/IWAvax.sol +1 -1
  307. package/contracts/interfaces/IWETH.sol +1 -1
  308. package/contracts/interfaces/IWXBTRFLY.sol +1 -1
  309. package/contracts/interfaces/IWstETH.sol +1 -1
  310. package/contracts/interfaces/IYearnVault.sol +1 -1
  311. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -3
  312. package/contracts/offchain-helpers/MarketMathStatic.sol +7 -7
  313. package/contracts/offchain-helpers/RouterStatic.sol +7 -14
  314. package/contracts/{core/actions → router}/ActionAddRemoveLiq.sol +5 -5
  315. package/contracts/{core/actions → router}/ActionCallback.sol +7 -7
  316. package/contracts/{core/actions → router}/ActionMintRedeem.sol +4 -4
  317. package/contracts/{core/actions → router}/ActionMisc.sol +4 -4
  318. package/contracts/{core/actions → router}/ActionSwapPT.sol +5 -5
  319. package/contracts/{core/actions → router}/ActionSwapPTYT.sol +5 -5
  320. package/contracts/{core/actions → router}/ActionSwapYT.sol +5 -5
  321. package/contracts/{core → router}/PendleRouter.sol +3 -3
  322. package/contracts/{core/actions → router}/base/ActionBaseMintRedeem.sol +6 -6
  323. package/contracts/{core/actions → router}/base/CallbackHelper.sol +1 -1
  324. package/contracts/{libraries/math → router/base}/MarketApproxLib.sol +180 -219
  325. package/contracts/{libraries → router}/kyberswap/AggregationRouterHelper.sol +1 -1
  326. package/contracts/{libraries → router}/kyberswap/IMultihopRouter.sol +0 -0
  327. package/contracts/{libraries → router}/kyberswap/KyberSwapHelper.sol +3 -4
  328. package/deployments/kovan.json +31 -0
  329. package/package.json +4 -4
  330. package/typechain-types/IPVotingController.ts +18 -0
  331. package/typechain-types/PendleMsgReceiverAppUpg.ts +3 -128
  332. package/typechain-types/PendleVotingControllerUpg.ts +18 -0
  333. package/typechain-types/RouterStatic.ts +0 -45
  334. package/typechain-types/VotingControllerStorageUpg.ts +18 -0
  335. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +10 -5
  336. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  337. package/typechain-types/factories/ActionMintRedeem__factory.ts +4 -4
  338. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  339. package/typechain-types/factories/ActionSwapPTYT__factory.ts +7 -2
  340. package/typechain-types/factories/ActionSwapPT__factory.ts +10 -5
  341. package/typechain-types/factories/ActionSwapYT__factory.ts +10 -5
  342. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  343. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  344. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +1 -1
  345. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  346. package/typechain-types/factories/ERC20__factory.ts +1 -1
  347. package/typechain-types/factories/Errors__factory.ts +7 -2
  348. package/typechain-types/factories/IPVotingController__factory.ts +31 -0
  349. package/typechain-types/factories/MarketMathStatic__factory.ts +7 -2
  350. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  351. package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +1 -1
  352. package/typechain-types/factories/Pendle3CrvHelper__factory.ts +1 -1
  353. package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +1 -1
  354. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  355. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  356. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
  357. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  358. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  359. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  360. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  361. package/typechain-types/factories/PendleMarket__factory.ts +4 -4
  362. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  363. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +0 -75
  364. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  365. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  366. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  367. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  368. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  369. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +32 -1
  370. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  371. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  372. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  373. package/typechain-types/factories/RouterStatic__factory.ts +1 -30
  374. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +31 -0
  375. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  376. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  377. package/typechain-types/hardhat.d.ts +232 -232
  378. package/typechain-types/index.ts +90 -90
  379. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +0 -4
  380. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +0 -4
  381. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +0 -1007
  382. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +0 -4
  383. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +0 -1030
  384. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +0 -4
  385. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +0 -1025
  386. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +0 -4
  387. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
  388. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +0 -4
  389. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +0 -851
  390. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +0 -4
  391. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +0 -4
  392. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +0 -4
  393. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +0 -4
  394. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json +0 -123
  395. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +0 -4
  396. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +0 -4
  397. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +0 -4
  398. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  399. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +0 -4
  400. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +0 -4
  401. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +0 -4
  402. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +0 -4
  403. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +0 -4
  404. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +0 -4
  405. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +0 -1053
  406. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +0 -4
  407. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +0 -4
  408. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +0 -4
  409. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +0 -4
  410. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +0 -4
  411. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +0 -254
  412. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +0 -4
  413. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +0 -329
  414. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +0 -4
  415. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +0 -4
  416. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +0 -1232
  417. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  418. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +0 -4
  419. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +0 -4
  420. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +0 -4
  421. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +0 -693
  422. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  423. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -312
  424. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +0 -4
  425. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +0 -640
  426. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +0 -4
  427. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +0 -4
  428. package/build/artifacts/contracts/libraries/Errors.sol/Errors.dbg.json +0 -4
  429. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +0 -4
  430. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +0 -4
  431. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +0 -4
  432. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +0 -4
  433. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +0 -4
  434. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +0 -4
  435. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +0 -4
  436. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +0 -4
  437. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +0 -4
  438. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +0 -4
  439. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +0 -4
  440. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +0 -4
  441. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +0 -4
  442. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +0 -4
  443. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  444. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -35
  445. package/build/artifacts/contracts/libraries/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +0 -4
  446. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  447. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +0 -4
  448. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +0 -4
  449. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +0 -4
  450. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +0 -4
  451. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +0 -4
  452. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +0 -4
  453. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +0 -4
  454. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +0 -4
  455. package/deployments/43113-core.json +0 -16
  456. package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +0 -8
  457. package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +0 -8
  458. package/deployments/43113-testenv.json +0 -22
  459. package/deployments/80001-core.json +0 -15
  460. package/deployments/80001-markets/benqi-market-QI-USDC-FEB-2ND.json +0 -8
  461. package/deployments/80001-markets/benqi-market-QI-WETH-DEC-1ST.json +0 -8
  462. package/deployments/80001-testenv.json +0 -22
@@ -1,1232 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "ActionAddRemoveLiq",
4
- "sourceName": "contracts/core/actions/ActionAddRemoveLiq.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_kyberSwapRouter",
11
- "type": "address"
12
- }
13
- ],
14
- "stateMutability": "nonpayable",
15
- "type": "constructor"
16
- },
17
- {
18
- "inputs": [],
19
- "name": "ApproxFail",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [
24
- {
25
- "internalType": "uint256",
26
- "name": "guessMin",
27
- "type": "uint256"
28
- },
29
- {
30
- "internalType": "uint256",
31
- "name": "guessMax",
32
- "type": "uint256"
33
- }
34
- ],
35
- "name": "ApproxGuessRangeInvalid",
36
- "type": "error"
37
- },
38
- {
39
- "inputs": [
40
- {
41
- "internalType": "int256",
42
- "name": "exchangeRate",
43
- "type": "int256"
44
- }
45
- ],
46
- "name": "MarketExchangeRateBelowOne",
47
- "type": "error"
48
- },
49
- {
50
- "inputs": [],
51
- "name": "MarketExpired",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [],
56
- "name": "MarketProportionMustNotEqualOne",
57
- "type": "error"
58
- },
59
- {
60
- "inputs": [
61
- {
62
- "internalType": "int256",
63
- "name": "proportion",
64
- "type": "int256"
65
- },
66
- {
67
- "internalType": "int256",
68
- "name": "maxProportion",
69
- "type": "int256"
70
- }
71
- ],
72
- "name": "MarketProportionTooHigh",
73
- "type": "error"
74
- },
75
- {
76
- "inputs": [
77
- {
78
- "internalType": "int256",
79
- "name": "rateScalar",
80
- "type": "int256"
81
- }
82
- ],
83
- "name": "MarketRateScalarBelowZero",
84
- "type": "error"
85
- },
86
- {
87
- "inputs": [],
88
- "name": "MarketZeroAmountsInput",
89
- "type": "error"
90
- },
91
- {
92
- "inputs": [],
93
- "name": "MarketZeroAmountsOutput",
94
- "type": "error"
95
- },
96
- {
97
- "inputs": [
98
- {
99
- "internalType": "int256",
100
- "name": "totalPt",
101
- "type": "int256"
102
- },
103
- {
104
- "internalType": "int256",
105
- "name": "totalAsset",
106
- "type": "int256"
107
- }
108
- ],
109
- "name": "MarketZeroTotalPtOrTotalAsset",
110
- "type": "error"
111
- },
112
- {
113
- "inputs": [
114
- {
115
- "internalType": "uint256",
116
- "name": "actualLpOut",
117
- "type": "uint256"
118
- },
119
- {
120
- "internalType": "uint256",
121
- "name": "requiredLpOut",
122
- "type": "uint256"
123
- }
124
- ],
125
- "name": "RouterInsufficientLpOut",
126
- "type": "error"
127
- },
128
- {
129
- "inputs": [
130
- {
131
- "internalType": "uint256",
132
- "name": "actualPtOut",
133
- "type": "uint256"
134
- },
135
- {
136
- "internalType": "uint256",
137
- "name": "requiredPtOut",
138
- "type": "uint256"
139
- }
140
- ],
141
- "name": "RouterInsufficientPtOut",
142
- "type": "error"
143
- },
144
- {
145
- "inputs": [
146
- {
147
- "internalType": "uint256",
148
- "name": "actualScyOut",
149
- "type": "uint256"
150
- },
151
- {
152
- "internalType": "uint256",
153
- "name": "requiredScyOut",
154
- "type": "uint256"
155
- }
156
- ],
157
- "name": "RouterInsufficientScyOut",
158
- "type": "error"
159
- },
160
- {
161
- "inputs": [
162
- {
163
- "internalType": "uint256",
164
- "name": "actualTokenOut",
165
- "type": "uint256"
166
- },
167
- {
168
- "internalType": "uint256",
169
- "name": "requiredTokenOut",
170
- "type": "uint256"
171
- }
172
- ],
173
- "name": "RouterInsufficientTokenOut",
174
- "type": "error"
175
- },
176
- {
177
- "anonymous": false,
178
- "inputs": [
179
- {
180
- "indexed": true,
181
- "internalType": "address",
182
- "name": "caller",
183
- "type": "address"
184
- },
185
- {
186
- "indexed": true,
187
- "internalType": "address",
188
- "name": "market",
189
- "type": "address"
190
- },
191
- {
192
- "indexed": true,
193
- "internalType": "address",
194
- "name": "receiver",
195
- "type": "address"
196
- },
197
- {
198
- "indexed": false,
199
- "internalType": "uint256",
200
- "name": "netScyUsed",
201
- "type": "uint256"
202
- },
203
- {
204
- "indexed": false,
205
- "internalType": "uint256",
206
- "name": "netPtUsed",
207
- "type": "uint256"
208
- },
209
- {
210
- "indexed": false,
211
- "internalType": "uint256",
212
- "name": "netLpOut",
213
- "type": "uint256"
214
- }
215
- ],
216
- "name": "AddLiquidityDualScyAndPt",
217
- "type": "event"
218
- },
219
- {
220
- "anonymous": false,
221
- "inputs": [
222
- {
223
- "indexed": true,
224
- "internalType": "address",
225
- "name": "caller",
226
- "type": "address"
227
- },
228
- {
229
- "indexed": true,
230
- "internalType": "address",
231
- "name": "market",
232
- "type": "address"
233
- },
234
- {
235
- "indexed": true,
236
- "internalType": "address",
237
- "name": "receiver",
238
- "type": "address"
239
- },
240
- {
241
- "indexed": false,
242
- "internalType": "address",
243
- "name": "tokenIn",
244
- "type": "address"
245
- },
246
- {
247
- "indexed": false,
248
- "internalType": "uint256",
249
- "name": "tokenUsed",
250
- "type": "uint256"
251
- },
252
- {
253
- "indexed": false,
254
- "internalType": "uint256",
255
- "name": "netPtUsed",
256
- "type": "uint256"
257
- },
258
- {
259
- "indexed": false,
260
- "internalType": "uint256",
261
- "name": "netLpOut",
262
- "type": "uint256"
263
- }
264
- ],
265
- "name": "AddLiquidityDualTokenAndPt",
266
- "type": "event"
267
- },
268
- {
269
- "anonymous": false,
270
- "inputs": [
271
- {
272
- "indexed": true,
273
- "internalType": "address",
274
- "name": "caller",
275
- "type": "address"
276
- },
277
- {
278
- "indexed": true,
279
- "internalType": "address",
280
- "name": "market",
281
- "type": "address"
282
- },
283
- {
284
- "indexed": true,
285
- "internalType": "address",
286
- "name": "receiver",
287
- "type": "address"
288
- },
289
- {
290
- "indexed": false,
291
- "internalType": "uint256",
292
- "name": "netPtIn",
293
- "type": "uint256"
294
- },
295
- {
296
- "indexed": false,
297
- "internalType": "uint256",
298
- "name": "netLpOut",
299
- "type": "uint256"
300
- }
301
- ],
302
- "name": "AddLiquiditySinglePt",
303
- "type": "event"
304
- },
305
- {
306
- "anonymous": false,
307
- "inputs": [
308
- {
309
- "indexed": true,
310
- "internalType": "address",
311
- "name": "caller",
312
- "type": "address"
313
- },
314
- {
315
- "indexed": true,
316
- "internalType": "address",
317
- "name": "market",
318
- "type": "address"
319
- },
320
- {
321
- "indexed": true,
322
- "internalType": "address",
323
- "name": "receiver",
324
- "type": "address"
325
- },
326
- {
327
- "indexed": false,
328
- "internalType": "uint256",
329
- "name": "netScyIn",
330
- "type": "uint256"
331
- },
332
- {
333
- "indexed": false,
334
- "internalType": "uint256",
335
- "name": "netLpOut",
336
- "type": "uint256"
337
- }
338
- ],
339
- "name": "AddLiquiditySingleScy",
340
- "type": "event"
341
- },
342
- {
343
- "anonymous": false,
344
- "inputs": [
345
- {
346
- "indexed": true,
347
- "internalType": "address",
348
- "name": "caller",
349
- "type": "address"
350
- },
351
- {
352
- "indexed": true,
353
- "internalType": "address",
354
- "name": "market",
355
- "type": "address"
356
- },
357
- {
358
- "indexed": true,
359
- "internalType": "address",
360
- "name": "token",
361
- "type": "address"
362
- },
363
- {
364
- "indexed": false,
365
- "internalType": "address",
366
- "name": "receiver",
367
- "type": "address"
368
- },
369
- {
370
- "indexed": false,
371
- "internalType": "uint256",
372
- "name": "netTokenIn",
373
- "type": "uint256"
374
- },
375
- {
376
- "indexed": false,
377
- "internalType": "uint256",
378
- "name": "netLpOut",
379
- "type": "uint256"
380
- }
381
- ],
382
- "name": "AddLiquiditySingleToken",
383
- "type": "event"
384
- },
385
- {
386
- "anonymous": false,
387
- "inputs": [
388
- {
389
- "indexed": true,
390
- "internalType": "address",
391
- "name": "caller",
392
- "type": "address"
393
- },
394
- {
395
- "indexed": true,
396
- "internalType": "address",
397
- "name": "market",
398
- "type": "address"
399
- },
400
- {
401
- "indexed": true,
402
- "internalType": "address",
403
- "name": "receiver",
404
- "type": "address"
405
- },
406
- {
407
- "indexed": false,
408
- "internalType": "uint256",
409
- "name": "netLpToRemove",
410
- "type": "uint256"
411
- },
412
- {
413
- "indexed": false,
414
- "internalType": "uint256",
415
- "name": "netPtOut",
416
- "type": "uint256"
417
- },
418
- {
419
- "indexed": false,
420
- "internalType": "uint256",
421
- "name": "netScyOut",
422
- "type": "uint256"
423
- }
424
- ],
425
- "name": "RemoveLiquidityDualScyAndPt",
426
- "type": "event"
427
- },
428
- {
429
- "anonymous": false,
430
- "inputs": [
431
- {
432
- "indexed": true,
433
- "internalType": "address",
434
- "name": "caller",
435
- "type": "address"
436
- },
437
- {
438
- "indexed": true,
439
- "internalType": "address",
440
- "name": "market",
441
- "type": "address"
442
- },
443
- {
444
- "indexed": true,
445
- "internalType": "address",
446
- "name": "receiver",
447
- "type": "address"
448
- },
449
- {
450
- "indexed": false,
451
- "internalType": "uint256",
452
- "name": "netLpToRemove",
453
- "type": "uint256"
454
- },
455
- {
456
- "indexed": false,
457
- "internalType": "uint256",
458
- "name": "netPtOut",
459
- "type": "uint256"
460
- },
461
- {
462
- "indexed": false,
463
- "internalType": "address",
464
- "name": "tokenOut",
465
- "type": "address"
466
- },
467
- {
468
- "indexed": false,
469
- "internalType": "uint256",
470
- "name": "netTokenOut",
471
- "type": "uint256"
472
- }
473
- ],
474
- "name": "RemoveLiquidityDualTokenAndPt",
475
- "type": "event"
476
- },
477
- {
478
- "anonymous": false,
479
- "inputs": [
480
- {
481
- "indexed": true,
482
- "internalType": "address",
483
- "name": "caller",
484
- "type": "address"
485
- },
486
- {
487
- "indexed": true,
488
- "internalType": "address",
489
- "name": "market",
490
- "type": "address"
491
- },
492
- {
493
- "indexed": true,
494
- "internalType": "address",
495
- "name": "receiver",
496
- "type": "address"
497
- },
498
- {
499
- "indexed": false,
500
- "internalType": "uint256",
501
- "name": "netLpToRemove",
502
- "type": "uint256"
503
- },
504
- {
505
- "indexed": false,
506
- "internalType": "uint256",
507
- "name": "netPtOut",
508
- "type": "uint256"
509
- }
510
- ],
511
- "name": "RemoveLiquiditySinglePt",
512
- "type": "event"
513
- },
514
- {
515
- "anonymous": false,
516
- "inputs": [
517
- {
518
- "indexed": true,
519
- "internalType": "address",
520
- "name": "caller",
521
- "type": "address"
522
- },
523
- {
524
- "indexed": true,
525
- "internalType": "address",
526
- "name": "market",
527
- "type": "address"
528
- },
529
- {
530
- "indexed": true,
531
- "internalType": "address",
532
- "name": "receiver",
533
- "type": "address"
534
- },
535
- {
536
- "indexed": false,
537
- "internalType": "uint256",
538
- "name": "netLpToRemove",
539
- "type": "uint256"
540
- },
541
- {
542
- "indexed": false,
543
- "internalType": "uint256",
544
- "name": "netScyOut",
545
- "type": "uint256"
546
- }
547
- ],
548
- "name": "RemoveLiquiditySingleScy",
549
- "type": "event"
550
- },
551
- {
552
- "anonymous": false,
553
- "inputs": [
554
- {
555
- "indexed": true,
556
- "internalType": "address",
557
- "name": "caller",
558
- "type": "address"
559
- },
560
- {
561
- "indexed": true,
562
- "internalType": "address",
563
- "name": "market",
564
- "type": "address"
565
- },
566
- {
567
- "indexed": true,
568
- "internalType": "address",
569
- "name": "token",
570
- "type": "address"
571
- },
572
- {
573
- "indexed": false,
574
- "internalType": "address",
575
- "name": "receiver",
576
- "type": "address"
577
- },
578
- {
579
- "indexed": false,
580
- "internalType": "uint256",
581
- "name": "netLpToRemove",
582
- "type": "uint256"
583
- },
584
- {
585
- "indexed": false,
586
- "internalType": "uint256",
587
- "name": "netTokenOut",
588
- "type": "uint256"
589
- }
590
- ],
591
- "name": "RemoveLiquiditySingleToken",
592
- "type": "event"
593
- },
594
- {
595
- "inputs": [
596
- {
597
- "internalType": "address",
598
- "name": "receiver",
599
- "type": "address"
600
- },
601
- {
602
- "internalType": "address",
603
- "name": "market",
604
- "type": "address"
605
- },
606
- {
607
- "internalType": "uint256",
608
- "name": "netScyDesired",
609
- "type": "uint256"
610
- },
611
- {
612
- "internalType": "uint256",
613
- "name": "netPtDesired",
614
- "type": "uint256"
615
- },
616
- {
617
- "internalType": "uint256",
618
- "name": "minLpOut",
619
- "type": "uint256"
620
- }
621
- ],
622
- "name": "addLiquidityDualScyAndPt",
623
- "outputs": [
624
- {
625
- "internalType": "uint256",
626
- "name": "netLpOut",
627
- "type": "uint256"
628
- },
629
- {
630
- "internalType": "uint256",
631
- "name": "netScyUsed",
632
- "type": "uint256"
633
- },
634
- {
635
- "internalType": "uint256",
636
- "name": "netPtUsed",
637
- "type": "uint256"
638
- }
639
- ],
640
- "stateMutability": "nonpayable",
641
- "type": "function"
642
- },
643
- {
644
- "inputs": [
645
- {
646
- "internalType": "address",
647
- "name": "receiver",
648
- "type": "address"
649
- },
650
- {
651
- "internalType": "address",
652
- "name": "market",
653
- "type": "address"
654
- },
655
- {
656
- "internalType": "address",
657
- "name": "tokenIn",
658
- "type": "address"
659
- },
660
- {
661
- "internalType": "uint256",
662
- "name": "netTokenDesired",
663
- "type": "uint256"
664
- },
665
- {
666
- "internalType": "uint256",
667
- "name": "netPtDesired",
668
- "type": "uint256"
669
- },
670
- {
671
- "internalType": "uint256",
672
- "name": "minLpOut",
673
- "type": "uint256"
674
- }
675
- ],
676
- "name": "addLiquidityDualTokenAndPt",
677
- "outputs": [
678
- {
679
- "internalType": "uint256",
680
- "name": "netLpOut",
681
- "type": "uint256"
682
- },
683
- {
684
- "internalType": "uint256",
685
- "name": "netTokenUsed",
686
- "type": "uint256"
687
- },
688
- {
689
- "internalType": "uint256",
690
- "name": "netPtUsed",
691
- "type": "uint256"
692
- }
693
- ],
694
- "stateMutability": "payable",
695
- "type": "function"
696
- },
697
- {
698
- "inputs": [
699
- {
700
- "internalType": "address",
701
- "name": "receiver",
702
- "type": "address"
703
- },
704
- {
705
- "internalType": "address",
706
- "name": "market",
707
- "type": "address"
708
- },
709
- {
710
- "internalType": "uint256",
711
- "name": "netPtIn",
712
- "type": "uint256"
713
- },
714
- {
715
- "internalType": "uint256",
716
- "name": "minLpOut",
717
- "type": "uint256"
718
- },
719
- {
720
- "components": [
721
- {
722
- "internalType": "uint256",
723
- "name": "guessMin",
724
- "type": "uint256"
725
- },
726
- {
727
- "internalType": "uint256",
728
- "name": "guessMax",
729
- "type": "uint256"
730
- },
731
- {
732
- "internalType": "uint256",
733
- "name": "guessOffchain",
734
- "type": "uint256"
735
- },
736
- {
737
- "internalType": "uint256",
738
- "name": "maxIteration",
739
- "type": "uint256"
740
- },
741
- {
742
- "internalType": "uint256",
743
- "name": "eps",
744
- "type": "uint256"
745
- }
746
- ],
747
- "internalType": "struct ApproxParams",
748
- "name": "guessPtSwapToScy",
749
- "type": "tuple"
750
- }
751
- ],
752
- "name": "addLiquiditySinglePt",
753
- "outputs": [
754
- {
755
- "internalType": "uint256",
756
- "name": "netLpOut",
757
- "type": "uint256"
758
- },
759
- {
760
- "internalType": "uint256",
761
- "name": "netScyFee",
762
- "type": "uint256"
763
- }
764
- ],
765
- "stateMutability": "nonpayable",
766
- "type": "function"
767
- },
768
- {
769
- "inputs": [
770
- {
771
- "internalType": "address",
772
- "name": "receiver",
773
- "type": "address"
774
- },
775
- {
776
- "internalType": "address",
777
- "name": "market",
778
- "type": "address"
779
- },
780
- {
781
- "internalType": "uint256",
782
- "name": "netScyIn",
783
- "type": "uint256"
784
- },
785
- {
786
- "internalType": "uint256",
787
- "name": "minLpOut",
788
- "type": "uint256"
789
- },
790
- {
791
- "components": [
792
- {
793
- "internalType": "uint256",
794
- "name": "guessMin",
795
- "type": "uint256"
796
- },
797
- {
798
- "internalType": "uint256",
799
- "name": "guessMax",
800
- "type": "uint256"
801
- },
802
- {
803
- "internalType": "uint256",
804
- "name": "guessOffchain",
805
- "type": "uint256"
806
- },
807
- {
808
- "internalType": "uint256",
809
- "name": "maxIteration",
810
- "type": "uint256"
811
- },
812
- {
813
- "internalType": "uint256",
814
- "name": "eps",
815
- "type": "uint256"
816
- }
817
- ],
818
- "internalType": "struct ApproxParams",
819
- "name": "guessPtReceivedFromScy",
820
- "type": "tuple"
821
- }
822
- ],
823
- "name": "addLiquiditySingleScy",
824
- "outputs": [
825
- {
826
- "internalType": "uint256",
827
- "name": "netLpOut",
828
- "type": "uint256"
829
- },
830
- {
831
- "internalType": "uint256",
832
- "name": "netScyFee",
833
- "type": "uint256"
834
- }
835
- ],
836
- "stateMutability": "nonpayable",
837
- "type": "function"
838
- },
839
- {
840
- "inputs": [
841
- {
842
- "internalType": "address",
843
- "name": "receiver",
844
- "type": "address"
845
- },
846
- {
847
- "internalType": "address",
848
- "name": "market",
849
- "type": "address"
850
- },
851
- {
852
- "internalType": "uint256",
853
- "name": "minLpOut",
854
- "type": "uint256"
855
- },
856
- {
857
- "components": [
858
- {
859
- "internalType": "uint256",
860
- "name": "guessMin",
861
- "type": "uint256"
862
- },
863
- {
864
- "internalType": "uint256",
865
- "name": "guessMax",
866
- "type": "uint256"
867
- },
868
- {
869
- "internalType": "uint256",
870
- "name": "guessOffchain",
871
- "type": "uint256"
872
- },
873
- {
874
- "internalType": "uint256",
875
- "name": "maxIteration",
876
- "type": "uint256"
877
- },
878
- {
879
- "internalType": "uint256",
880
- "name": "eps",
881
- "type": "uint256"
882
- }
883
- ],
884
- "internalType": "struct ApproxParams",
885
- "name": "guessPtReceivedFromScy",
886
- "type": "tuple"
887
- },
888
- {
889
- "components": [
890
- {
891
- "internalType": "address",
892
- "name": "tokenIn",
893
- "type": "address"
894
- },
895
- {
896
- "internalType": "uint256",
897
- "name": "netTokenIn",
898
- "type": "uint256"
899
- },
900
- {
901
- "internalType": "address",
902
- "name": "tokenMintScy",
903
- "type": "address"
904
- },
905
- {
906
- "internalType": "bytes",
907
- "name": "kybercall",
908
- "type": "bytes"
909
- }
910
- ],
911
- "internalType": "struct TokenInput",
912
- "name": "input",
913
- "type": "tuple"
914
- }
915
- ],
916
- "name": "addLiquiditySingleToken",
917
- "outputs": [
918
- {
919
- "internalType": "uint256",
920
- "name": "netLpOut",
921
- "type": "uint256"
922
- },
923
- {
924
- "internalType": "uint256",
925
- "name": "netScyFee",
926
- "type": "uint256"
927
- }
928
- ],
929
- "stateMutability": "payable",
930
- "type": "function"
931
- },
932
- {
933
- "inputs": [],
934
- "name": "kyberSwapRouter",
935
- "outputs": [
936
- {
937
- "internalType": "address",
938
- "name": "",
939
- "type": "address"
940
- }
941
- ],
942
- "stateMutability": "view",
943
- "type": "function"
944
- },
945
- {
946
- "inputs": [
947
- {
948
- "internalType": "address",
949
- "name": "receiver",
950
- "type": "address"
951
- },
952
- {
953
- "internalType": "address",
954
- "name": "market",
955
- "type": "address"
956
- },
957
- {
958
- "internalType": "uint256",
959
- "name": "netLpToRemove",
960
- "type": "uint256"
961
- },
962
- {
963
- "internalType": "uint256",
964
- "name": "minScyOut",
965
- "type": "uint256"
966
- },
967
- {
968
- "internalType": "uint256",
969
- "name": "minPtOut",
970
- "type": "uint256"
971
- }
972
- ],
973
- "name": "removeLiquidityDualScyAndPt",
974
- "outputs": [
975
- {
976
- "internalType": "uint256",
977
- "name": "netScyOut",
978
- "type": "uint256"
979
- },
980
- {
981
- "internalType": "uint256",
982
- "name": "netPtOut",
983
- "type": "uint256"
984
- }
985
- ],
986
- "stateMutability": "nonpayable",
987
- "type": "function"
988
- },
989
- {
990
- "inputs": [
991
- {
992
- "internalType": "address",
993
- "name": "receiver",
994
- "type": "address"
995
- },
996
- {
997
- "internalType": "address",
998
- "name": "market",
999
- "type": "address"
1000
- },
1001
- {
1002
- "internalType": "uint256",
1003
- "name": "netLpToRemove",
1004
- "type": "uint256"
1005
- },
1006
- {
1007
- "internalType": "address",
1008
- "name": "tokenOut",
1009
- "type": "address"
1010
- },
1011
- {
1012
- "internalType": "uint256",
1013
- "name": "minTokenOut",
1014
- "type": "uint256"
1015
- },
1016
- {
1017
- "internalType": "uint256",
1018
- "name": "minPtOut",
1019
- "type": "uint256"
1020
- }
1021
- ],
1022
- "name": "removeLiquidityDualTokenAndPt",
1023
- "outputs": [
1024
- {
1025
- "internalType": "uint256",
1026
- "name": "netTokenOut",
1027
- "type": "uint256"
1028
- },
1029
- {
1030
- "internalType": "uint256",
1031
- "name": "netPtOut",
1032
- "type": "uint256"
1033
- }
1034
- ],
1035
- "stateMutability": "nonpayable",
1036
- "type": "function"
1037
- },
1038
- {
1039
- "inputs": [
1040
- {
1041
- "internalType": "address",
1042
- "name": "receiver",
1043
- "type": "address"
1044
- },
1045
- {
1046
- "internalType": "address",
1047
- "name": "market",
1048
- "type": "address"
1049
- },
1050
- {
1051
- "internalType": "uint256",
1052
- "name": "netLpToRemove",
1053
- "type": "uint256"
1054
- },
1055
- {
1056
- "internalType": "uint256",
1057
- "name": "minPtOut",
1058
- "type": "uint256"
1059
- },
1060
- {
1061
- "components": [
1062
- {
1063
- "internalType": "uint256",
1064
- "name": "guessMin",
1065
- "type": "uint256"
1066
- },
1067
- {
1068
- "internalType": "uint256",
1069
- "name": "guessMax",
1070
- "type": "uint256"
1071
- },
1072
- {
1073
- "internalType": "uint256",
1074
- "name": "guessOffchain",
1075
- "type": "uint256"
1076
- },
1077
- {
1078
- "internalType": "uint256",
1079
- "name": "maxIteration",
1080
- "type": "uint256"
1081
- },
1082
- {
1083
- "internalType": "uint256",
1084
- "name": "eps",
1085
- "type": "uint256"
1086
- }
1087
- ],
1088
- "internalType": "struct ApproxParams",
1089
- "name": "guessPtOut",
1090
- "type": "tuple"
1091
- }
1092
- ],
1093
- "name": "removeLiquiditySinglePt",
1094
- "outputs": [
1095
- {
1096
- "internalType": "uint256",
1097
- "name": "netPtOut",
1098
- "type": "uint256"
1099
- },
1100
- {
1101
- "internalType": "uint256",
1102
- "name": "netScyFee",
1103
- "type": "uint256"
1104
- }
1105
- ],
1106
- "stateMutability": "nonpayable",
1107
- "type": "function"
1108
- },
1109
- {
1110
- "inputs": [
1111
- {
1112
- "internalType": "address",
1113
- "name": "receiver",
1114
- "type": "address"
1115
- },
1116
- {
1117
- "internalType": "address",
1118
- "name": "market",
1119
- "type": "address"
1120
- },
1121
- {
1122
- "internalType": "uint256",
1123
- "name": "netLpToRemove",
1124
- "type": "uint256"
1125
- },
1126
- {
1127
- "internalType": "uint256",
1128
- "name": "minScyOut",
1129
- "type": "uint256"
1130
- }
1131
- ],
1132
- "name": "removeLiquiditySingleScy",
1133
- "outputs": [
1134
- {
1135
- "internalType": "uint256",
1136
- "name": "netScyOut",
1137
- "type": "uint256"
1138
- },
1139
- {
1140
- "internalType": "uint256",
1141
- "name": "netScyFee",
1142
- "type": "uint256"
1143
- }
1144
- ],
1145
- "stateMutability": "nonpayable",
1146
- "type": "function"
1147
- },
1148
- {
1149
- "inputs": [
1150
- {
1151
- "internalType": "address",
1152
- "name": "receiver",
1153
- "type": "address"
1154
- },
1155
- {
1156
- "internalType": "address",
1157
- "name": "market",
1158
- "type": "address"
1159
- },
1160
- {
1161
- "internalType": "uint256",
1162
- "name": "netLpToRemove",
1163
- "type": "uint256"
1164
- },
1165
- {
1166
- "components": [
1167
- {
1168
- "internalType": "address",
1169
- "name": "tokenOut",
1170
- "type": "address"
1171
- },
1172
- {
1173
- "internalType": "uint256",
1174
- "name": "minTokenOut",
1175
- "type": "uint256"
1176
- },
1177
- {
1178
- "internalType": "address",
1179
- "name": "tokenRedeemScy",
1180
- "type": "address"
1181
- },
1182
- {
1183
- "internalType": "bytes",
1184
- "name": "kybercall",
1185
- "type": "bytes"
1186
- }
1187
- ],
1188
- "internalType": "struct TokenOutput",
1189
- "name": "output",
1190
- "type": "tuple"
1191
- }
1192
- ],
1193
- "name": "removeLiquiditySingleToken",
1194
- "outputs": [
1195
- {
1196
- "internalType": "uint256",
1197
- "name": "netTokenOut",
1198
- "type": "uint256"
1199
- },
1200
- {
1201
- "internalType": "uint256",
1202
- "name": "netScyFee",
1203
- "type": "uint256"
1204
- }
1205
- ],
1206
- "stateMutability": "nonpayable",
1207
- "type": "function"
1208
- }
1209
- ],
1210
- "bytecode": "0x60a06040523480156200001157600080fd5b5060405162004ce538038062004ce5833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051614c44620000a16000396000818160a301528181612e7c0152612f490152614c446000f3fe60806040526004361061008c5760003560e01c80631ef6f327146100915780631f8dfdf0146100db578063226c71f6146101095780633af1f32914610138578063694ab559146101585780637307a7a5146101785780639b4def431461018b578063eda0b715146101ab578063f17b8c4a146101cb578063f3a411b8146101de578063febde725146101fe575b600080fd5b34801561009d57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d29190614195565b60405180910390f35b3480156100e757600080fd5b506100fb6100f63660046141d3565b61021e565b6040516100d2929190614230565b34801561011557600080fd5b5061012961012436600461423e565b61031c565b6040516100d29392919061428f565b34801561014457600080fd5b506100fb6101533660046141d3565b61054d565b34801561016457600080fd5b506100fb6101733660046141d3565b6107fe565b6101296101863660046142a5565b610ad3565b34801561019757600080fd5b506100fb6101a636600461430a565b610eab565b3480156101b757600080fd5b506100fb6101c636600461423e565b610f37565b6100fb6101d9366004614362565b611073565b3480156101ea57600080fd5b506100fb6101f93660046143e1565b61117a565b34801561020a57600080fd5b506100fb610219366004614446565b61137c565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028691906144b1565b9193509091506102a390506001600160a01b038316338a8a611491565b6102b18989838a8a8a6114ef565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167f6420656ef082773859a20b33d5e3ccc7f1a226c9477622c5c819c8cc097823388a88604051610308929190614230565b60405180910390a450509550959350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610362573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038691906144b1565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156103cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f09190614548565b90506103fe818a8a426116c9565b919850965094505086861015610434578587604051636a1dbf1b60e01b815260040161042b929190614230565b60405180910390fd5b6104496001600160a01b038416338c88611491565b61045e6001600160a01b038316338c87611491565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f69061048e908e90899089906004016145ca565b6060604051808303816000875af11580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d191906145eb565b5090965050868610156104e6576104e6614619565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f0db691c6956ae614f5038616009ba884fade551caf94d16b641a94c578841d6088888b6040516105379392919061428f565b60405180910390a4505050955095509592505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b591906144b1565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f9190614548565b90506000610653610638846001600160a01b0316611734565b8a42610649368c90038c018c61462f565b86939291906117a0565b5090915061066e90506001600160a01b038516338c8c611491565b604080516000808252602082019283905263d8e763c160e01b9092526001600160a01b038c169063d8e763c1906106ac908e908690602481016146f6565b60408051808303816000875af11580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee919061471d565b965090506001600160a01b038b1663156e29f68d8361070d868f614757565b6040518463ffffffff1660e01b815260040161072b939291906145ca565b6060604051808303816000875af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e91906145eb565b509097505088871015610798578689604051636a1dbf1b60e01b815260040161042b929190614230565b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b6040516107e7929190614230565b60405180910390a450505050509550959350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086591906144b1565b925061087f9150506001600160a01b038816338989611491565b6000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190614548565b90506000806108f3838a6119ac565b91509150600061092961090e866001600160a01b0316611734565b844261091f368d90038d018d61462f565b88939291906119e7565b5050905088818361093a919061476e565b10156109665761094a818361476e565b89604051634e6ffe4760e11b815260040161042b929190614230565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b815260040161099693929190614786565b60408051808303816000875af11580156109b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d8919061471d565b604080516000815260208101918290526307bb0e7160e41b9091529093506001600160a01b038d169150637bb0e71090610a19908f908590602481016146f6565b60408051808303816000875af1158015610a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5b919061471d565b9650899050610a6a828461476e565b1015610a7857610a78614619565b610a82818361476e565b96508b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b6040516107e7929190614230565b6000806000806000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d91906144b1565b50915091506000826001600160a01b031663b8f82b268b8b6040518363ffffffff1660e01b8152600401610b729291906147aa565b602060405180830381865afa158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb391906147c3565b90506000808c6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1b9190614548565b9050610c2981848c426116c9565b919a509097509250505087871015610c58578688604051636a1dbf1b60e01b815260040161042b929190614230565b610c6d6001600160a01b038416338e88611491565b610c8182610c7b838d6147dc565b90611b0c565b95506001600160a01b038b16610d2c57610c9c8b338c611b36565b836001600160a01b03166320e8c565878e8e8a866040518663ffffffff1660e01b8152600401610ccf94939291906147fb565b60206040518083038185885af1158015610ced573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d1291906147c3565b50610d278b33610d22898e614757565b611ba2565b610db8565b610d378b3388611b36565b610d418b85611c66565b6040516320e8c56560e01b81526001600160a01b038516906320e8c56590610d73908f908f908b9087906004016147fb565b6020604051808303816000875af1158015610d92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db691906147c3565b505b8b6001600160a01b031663156e29f68e83886040518463ffffffff1660e01b8152600401610de8939291906145ca565b6060604051808303816000875af1158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b91906145eb565b509097505087871015610e4057610e40614619565b604080516001600160a01b038d81168252602082018d905291810187905260608101899052818f16918e169033907f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f9060800160405180910390a45050505096509650969350505050565b600080610ec36001600160a01b038616338787611491565b610ecf86868686611d1e565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fbc3c499a1de793e234d84bc867d7a02572ffafdb65cb029004f3df0db19e1e108786604051610f26929190614230565b60405180910390a494509492505050565b600080610f4f6001600160a01b038716338888611491565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc90610f7f908a9081908a90600401614786565b60408051808303816000875af1158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc1919061471d565b909250905083821015610feb57818460405163cb95352560e01b815260040161042b929190614230565b82811015611010578083604051634e6ffe4760e11b815260040161042b929190614230565b866001600160a01b0316866001600160a01b0316336001600160a01b03167f5679d08d637341ee04c1fc1dd03601a3a56736e677507260a2ade55bad840b7d8885876040516110619392919061428f565b60405180910390a49550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db91906144b1565b925050915060006110ef8984600189611dd9565b90506110ff8a8a84848c8c6114ef565b90955093506111116020870187614824565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a604051611165939291906145ca565b60405180910390a45050509550959350505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e191906144b1565b509091506111fc90506001600160a01b038916338a8a611491565b604051633dae446f60e21b81526000906001600160a01b038a169063f6b911bc9061122f9085908e908d90600401614786565b60408051808303816000875af115801561124d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611271919061471d565b60405163769f8e5d60e01b81529094509091506001600160a01b0383169063769f8e5d906112ac908d9085908c908c90600190600401614841565b6020604051808303816000875af11580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef91906147c3565b935084831015611316578285604051634e6ffe4760e11b815260040161042b929190614230565b60408051898152602081018590526001600160a01b03898116828401526060820187905291518c8316928c169133917f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb9181900360800190a45050965096945050505050565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156113bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e391906144b1565b509091506113fe90506001600160a01b038716338888611491565b600061140d8288886001611d1e565b9350905061141f888383886000611f77565b935061142e6020860186614824565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a8960405161147e939291906145ca565b60405180910390a4505094509492505050565b6114e9846323b872dd60e01b8585856040516024016114b293929190614786565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612167565b50505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611533573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115579190614548565b9050600061158b611570896001600160a01b0316611734565b8842611581368a90038a018a61462f565b8693929190612239565b505060408051600080825260208201928390526307bb0e7160e41b909252919250906001600160a01b038b1690637bb0e710906115cf908d908690602481016146f6565b60408051808303816000875af11580156115ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611611919061471d565b945090506001600160a01b038a1663156e29f68c61162f848c614757565b856040518463ffffffff1660e01b815260040161164e939291906145ca565b6060604051808303816000875af115801561166d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169191906145eb565b5090955050868510156116bb578487604051636a1dbf1b60e01b815260040161042b929190614230565b505050965096945050505050565b6000806000806000806000806116f18c6116e28d612405565b6116eb8d612405565b8c61241f565b9350935093509350611702846125d7565b975061170d836125d7565b9650611718826125d7565b9550611723816125d7565b945050505050945094509450949050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611776573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179a91906147c3565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036117f15760405162461bcd60e51b815260040161042b90614875565b602081015160608201518251600092611809926125e6565b9050600061181b8783602001516126e0565b905061182f81602001518460400151612791565b602082015260005b81606001518110156119875760008061185a8486886000015160000151866127a7565b915091508161186e57602084015250611977565b6000806118808860000151888561280f565b9150915060008060008561189b8c60000151600001516125d7565b6118a5919061476e565b90506000868c604001516118b99190614757565b9050600085876118cc8e602001516125d7565b6118d69190614757565b6118e09190614757565b90506118ec83886147dc565b94506118f881836147dc565b935050505061190c82828a6080015161284e565b156119465760208a015185906119229086612874565b60208c01516119319086612874565b9c509c509c50505050505050505050506119a1565b80821161195f5761195885600161476e565b8852611970565b61196a600186614757565b60208901525b5050505050505b6119808161489d565b9050611837565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806119c4866119bf87612405565b612880565b915091506119d1826125d7565b93506119dc816125d7565b925050509250929050565b6040805160808101825286815260208101869052908101849052606081018390526000908190819081611a1b8a8a896125e6565b90506000611a32878385600001516000015161294b565b90506000611a51846040015185602001516129f190919063ffffffff16565b905060005b8260600151811015611987576000611a6e84836129fd565b9050600080611a8288600001518885612a72565b91509150848211611ae7578286526080860151600090611aa59084908890612a92565b90508015611ae15760208901518490611abe9085612874565b60208b0151611acd9085612874565b9b509b509b505050505050505050506119a1565b50611af8565b611af2600184614757565b60208701525b50505080611b059061489d565b9050611a56565b6000816001611b1b828661476e565b611b259190614757565b611b2f91906148cc565b9392505050565b6001600160a01b038316611b8757803414611b825760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161042b565b505050565b8015611b8257611b826001600160a01b038416833084611491565b80600003611baf57505050565b6001600160a01b038316611c52576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c0a576040519150601f19603f3d011682016040523d82523d6000602084013e611c0f565b606091505b50509050806114e95760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161042b565b611b826001600160a01b0384168383612ac5565b6001600160a01b038216611c78575050565b611c8a60026001600160601b036148e0565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0791906147c3565b1015611d1a57611d1a8282600019612ae4565b5050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d839190614906565b15611d9a57611d93868686612bf8565b9150611dab565b611da5868686612d5c565b90925090505b82821015611dd057818360405163cb95352560e01b815260040161042b929190614230565b94509492505050565b6000611df6611deb6020840184614824565b338460200135611b36565b611e066060830160408401614824565b6001600160a01b0316611e1c6020840184614824565b6001600160a01b031614611e8657611e86611e3a6020840184614824565b6020840135611e4c6060860186614928565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612e7692505050565b611e9f611e996060840160408501614824565b85611c66565b6000611eb9611eb46060850160408601614824565b612f70565b9050600080611ece6060860160408701614824565b6001600160a01b031614611ee3576000611ee5565b815b90506001600160a01b0386166320e8c5658289611f086060890160408a01614824565b868a6040518663ffffffff1660e01b8152600401611f2994939291906147fb565b60206040518083038185885af1158015611f47573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f6c91906147c3565b979650505050505050565b60008115611f9457611f946001600160a01b038616338787611491565b611fa16020840184614824565b6001600160a01b0316611fba6060850160408601614824565b6001600160a01b03160361205a576001600160a01b03851663769f8e5d8786611fe96060880160408901614824565b876020013560016040518663ffffffff1660e01b8152600401612010959493929190614841565b6020604051808303816000875af115801561202f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205391906147c3565b905061215e565b60006001600160a01b03861663769f8e5d308761207d6060890160408a01614824565b6001806040518663ffffffff1660e01b81526004016120a0959493929190614841565b6020604051808303816000875af11580156120bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e391906147c3565b90506121066120f86060860160408701614824565b82611e4c6060880188614928565b612116611eb46020860186614824565b915083602001358210156121455781846020013560405163c5b5576d60e01b815260040161042b929190614230565b61215c6121556020860186614824565b8884611ba2565b505b95945050505050565b60006121bc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612ffa9092919063ffffffff16565b805190915015611b8257808060200190518101906121da9190614906565b611b825760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161042b565b60008060008060405180608001604052808a815260200189815260200188815260200187815250905080600001516040015160000361228a5760405162461bcd60e51b815260040161042b90614875565b6020810151606082015182516000926122a2926125e6565b905060006122b9878385600001516000015161294b565b905060006122d8846040015185602001516129f190919063ffffffff16565b905060005b82606001518110156119875760006122f584836129fd565b905060008061230988600001518885612a72565b915091508482111561232e57612320600184614757565b6020870152506123f5915050565b6000808061233c8589614757565b90506000866123528d60000151600001516125d7565b61235c9190614757565b90506000858761236f8e602001516125d7565b612379919061476e565b6123839190614757565b905061238f81896147dc565b945061239b82846147dc565b93505050506123af82828a6080015161284e565b156123c55760208a015185906119229086612874565b8082116123de576123d785600161476e565b88526123ef565b6123e9600186614757565b60208901525b50505050505b6123fe8161489d565b90506122dd565b60006001600160ff1b0382111561241b57600080fd5b5090565b600080808086158061242f575085155b1561244d576040516325daaec360e01b815260040160405180910390fd5b60c088015185106124715760405163b2094b5960e01b815260040160405180910390fd5b87604001516000036124be576103e86124a261249d6124986124938a8c614975565b6125d7565b613009565b612405565b6124ac91906149fa565b92506103e89350869150859050612561565b87516040890151600091906124d39089614975565b6124dd9190614a39565b9050600089602001518a604001518a6124f69190614975565b6125009190614a39565b905080821215612536578194508792508960400151858b602001516125259190614975565b61252f9190614a39565b935061255e565b8094508893508960400151858b600001516125519190614975565b61255b9190614a39565b92505b50505b8260000361258257604051631997ea8d60e31b815260040160405180910390fd5b81886020018181516125949190614a67565b9052508751819089906125a8908390614a67565b9052506125b58484614a67565b886040018181516125c69190614a67565b905250929791965094509092509050565b60008082121561241b57600080fd5b6126116040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106126355760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516126479190614757565b90506126538582613079565b825260208501516126659085906130d5565b60208301528451158061267a57506020820151155b156126a1578451602083015160405163b1c4aefb60e01b815261042b929190600401614230565b6126bf8560000151866101000151846020015185600001518561310c565b604083015260a08501516126d3908261318d565b6060830152509392505050565b6127196040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8251815260208301516127349061272f846131c6565b612791565b602082018190526040808501519083015260608085015190830152608080850151908301528151118015906127755750670de0b6b3a7640000816080015111155b61179a5760405162461bcd60e51b815260040161042b90614aa8565b60008183106127a05781611b2f565b5090919050565b60008060006127b687856129fd565b90508660a0015181116127ce57600192509050611dd0565b60006127e387876127de85612405565b6131dd565b905060008112156127fa5750600092509050611dd0565b5060a096909601869052506001959350505050565b60008060008061282a86612822876132d5565b8991906132ec565b91509150612837826125d7565b9350612842816125d7565b92505050935093915050565b600061285b8484846133ef565b8061286c575061286c848484612a92565b949350505050565b6000611b2f838361341d565b600080826000036128a4576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516128b89085614975565b6128c29190614a39565b60408501518551919350906128d79085614975565b6128e19190614a39565b90508115806128ee575080155b1561290c57604051631997ea8d60e31b815260040160405180910390fd5b604084015161291b9084613432565b6040850152835161292c9082613432565b8452602084015161293d9083613432565b602090940193909352929050565b61297d6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8351815260208401516129949061272f8585613479565b602082018190526040808601519083015260608086015190830152608080860151908301528151118015906129d55750670de0b6b3a7640000816080015111155b611b2f5760405162461bcd60e51b815260040161042b90614aa8565b6000611b2f838361350b565b600081158015612a105750604083015115155b15612a205750604082015161179a565b6020830151835111612a505760208301518351600291612a3f9161476e565b612a4991906148cc565b905061179a565b82516020840151604051632d3b201b60e01b815261042b929190600401614230565b600080600080612a858661282287612405565b9150915061283782613520565b600082841115801561286c5750612aba83612ab584670de0b6b3a7640000614757565b613532565b909310159392505050565b611b828363a9059cbb60e01b84846040516024016114b29291906147aa565b600080846001600160a01b031663095ea7b360e01b8585604051602401612b0c9291906147aa565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612b4a9190614ad7565b6000604051808303816000865af19150503d8060008114612b87576040519150601f19603f3d011682016040523d82523d6000602084013e612b8c565b606091505b5091509150818015612bb6575080511580612bb6575080806020019051810190612bb69190614906565b612bf15760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161042b565b5050505050565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612c39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5d91906144b1565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b8152600401612c9393929190614786565b60408051808303816000875af1158015612cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cd5919061471d565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d90612d05908990600401614195565b6020604051808303816000875af1158015612d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d4891906147c3565b612d52908261476e565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b8152600401612d9293929190614786565b60408051808303816000875af1158015612db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd4919061471d565b604080516000808252602082019283905263d8e763c160e01b909252929450909250906001600160a01b0388169063d8e763c190612e19908b908690602481016146f6565b60408051808303816000875af1158015612e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5b919061471d565b94509050612e69818461476e565b9450505050935093915050565b612ea0837f0000000000000000000000000000000000000000000000000000000000000000611c66565b60405163726d379760e11b815260009073__$559d48c320e1446b023c1ea40891219567$__9063e4da6f2e90612edc9085908790600401614af3565b600060405180830381865af4158015612ef9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f219190810190614b15565b9050612bf1816001600160a01b03861615612f3d576000612f3f565b845b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190613552565b60006001600160a01b03821615612ff3576040516370a0823160e01b81526001600160a01b038316906370a0823190612fad903090600401614195565b602060405180830381865afa158015612fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fee91906147c3565b61179a565b4792915050565b606061286c8484600085613574565b6000600382111561306a57508060006130236002836148cc565b61302e90600161476e565b90505b818110156130645790508060028161304981866148cc565b613053919061476e565b61305d91906148cc565b9050613031565b50919050565b8115613074575060015b919050565b600061308482612405565b61309661249d6201518061016d6147dc565b84608001516130a59190614975565b6130af9190614a39565b90506000811361179a57604051630e520c3b60e11b81526004810182905260240161042b565b600080600083126130e75760016130eb565b6000195b905061310261249d856130fd86613520565b61350b565b61286c9082614975565b600080613119868461318d565b9050670de0b6b3a76400008112156131475760405163329e322960e21b81526004810182905260240161042b565b600061315d613156878a614a67565b899061369a565b9050600061316a826136c9565b9050613176818761369a565b61318090846149fa565b9998505050505050505050565b60008061319f6201518061016d6147dc565b6131a984866147dc565b6131b391906148cc565b905061286c6131c182612405565b61371c565b600060016131d3836125d7565b61179a9190614757565b6000808285602001516131f091906149fa565b905060006131fe8585614a67565b90506000821380156132105750600081135b6132515760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161042b565b600061327f6132608484614975565b602089015161326f9089614a67565b6132799088614975565b9061369a565b90506000613295613290848661369a565b613b31565b88519091506000906132b090670de0b6b3a76400009061369a565b90506132c6816132c084866149fa565b90613bbd565b896040015161318091906149fa565b60006132e082612405565b61179a90600019614975565b600080600061330e866000015186602001518760000151886040015188613bdb565b9050600061332461331f868461369a565b613c8c565b60608701519091506000861315613393576000613341848361369a565b9050670de0b6b3a764000081121561336f5760405163329e322960e21b81526004810182905260240161042b565b61338b61338483670de0b6b3a76400006149fa565b8490613bbd565b9150506133c0565b6133bd816133a981670de0b6b3a76400006149fa565b6133b39085614975565b61331f9190614a39565b90505b60646133cf8960e00151612405565b6133d99083614975565b6133e39190614a39565b9350612e6981836149fa565b600082841015801561286c575061341283612ab584670de0b6b3a764000061476e565b909311159392505050565b600082611b25670de0b6b3a7640000846147dc565b60008183121561346f5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161042b565b611b2f82846149fa565b60008061349b6131c18560000151866040015187606001516132c091906149fa565b905060006134bb6134b4670de0b6b3a764000084614a67565b839061369a565b905060006134d98660200151866134d29190614a67565b8390613bbd565b905060006134e782876149fa565b90506103e86134f5826125d7565b613501906103e76147dc565b611f6c91906148cc565b6000670de0b6b3a7640000611b2584846147dc565b600080821361241b57612fee82614bb6565b60008061353f83856147dc565b670de0b6b3a76400009004949350505050565b606061286c848484604051806060016040528060298152602001614be6602991395b6060824710156135d55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161042b565b6001600160a01b0385163b61362c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161042b565b600080866001600160a01b031685876040516136489190614ad7565b60006040518083038185875af1925050503d8060008114613685576040519150601f19603f3d011682016040523d82523d6000602084013e61368a565b606091505b5091509150611f6c828286613c9a565b6000806136af670de0b6b3a764000085614975565b90508281816136c0576136c06148b6565b05949350505050565b6000670de0b6b3a764000082036136f35760405163a9c8b14d60e01b815260040160405180910390fd5b600061371161370a84670de0b6b3a76400006149fa565b849061369a565b9050611b2f81613b31565b6000680238fd42c5cf03ffff198212158015613741575068070c1cc73b00c800008213155b6137805760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161042b565b60008212156137b8576137958260000361371c565b6a0c097ce7bc90715b34b9f160241b816137b1576137b16148b6565b0592915050565b60006806f05b59d3b200000083126137f657506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61382c565b6803782dace9d9000000831261382857506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061382c565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261387c5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126138b8576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126138f257682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261392c576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261396557680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261399e5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126139d7576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412613a105768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000808213613b725760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161042b565b670c7d713b49da000082138015613b905750670f43fc2c04ee000082125b15613bb457670de0b6b3a7640000613ba783613cd3565b816137b1576137b16148b6565b61179a82613df2565b600080613bca8385614975565b9050670de0b6b3a7640000816136c0565b600080613be88784613432565b90506000613bf96134b4888a614a67565b9050670d529ae9e8600000811315613c305780670d529ae9e8600000604051637e34684f60e11b815260040161042b929190614230565b6000613c3b826136c9565b905085613c48828961369a565b613c529190614a67565b9350670de0b6b3a7640000841215613c805760405163329e322960e21b81526004810185905260240161042b565b50505095945050505050565b600061179a82600019614975565b60608315613ca9575081611b2f565b825115613cb95782518084602001fd5b8160405162461bcd60e51b815260040161042b9190614bd2565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613d1457613d146148b6565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613e3357613e2a826a0c097ce7bc90715b34b9f160241b81613e2457613e246148b6565b05613df2565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613e7e5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613eb5576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613efd576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613f38576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613f6f57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613fa657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613fdb5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261400657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261403b576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312614070576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126140a4576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126140d8576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281614101576141016148b6565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146141be57600080fd5b50565b600060a0828403121561306457600080fd5b600080600080600061012086880312156141ec57600080fd5b85356141f7816141a9565b94506020860135614207816141a9565b9350604086013592506060860135915061422487608088016141c1565b90509295509295909350565b918252602082015260400190565b600080600080600060a0868803121561425657600080fd5b8535614261816141a9565b94506020860135614271816141a9565b94979496505050506040830135926060810135926080909101359150565b9283526020830191909152604082015260600190565b60008060008060008060c087890312156142be57600080fd5b86356142c9816141a9565b955060208701356142d9816141a9565b945060408701356142e9816141a9565b959894975094956060810135955060808101359460a0909101359350915050565b6000806000806080858703121561432057600080fd5b843561432b816141a9565b9350602085013561433b816141a9565b93969395505050506040820135916060013590565b60006080828403121561306457600080fd5b6000806000806000610120868803121561437b57600080fd5b8535614386816141a9565b94506020860135614396816141a9565b9350604086013592506143ac87606088016141c1565b91506101008601356001600160401b038111156143c857600080fd5b6143d488828901614350565b9150509295509295909350565b60008060008060008060c087890312156143fa57600080fd5b8635614405816141a9565b95506020870135614415816141a9565b945060408701359350606087013561442c816141a9565b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561445c57600080fd5b8435614467816141a9565b93506020850135614477816141a9565b92506040850135915060608501356001600160401b0381111561449957600080fd5b6144a587828801614350565b91505092959194509250565b6000806000606084860312156144c657600080fd5b83516144d1816141a9565b60208501519093506144e2816141a9565b60408501519092506144f3816141a9565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715614537576145376144fe565b60405290565b8051613074816141a9565b6000610120828403121561455b57600080fd5b614563614514565b8251815260208301516020820152604083015160408201526145876060840161453d565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b6001600160a01b039390931683526020830191909152604082015260600190565b60008060006060848603121561460057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052600160045260246000fd5b600060a0828403121561464157600080fd5b60405160a081016001600160401b0381118282101715614663576146636144fe565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b838110156146b95781810151838201526020016146a1565b838111156114e95750506000910152565b600081518084526146e281602086016020860161469e565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061215e60608301846146ca565b6000806040838503121561473057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b60008282101561476957614769614741565b500390565b6000821982111561478157614781614741565b500190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6000602082840312156147d557600080fd5b5051919050565b60008160001904831182151516156147f6576147f6614741565b500290565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561483657600080fd5b8135611b2f816141a9565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b6000600182016148af576148af614741565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826148db576148db6148b6565b500490565b60006001600160601b03838116806148fa576148fa6148b6565b92169190910492915050565b60006020828403121561491857600080fd5b81518015158114611b2f57600080fd5b6000808335601e1984360301811261493f57600080fd5b8301803591506001600160401b0382111561495957600080fd5b60200191503681900382131561496e57600080fd5b9250929050565b60006001600160ff1b038184138284138082168684048611161561499b5761499b614741565b600160ff1b60008712828116878305891216156149ba576149ba614741565b600087129250878205871284841616156149d6576149d6614741565b878505871281841616156149ec576149ec614741565b505050929093029392505050565b60008083128015600160ff1b850184121615614a1857614a18614741565b6001600160ff1b0384018313811615614a3357614a33614741565b50500390565b600082614a4857614a486148b6565b600160ff1b821460001984141615614a6257614a62614741565b500590565b600080821280156001600160ff1b0384900385131615614a8957614a89614741565b600160ff1b8390038412811615614aa257614aa2614741565b50500190565b602080825260159082015274696e76616c696420617070726f7820706172616d7360581b604082015260600190565b60008251614ae981846020870161469e565b9190910192915050565b604081526000614b0660408301856146ca565b90508260208301529392505050565b600060208284031215614b2757600080fd5b81516001600160401b0380821115614b3e57600080fd5b818401915084601f830112614b5257600080fd5b815181811115614b6457614b646144fe565b604051601f8201601f19908116603f01168101908382118183101715614b8c57614b8c6144fe565b81604052828152876020848701011115614ba557600080fd5b611f6c83602083016020880161469e565b6000600160ff1b8201614bcb57614bcb614741565b5060000390565b602081526000611b2f60208301846146ca56fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220db7005b71dddef99fe77ac13bb5430038d6b922364a0915714fd8c1fa1005a4364736f6c634300080f0033",
1211
- "deployedBytecode": "0x60806040526004361061008c5760003560e01c80631ef6f327146100915780631f8dfdf0146100db578063226c71f6146101095780633af1f32914610138578063694ab559146101585780637307a7a5146101785780639b4def431461018b578063eda0b715146101ab578063f17b8c4a146101cb578063f3a411b8146101de578063febde725146101fe575b600080fd5b34801561009d57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d29190614195565b60405180910390f35b3480156100e757600080fd5b506100fb6100f63660046141d3565b61021e565b6040516100d2929190614230565b34801561011557600080fd5b5061012961012436600461423e565b61031c565b6040516100d29392919061428f565b34801561014457600080fd5b506100fb6101533660046141d3565b61054d565b34801561016457600080fd5b506100fb6101733660046141d3565b6107fe565b6101296101863660046142a5565b610ad3565b34801561019757600080fd5b506100fb6101a636600461430a565b610eab565b3480156101b757600080fd5b506100fb6101c636600461423e565b610f37565b6100fb6101d9366004614362565b611073565b3480156101ea57600080fd5b506100fb6101f93660046143e1565b61117a565b34801561020a57600080fd5b506100fb610219366004614446565b61137c565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028691906144b1565b9193509091506102a390506001600160a01b038316338a8a611491565b6102b18989838a8a8a6114ef565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167f6420656ef082773859a20b33d5e3ccc7f1a226c9477622c5c819c8cc097823388a88604051610308929190614230565b60405180910390a450509550959350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610362573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038691906144b1565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156103cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f09190614548565b90506103fe818a8a426116c9565b919850965094505086861015610434578587604051636a1dbf1b60e01b815260040161042b929190614230565b60405180910390fd5b6104496001600160a01b038416338c88611491565b61045e6001600160a01b038316338c87611491565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f69061048e908e90899089906004016145ca565b6060604051808303816000875af11580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d191906145eb565b5090965050868610156104e6576104e6614619565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f0db691c6956ae614f5038616009ba884fade551caf94d16b641a94c578841d6088888b6040516105379392919061428f565b60405180910390a4505050955095509592505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b591906144b1565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f9190614548565b90506000610653610638846001600160a01b0316611734565b8a42610649368c90038c018c61462f565b86939291906117a0565b5090915061066e90506001600160a01b038516338c8c611491565b604080516000808252602082019283905263d8e763c160e01b9092526001600160a01b038c169063d8e763c1906106ac908e908690602481016146f6565b60408051808303816000875af11580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee919061471d565b965090506001600160a01b038b1663156e29f68d8361070d868f614757565b6040518463ffffffff1660e01b815260040161072b939291906145ca565b6060604051808303816000875af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e91906145eb565b509097505088871015610798578689604051636a1dbf1b60e01b815260040161042b929190614230565b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b6040516107e7929190614230565b60405180910390a450505050509550959350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086591906144b1565b925061087f9150506001600160a01b038816338989611491565b6000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190614548565b90506000806108f3838a6119ac565b91509150600061092961090e866001600160a01b0316611734565b844261091f368d90038d018d61462f565b88939291906119e7565b5050905088818361093a919061476e565b10156109665761094a818361476e565b89604051634e6ffe4760e11b815260040161042b929190614230565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b815260040161099693929190614786565b60408051808303816000875af11580156109b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d8919061471d565b604080516000815260208101918290526307bb0e7160e41b9091529093506001600160a01b038d169150637bb0e71090610a19908f908590602481016146f6565b60408051808303816000875af1158015610a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5b919061471d565b9650899050610a6a828461476e565b1015610a7857610a78614619565b610a82818361476e565b96508b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b6040516107e7929190614230565b6000806000806000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d91906144b1565b50915091506000826001600160a01b031663b8f82b268b8b6040518363ffffffff1660e01b8152600401610b729291906147aa565b602060405180830381865afa158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb391906147c3565b90506000808c6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1b9190614548565b9050610c2981848c426116c9565b919a509097509250505087871015610c58578688604051636a1dbf1b60e01b815260040161042b929190614230565b610c6d6001600160a01b038416338e88611491565b610c8182610c7b838d6147dc565b90611b0c565b95506001600160a01b038b16610d2c57610c9c8b338c611b36565b836001600160a01b03166320e8c565878e8e8a866040518663ffffffff1660e01b8152600401610ccf94939291906147fb565b60206040518083038185885af1158015610ced573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d1291906147c3565b50610d278b33610d22898e614757565b611ba2565b610db8565b610d378b3388611b36565b610d418b85611c66565b6040516320e8c56560e01b81526001600160a01b038516906320e8c56590610d73908f908f908b9087906004016147fb565b6020604051808303816000875af1158015610d92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db691906147c3565b505b8b6001600160a01b031663156e29f68e83886040518463ffffffff1660e01b8152600401610de8939291906145ca565b6060604051808303816000875af1158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b91906145eb565b509097505087871015610e4057610e40614619565b604080516001600160a01b038d81168252602082018d905291810187905260608101899052818f16918e169033907f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f9060800160405180910390a45050505096509650969350505050565b600080610ec36001600160a01b038616338787611491565b610ecf86868686611d1e565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fbc3c499a1de793e234d84bc867d7a02572ffafdb65cb029004f3df0db19e1e108786604051610f26929190614230565b60405180910390a494509492505050565b600080610f4f6001600160a01b038716338888611491565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc90610f7f908a9081908a90600401614786565b60408051808303816000875af1158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc1919061471d565b909250905083821015610feb57818460405163cb95352560e01b815260040161042b929190614230565b82811015611010578083604051634e6ffe4760e11b815260040161042b929190614230565b866001600160a01b0316866001600160a01b0316336001600160a01b03167f5679d08d637341ee04c1fc1dd03601a3a56736e677507260a2ade55bad840b7d8885876040516110619392919061428f565b60405180910390a49550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db91906144b1565b925050915060006110ef8984600189611dd9565b90506110ff8a8a84848c8c6114ef565b90955093506111116020870187614824565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a604051611165939291906145ca565b60405180910390a45050509550959350505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e191906144b1565b509091506111fc90506001600160a01b038916338a8a611491565b604051633dae446f60e21b81526000906001600160a01b038a169063f6b911bc9061122f9085908e908d90600401614786565b60408051808303816000875af115801561124d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611271919061471d565b60405163769f8e5d60e01b81529094509091506001600160a01b0383169063769f8e5d906112ac908d9085908c908c90600190600401614841565b6020604051808303816000875af11580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef91906147c3565b935084831015611316578285604051634e6ffe4760e11b815260040161042b929190614230565b60408051898152602081018590526001600160a01b03898116828401526060820187905291518c8316928c169133917f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb9181900360800190a45050965096945050505050565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156113bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e391906144b1565b509091506113fe90506001600160a01b038716338888611491565b600061140d8288886001611d1e565b9350905061141f888383886000611f77565b935061142e6020860186614824565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a8960405161147e939291906145ca565b60405180910390a4505094509492505050565b6114e9846323b872dd60e01b8585856040516024016114b293929190614786565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612167565b50505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611533573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115579190614548565b9050600061158b611570896001600160a01b0316611734565b8842611581368a90038a018a61462f565b8693929190612239565b505060408051600080825260208201928390526307bb0e7160e41b909252919250906001600160a01b038b1690637bb0e710906115cf908d908690602481016146f6565b60408051808303816000875af11580156115ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611611919061471d565b945090506001600160a01b038a1663156e29f68c61162f848c614757565b856040518463ffffffff1660e01b815260040161164e939291906145ca565b6060604051808303816000875af115801561166d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169191906145eb565b5090955050868510156116bb578487604051636a1dbf1b60e01b815260040161042b929190614230565b505050965096945050505050565b6000806000806000806000806116f18c6116e28d612405565b6116eb8d612405565b8c61241f565b9350935093509350611702846125d7565b975061170d836125d7565b9650611718826125d7565b9550611723816125d7565b945050505050945094509450949050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611776573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179a91906147c3565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036117f15760405162461bcd60e51b815260040161042b90614875565b602081015160608201518251600092611809926125e6565b9050600061181b8783602001516126e0565b905061182f81602001518460400151612791565b602082015260005b81606001518110156119875760008061185a8486886000015160000151866127a7565b915091508161186e57602084015250611977565b6000806118808860000151888561280f565b9150915060008060008561189b8c60000151600001516125d7565b6118a5919061476e565b90506000868c604001516118b99190614757565b9050600085876118cc8e602001516125d7565b6118d69190614757565b6118e09190614757565b90506118ec83886147dc565b94506118f881836147dc565b935050505061190c82828a6080015161284e565b156119465760208a015185906119229086612874565b60208c01516119319086612874565b9c509c509c50505050505050505050506119a1565b80821161195f5761195885600161476e565b8852611970565b61196a600186614757565b60208901525b5050505050505b6119808161489d565b9050611837565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806119c4866119bf87612405565b612880565b915091506119d1826125d7565b93506119dc816125d7565b925050509250929050565b6040805160808101825286815260208101869052908101849052606081018390526000908190819081611a1b8a8a896125e6565b90506000611a32878385600001516000015161294b565b90506000611a51846040015185602001516129f190919063ffffffff16565b905060005b8260600151811015611987576000611a6e84836129fd565b9050600080611a8288600001518885612a72565b91509150848211611ae7578286526080860151600090611aa59084908890612a92565b90508015611ae15760208901518490611abe9085612874565b60208b0151611acd9085612874565b9b509b509b505050505050505050506119a1565b50611af8565b611af2600184614757565b60208701525b50505080611b059061489d565b9050611a56565b6000816001611b1b828661476e565b611b259190614757565b611b2f91906148cc565b9392505050565b6001600160a01b038316611b8757803414611b825760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161042b565b505050565b8015611b8257611b826001600160a01b038416833084611491565b80600003611baf57505050565b6001600160a01b038316611c52576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c0a576040519150601f19603f3d011682016040523d82523d6000602084013e611c0f565b606091505b50509050806114e95760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161042b565b611b826001600160a01b0384168383612ac5565b6001600160a01b038216611c78575050565b611c8a60026001600160601b036148e0565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0791906147c3565b1015611d1a57611d1a8282600019612ae4565b5050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d839190614906565b15611d9a57611d93868686612bf8565b9150611dab565b611da5868686612d5c565b90925090505b82821015611dd057818360405163cb95352560e01b815260040161042b929190614230565b94509492505050565b6000611df6611deb6020840184614824565b338460200135611b36565b611e066060830160408401614824565b6001600160a01b0316611e1c6020840184614824565b6001600160a01b031614611e8657611e86611e3a6020840184614824565b6020840135611e4c6060860186614928565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612e7692505050565b611e9f611e996060840160408501614824565b85611c66565b6000611eb9611eb46060850160408601614824565b612f70565b9050600080611ece6060860160408701614824565b6001600160a01b031614611ee3576000611ee5565b815b90506001600160a01b0386166320e8c5658289611f086060890160408a01614824565b868a6040518663ffffffff1660e01b8152600401611f2994939291906147fb565b60206040518083038185885af1158015611f47573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f6c91906147c3565b979650505050505050565b60008115611f9457611f946001600160a01b038616338787611491565b611fa16020840184614824565b6001600160a01b0316611fba6060850160408601614824565b6001600160a01b03160361205a576001600160a01b03851663769f8e5d8786611fe96060880160408901614824565b876020013560016040518663ffffffff1660e01b8152600401612010959493929190614841565b6020604051808303816000875af115801561202f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205391906147c3565b905061215e565b60006001600160a01b03861663769f8e5d308761207d6060890160408a01614824565b6001806040518663ffffffff1660e01b81526004016120a0959493929190614841565b6020604051808303816000875af11580156120bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e391906147c3565b90506121066120f86060860160408701614824565b82611e4c6060880188614928565b612116611eb46020860186614824565b915083602001358210156121455781846020013560405163c5b5576d60e01b815260040161042b929190614230565b61215c6121556020860186614824565b8884611ba2565b505b95945050505050565b60006121bc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612ffa9092919063ffffffff16565b805190915015611b8257808060200190518101906121da9190614906565b611b825760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161042b565b60008060008060405180608001604052808a815260200189815260200188815260200187815250905080600001516040015160000361228a5760405162461bcd60e51b815260040161042b90614875565b6020810151606082015182516000926122a2926125e6565b905060006122b9878385600001516000015161294b565b905060006122d8846040015185602001516129f190919063ffffffff16565b905060005b82606001518110156119875760006122f584836129fd565b905060008061230988600001518885612a72565b915091508482111561232e57612320600184614757565b6020870152506123f5915050565b6000808061233c8589614757565b90506000866123528d60000151600001516125d7565b61235c9190614757565b90506000858761236f8e602001516125d7565b612379919061476e565b6123839190614757565b905061238f81896147dc565b945061239b82846147dc565b93505050506123af82828a6080015161284e565b156123c55760208a015185906119229086612874565b8082116123de576123d785600161476e565b88526123ef565b6123e9600186614757565b60208901525b50505050505b6123fe8161489d565b90506122dd565b60006001600160ff1b0382111561241b57600080fd5b5090565b600080808086158061242f575085155b1561244d576040516325daaec360e01b815260040160405180910390fd5b60c088015185106124715760405163b2094b5960e01b815260040160405180910390fd5b87604001516000036124be576103e86124a261249d6124986124938a8c614975565b6125d7565b613009565b612405565b6124ac91906149fa565b92506103e89350869150859050612561565b87516040890151600091906124d39089614975565b6124dd9190614a39565b9050600089602001518a604001518a6124f69190614975565b6125009190614a39565b905080821215612536578194508792508960400151858b602001516125259190614975565b61252f9190614a39565b935061255e565b8094508893508960400151858b600001516125519190614975565b61255b9190614a39565b92505b50505b8260000361258257604051631997ea8d60e31b815260040160405180910390fd5b81886020018181516125949190614a67565b9052508751819089906125a8908390614a67565b9052506125b58484614a67565b886040018181516125c69190614a67565b905250929791965094509092509050565b60008082121561241b57600080fd5b6126116040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106126355760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516126479190614757565b90506126538582613079565b825260208501516126659085906130d5565b60208301528451158061267a57506020820151155b156126a1578451602083015160405163b1c4aefb60e01b815261042b929190600401614230565b6126bf8560000151866101000151846020015185600001518561310c565b604083015260a08501516126d3908261318d565b6060830152509392505050565b6127196040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8251815260208301516127349061272f846131c6565b612791565b602082018190526040808501519083015260608085015190830152608080850151908301528151118015906127755750670de0b6b3a7640000816080015111155b61179a5760405162461bcd60e51b815260040161042b90614aa8565b60008183106127a05781611b2f565b5090919050565b60008060006127b687856129fd565b90508660a0015181116127ce57600192509050611dd0565b60006127e387876127de85612405565b6131dd565b905060008112156127fa5750600092509050611dd0565b5060a096909601869052506001959350505050565b60008060008061282a86612822876132d5565b8991906132ec565b91509150612837826125d7565b9350612842816125d7565b92505050935093915050565b600061285b8484846133ef565b8061286c575061286c848484612a92565b949350505050565b6000611b2f838361341d565b600080826000036128a4576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516128b89085614975565b6128c29190614a39565b60408501518551919350906128d79085614975565b6128e19190614a39565b90508115806128ee575080155b1561290c57604051631997ea8d60e31b815260040160405180910390fd5b604084015161291b9084613432565b6040850152835161292c9082613432565b8452602084015161293d9083613432565b602090940193909352929050565b61297d6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8351815260208401516129949061272f8585613479565b602082018190526040808601519083015260608086015190830152608080860151908301528151118015906129d55750670de0b6b3a7640000816080015111155b611b2f5760405162461bcd60e51b815260040161042b90614aa8565b6000611b2f838361350b565b600081158015612a105750604083015115155b15612a205750604082015161179a565b6020830151835111612a505760208301518351600291612a3f9161476e565b612a4991906148cc565b905061179a565b82516020840151604051632d3b201b60e01b815261042b929190600401614230565b600080600080612a858661282287612405565b9150915061283782613520565b600082841115801561286c5750612aba83612ab584670de0b6b3a7640000614757565b613532565b909310159392505050565b611b828363a9059cbb60e01b84846040516024016114b29291906147aa565b600080846001600160a01b031663095ea7b360e01b8585604051602401612b0c9291906147aa565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612b4a9190614ad7565b6000604051808303816000865af19150503d8060008114612b87576040519150601f19603f3d011682016040523d82523d6000602084013e612b8c565b606091505b5091509150818015612bb6575080511580612bb6575080806020019051810190612bb69190614906565b612bf15760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161042b565b5050505050565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612c39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5d91906144b1565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b8152600401612c9393929190614786565b60408051808303816000875af1158015612cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cd5919061471d565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d90612d05908990600401614195565b6020604051808303816000875af1158015612d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d4891906147c3565b612d52908261476e565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b8152600401612d9293929190614786565b60408051808303816000875af1158015612db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd4919061471d565b604080516000808252602082019283905263d8e763c160e01b909252929450909250906001600160a01b0388169063d8e763c190612e19908b908690602481016146f6565b60408051808303816000875af1158015612e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5b919061471d565b94509050612e69818461476e565b9450505050935093915050565b612ea0837f0000000000000000000000000000000000000000000000000000000000000000611c66565b60405163726d379760e11b815260009073__$559d48c320e1446b023c1ea40891219567$__9063e4da6f2e90612edc9085908790600401614af3565b600060405180830381865af4158015612ef9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f219190810190614b15565b9050612bf1816001600160a01b03861615612f3d576000612f3f565b845b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190613552565b60006001600160a01b03821615612ff3576040516370a0823160e01b81526001600160a01b038316906370a0823190612fad903090600401614195565b602060405180830381865afa158015612fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fee91906147c3565b61179a565b4792915050565b606061286c8484600085613574565b6000600382111561306a57508060006130236002836148cc565b61302e90600161476e565b90505b818110156130645790508060028161304981866148cc565b613053919061476e565b61305d91906148cc565b9050613031565b50919050565b8115613074575060015b919050565b600061308482612405565b61309661249d6201518061016d6147dc565b84608001516130a59190614975565b6130af9190614a39565b90506000811361179a57604051630e520c3b60e11b81526004810182905260240161042b565b600080600083126130e75760016130eb565b6000195b905061310261249d856130fd86613520565b61350b565b61286c9082614975565b600080613119868461318d565b9050670de0b6b3a76400008112156131475760405163329e322960e21b81526004810182905260240161042b565b600061315d613156878a614a67565b899061369a565b9050600061316a826136c9565b9050613176818761369a565b61318090846149fa565b9998505050505050505050565b60008061319f6201518061016d6147dc565b6131a984866147dc565b6131b391906148cc565b905061286c6131c182612405565b61371c565b600060016131d3836125d7565b61179a9190614757565b6000808285602001516131f091906149fa565b905060006131fe8585614a67565b90506000821380156132105750600081135b6132515760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161042b565b600061327f6132608484614975565b602089015161326f9089614a67565b6132799088614975565b9061369a565b90506000613295613290848661369a565b613b31565b88519091506000906132b090670de0b6b3a76400009061369a565b90506132c6816132c084866149fa565b90613bbd565b896040015161318091906149fa565b60006132e082612405565b61179a90600019614975565b600080600061330e866000015186602001518760000151886040015188613bdb565b9050600061332461331f868461369a565b613c8c565b60608701519091506000861315613393576000613341848361369a565b9050670de0b6b3a764000081121561336f5760405163329e322960e21b81526004810182905260240161042b565b61338b61338483670de0b6b3a76400006149fa565b8490613bbd565b9150506133c0565b6133bd816133a981670de0b6b3a76400006149fa565b6133b39085614975565b61331f9190614a39565b90505b60646133cf8960e00151612405565b6133d99083614975565b6133e39190614a39565b9350612e6981836149fa565b600082841015801561286c575061341283612ab584670de0b6b3a764000061476e565b909311159392505050565b600082611b25670de0b6b3a7640000846147dc565b60008183121561346f5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161042b565b611b2f82846149fa565b60008061349b6131c18560000151866040015187606001516132c091906149fa565b905060006134bb6134b4670de0b6b3a764000084614a67565b839061369a565b905060006134d98660200151866134d29190614a67565b8390613bbd565b905060006134e782876149fa565b90506103e86134f5826125d7565b613501906103e76147dc565b611f6c91906148cc565b6000670de0b6b3a7640000611b2584846147dc565b600080821361241b57612fee82614bb6565b60008061353f83856147dc565b670de0b6b3a76400009004949350505050565b606061286c848484604051806060016040528060298152602001614be6602991395b6060824710156135d55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161042b565b6001600160a01b0385163b61362c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161042b565b600080866001600160a01b031685876040516136489190614ad7565b60006040518083038185875af1925050503d8060008114613685576040519150601f19603f3d011682016040523d82523d6000602084013e61368a565b606091505b5091509150611f6c828286613c9a565b6000806136af670de0b6b3a764000085614975565b90508281816136c0576136c06148b6565b05949350505050565b6000670de0b6b3a764000082036136f35760405163a9c8b14d60e01b815260040160405180910390fd5b600061371161370a84670de0b6b3a76400006149fa565b849061369a565b9050611b2f81613b31565b6000680238fd42c5cf03ffff198212158015613741575068070c1cc73b00c800008213155b6137805760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161042b565b60008212156137b8576137958260000361371c565b6a0c097ce7bc90715b34b9f160241b816137b1576137b16148b6565b0592915050565b60006806f05b59d3b200000083126137f657506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61382c565b6803782dace9d9000000831261382857506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061382c565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261387c5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126138b8576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126138f257682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261392c576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261396557680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261399e5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126139d7576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412613a105768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000808213613b725760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161042b565b670c7d713b49da000082138015613b905750670f43fc2c04ee000082125b15613bb457670de0b6b3a7640000613ba783613cd3565b816137b1576137b16148b6565b61179a82613df2565b600080613bca8385614975565b9050670de0b6b3a7640000816136c0565b600080613be88784613432565b90506000613bf96134b4888a614a67565b9050670d529ae9e8600000811315613c305780670d529ae9e8600000604051637e34684f60e11b815260040161042b929190614230565b6000613c3b826136c9565b905085613c48828961369a565b613c529190614a67565b9350670de0b6b3a7640000841215613c805760405163329e322960e21b81526004810185905260240161042b565b50505095945050505050565b600061179a82600019614975565b60608315613ca9575081611b2f565b825115613cb95782518084602001fd5b8160405162461bcd60e51b815260040161042b9190614bd2565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613d1457613d146148b6565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613e3357613e2a826a0c097ce7bc90715b34b9f160241b81613e2457613e246148b6565b05613df2565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613e7e5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613eb5576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613efd576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613f38576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613f6f57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613fa657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613fdb5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261400657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261403b576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312614070576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126140a4576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126140d8576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281614101576141016148b6565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146141be57600080fd5b50565b600060a0828403121561306457600080fd5b600080600080600061012086880312156141ec57600080fd5b85356141f7816141a9565b94506020860135614207816141a9565b9350604086013592506060860135915061422487608088016141c1565b90509295509295909350565b918252602082015260400190565b600080600080600060a0868803121561425657600080fd5b8535614261816141a9565b94506020860135614271816141a9565b94979496505050506040830135926060810135926080909101359150565b9283526020830191909152604082015260600190565b60008060008060008060c087890312156142be57600080fd5b86356142c9816141a9565b955060208701356142d9816141a9565b945060408701356142e9816141a9565b959894975094956060810135955060808101359460a0909101359350915050565b6000806000806080858703121561432057600080fd5b843561432b816141a9565b9350602085013561433b816141a9565b93969395505050506040820135916060013590565b60006080828403121561306457600080fd5b6000806000806000610120868803121561437b57600080fd5b8535614386816141a9565b94506020860135614396816141a9565b9350604086013592506143ac87606088016141c1565b91506101008601356001600160401b038111156143c857600080fd5b6143d488828901614350565b9150509295509295909350565b60008060008060008060c087890312156143fa57600080fd5b8635614405816141a9565b95506020870135614415816141a9565b945060408701359350606087013561442c816141a9565b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561445c57600080fd5b8435614467816141a9565b93506020850135614477816141a9565b92506040850135915060608501356001600160401b0381111561449957600080fd5b6144a587828801614350565b91505092959194509250565b6000806000606084860312156144c657600080fd5b83516144d1816141a9565b60208501519093506144e2816141a9565b60408501519092506144f3816141a9565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715614537576145376144fe565b60405290565b8051613074816141a9565b6000610120828403121561455b57600080fd5b614563614514565b8251815260208301516020820152604083015160408201526145876060840161453d565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b6001600160a01b039390931683526020830191909152604082015260600190565b60008060006060848603121561460057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052600160045260246000fd5b600060a0828403121561464157600080fd5b60405160a081016001600160401b0381118282101715614663576146636144fe565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b838110156146b95781810151838201526020016146a1565b838111156114e95750506000910152565b600081518084526146e281602086016020860161469e565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061215e60608301846146ca565b6000806040838503121561473057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b60008282101561476957614769614741565b500390565b6000821982111561478157614781614741565b500190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6000602082840312156147d557600080fd5b5051919050565b60008160001904831182151516156147f6576147f6614741565b500290565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561483657600080fd5b8135611b2f816141a9565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b6000600182016148af576148af614741565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826148db576148db6148b6565b500490565b60006001600160601b03838116806148fa576148fa6148b6565b92169190910492915050565b60006020828403121561491857600080fd5b81518015158114611b2f57600080fd5b6000808335601e1984360301811261493f57600080fd5b8301803591506001600160401b0382111561495957600080fd5b60200191503681900382131561496e57600080fd5b9250929050565b60006001600160ff1b038184138284138082168684048611161561499b5761499b614741565b600160ff1b60008712828116878305891216156149ba576149ba614741565b600087129250878205871284841616156149d6576149d6614741565b878505871281841616156149ec576149ec614741565b505050929093029392505050565b60008083128015600160ff1b850184121615614a1857614a18614741565b6001600160ff1b0384018313811615614a3357614a33614741565b50500390565b600082614a4857614a486148b6565b600160ff1b821460001984141615614a6257614a62614741565b500590565b600080821280156001600160ff1b0384900385131615614a8957614a89614741565b600160ff1b8390038412811615614aa257614aa2614741565b50500190565b602080825260159082015274696e76616c696420617070726f7820706172616d7360581b604082015260600190565b60008251614ae981846020870161469e565b9190910192915050565b604081526000614b0660408301856146ca565b90508260208301529392505050565b600060208284031215614b2757600080fd5b81516001600160401b0380821115614b3e57600080fd5b818401915084601f830112614b5257600080fd5b815181811115614b6457614b646144fe565b604051601f8201601f19908116603f01168101908382118183101715614b8c57614b8c6144fe565b81604052828152876020848701011115614ba557600080fd5b611f6c83602083016020880161469e565b6000600160ff1b8201614bcb57614bcb614741565b5060000390565b602081526000611b2f60208301846146ca56fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220db7005b71dddef99fe77ac13bb5430038d6b922364a0915714fd8c1fa1005a4364736f6c634300080f0033",
1212
- "linkReferences": {
1213
- "contracts/libraries/kyberswap/AggregationRouterHelper.sol": {
1214
- "AggregationRouterHelper": [
1215
- {
1216
- "length": 20,
1217
- "start": 12115
1218
- }
1219
- ]
1220
- }
1221
- },
1222
- "deployedLinkReferences": {
1223
- "contracts/libraries/kyberswap/AggregationRouterHelper.sol": {
1224
- "AggregationRouterHelper": [
1225
- {
1226
- "length": 20,
1227
- "start": 11954
1228
- }
1229
- ]
1230
- }
1231
- }
1232
- }