@pendle/core-v2 0.15.0-mainnet → 0.15.2-mainnet

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 (431) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +110 -48
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +75 -21
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json +39 -0
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +4 -0
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +10 -0
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +4 -0
  11. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +10 -0
  12. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +15 -2
  15. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +15 -2
  17. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
  19. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +15 -2
  21. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +15 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +46 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +52 -8
  28. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +15 -2
  30. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  34. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  35. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  36. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  37. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +4 -0
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +699 -0
  40. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +4 -0
  41. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +515 -0
  42. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +4 -0
  43. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +10 -0
  44. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  46. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  48. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  51. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +77 -17
  53. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +4 -0
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +1003 -0
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +4 -0
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +1068 -0
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +4 -0
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +10 -0
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +4 -0
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +10 -0
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +4 -0
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +10 -0
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +4 -0
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/{ConvexCurveLP → base}/PendleConvexLPSY.sol/PendleConvexLPSY.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +4 -0
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +856 -0
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  79. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +15 -2
  82. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +85 -4
  84. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +17 -4
  86. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  88. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  90. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +3 -38
  92. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  94. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +13 -0
  96. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  98. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +319 -35
  100. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +4 -0
  101. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +10 -0
  102. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.json +1 -1
  105. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +39 -85
  107. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +4 -0
  108. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.json +213 -0
  109. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +4 -0
  112. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +119 -0
  113. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +4 -0
  114. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +39 -0
  115. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +4 -0
  116. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.json +30 -0
  117. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +4 -0
  118. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.json +76 -0
  119. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +91 -17
  121. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +50 -0
  123. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +20 -0
  125. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +20 -0
  128. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +181 -17
  130. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +4 -0
  131. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +173 -0
  132. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +4 -0
  133. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +86 -0
  134. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +4 -0
  135. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +34 -0
  136. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +2 -2
  139. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.json +12 -2
  141. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.json +45 -0
  153. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  156. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  157. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +15 -2
  158. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +4 -0
  159. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +35 -0
  160. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  161. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -80
  162. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +299 -60
  164. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  165. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +118 -41
  166. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  167. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  168. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  169. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +61 -24
  170. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  171. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  172. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  173. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +31 -24
  174. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  175. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  176. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  177. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +31 -24
  178. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  179. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +15 -2
  180. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  181. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -1
  182. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  183. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  184. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  185. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  186. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  187. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +191 -2
  188. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +4 -0
  189. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +35 -0
  190. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  191. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +1 -1
  192. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +58 -27
  193. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +46 -12
  194. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +31 -7
  195. package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +133 -0
  196. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +27 -0
  197. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +9 -10
  198. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +9 -23
  199. package/contracts/core/BulkSeller/BulkSeller.sol +259 -0
  200. package/contracts/core/BulkSeller/BulkSellerFactory.sol +88 -0
  201. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +143 -0
  202. package/contracts/core/Market/PendleMarket.sol +18 -7
  203. package/contracts/core/Market/PendleMarketFactory.sol +15 -5
  204. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +102 -0
  205. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +160 -0
  206. package/contracts/core/StandardizedYield/implementations/Convex/README.md +29 -0
  207. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +215 -0
  208. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +127 -0
  209. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +152 -0
  210. package/contracts/core/StandardizedYield/implementations/Convex/{ConvexCurveLP → base}/PendleConvexLPSY.sol +2 -4
  211. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +122 -0
  212. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +17 -8
  213. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +3 -3
  214. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +38 -11
  215. package/contracts/core/YieldContracts/PendleYieldToken.sol +54 -21
  216. package/contracts/core/erc20/PendleERC20.sol +4 -7
  217. package/contracts/core/libraries/BaseSplitCodeFactory.sol +1 -1
  218. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -1
  219. package/contracts/core/libraries/Errors.sol +32 -4
  220. package/contracts/core/libraries/StringLib.sol +782 -0
  221. package/contracts/core/libraries/TokenHelper.sol +9 -0
  222. package/contracts/interfaces/ConvexCurve/IBooster.sol +1 -1
  223. package/contracts/interfaces/Curve/ICrvPool.sol +12 -31
  224. package/contracts/interfaces/Curve/ITriCrvPool.sol +41 -0
  225. package/contracts/interfaces/ILayerZeroEndpoint.sol +39 -0
  226. package/contracts/interfaces/ILayerZeroReceiver.sol +12 -0
  227. package/contracts/interfaces/ILooksFeeSharing.sol +5 -0
  228. package/contracts/interfaces/ILooksStaking.sol +13 -0
  229. package/contracts/interfaces/IPActionAddRemoveLiq.sol +3 -5
  230. package/contracts/interfaces/IPActionMintRedeem.sol +2 -0
  231. package/contracts/interfaces/IPBulkSeller.sol +28 -0
  232. package/contracts/interfaces/IPBulkSellerFactory.sol +12 -0
  233. package/contracts/interfaces/IPBulkSellerSYCallback.sol +10 -0
  234. package/contracts/interfaces/IPMarketFactory.sol +1 -1
  235. package/contracts/interfaces/IPMsgSendEndpoint.sol +4 -2
  236. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  237. package/contracts/interfaces/IStETH.sol +6 -0
  238. package/contracts/interfaces/IStandardizedYield.sol +15 -10
  239. package/contracts/offchain-helpers/BulkSellerOffchain.sol +43 -0
  240. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -173
  241. package/contracts/offchain-helpers/RouterStatic.sol +189 -50
  242. package/contracts/router/ActionAddRemoveLiq.sol +71 -52
  243. package/contracts/router/ActionCallback.sol +4 -8
  244. package/contracts/router/ActionMintRedeem.sol +27 -18
  245. package/contracts/router/ActionSwapPT.sol +8 -9
  246. package/contracts/router/ActionSwapPTYT.sol +3 -7
  247. package/contracts/router/ActionSwapYT.sol +15 -10
  248. package/contracts/router/PendleRouter.sol +3 -0
  249. package/contracts/router/base/ActionBaseMintRedeem.sol +78 -83
  250. package/contracts/router/base/MarketApproxLib.sol +1 -1
  251. package/contracts/router/kyberswap/AggregationRouterHelper.sol +17 -1
  252. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +10 -0
  253. package/contracts/router/kyberswap/KyberSwapHelper.sol +21 -8
  254. package/deployments/1-markets/FRAX_30_MAR_23.json +8 -0
  255. package/deployments/1-markets/LOOKS_30_MAR_23.json +8 -0
  256. package/deployments/1-markets/STETH_MARCH_30.json +1 -1
  257. package/deployments/1-markets/USDD_MARCH_30.json +8 -0
  258. package/deployments/1-offchain-helper.json +3 -0
  259. package/package.json +3 -2
  260. package/typechain-types/AccessControl.ts +360 -0
  261. package/typechain-types/AccessControlUpgradeable.ts +369 -0
  262. package/typechain-types/ActionAddRemoveLiq.ts +64 -52
  263. package/typechain-types/ActionBaseMintRedeem.ts +8 -8
  264. package/typechain-types/ActionMintRedeem.ts +48 -16
  265. package/typechain-types/ActionSwapPT.ts +34 -12
  266. package/typechain-types/ActionSwapYT.ts +34 -12
  267. package/typechain-types/AggregationRouterHelper.ts +287 -3
  268. package/typechain-types/BaseSplitCodeFactoryContract.ts +9 -0
  269. package/typechain-types/BeaconProxy.ts +97 -0
  270. package/typechain-types/BoringOwnableUpgradeable.ts +9 -0
  271. package/typechain-types/BulkSeller.ts +777 -0
  272. package/typechain-types/BulkSellerFactory.ts +707 -0
  273. package/typechain-types/BulkSellerOffchain.ts +117 -0
  274. package/typechain-types/ContextUpgradeable.ts +68 -0
  275. package/typechain-types/Curve3CrvPoolHelper.ts +236 -0
  276. package/typechain-types/CurveFraxUsdcPoolHelper.ts +158 -0
  277. package/typechain-types/CurveUsdd3CrvPoolHelper.ts +184 -0
  278. package/typechain-types/ERC165.ts +102 -0
  279. package/typechain-types/ERC165Upgradeable.ts +113 -0
  280. package/typechain-types/IAccessControl.ts +305 -0
  281. package/typechain-types/IAccessControlUpgradeable.ts +305 -0
  282. package/typechain-types/IAggregationRouterHelper.ts +108 -0
  283. package/typechain-types/IBooster.ts +9 -3
  284. package/typechain-types/ICrvPool.ts +69 -172
  285. package/typechain-types/IERC165.ts +102 -0
  286. package/typechain-types/IERC165Upgradeable.ts +102 -0
  287. package/typechain-types/ILayerZeroEndpoint.ts +256 -0
  288. package/typechain-types/ILayerZeroReceiver.ts +117 -0
  289. package/typechain-types/ILooksFeeSharing.ts +102 -0
  290. package/typechain-types/ILooksStaking.ts +189 -0
  291. package/typechain-types/IPActionAddRemoveLiq.ts +56 -44
  292. package/typechain-types/IPActionMintRedeem.ts +40 -8
  293. package/typechain-types/IPActionSwapPT.ts +26 -4
  294. package/typechain-types/IPActionSwapYT.ts +26 -4
  295. package/typechain-types/IPAllAction.ts +76 -54
  296. package/typechain-types/IPBulkSeller.ts +290 -0
  297. package/typechain-types/IPBulkSellerCallback.ts +115 -0
  298. package/typechain-types/IPBulkSellerFactory.ts +147 -0
  299. package/typechain-types/IPMarketFactory.ts +2 -2
  300. package/typechain-types/IPMsgSendEndpoint.ts +24 -14
  301. package/typechain-types/IPYieldContractFactory.ts +3 -3
  302. package/typechain-types/IStETH.ts +56 -0
  303. package/typechain-types/ITriCrvPool.ts +345 -0
  304. package/typechain-types/ImplicitSwapfeeContract.ts +9 -17
  305. package/typechain-types/Initializable.ts +68 -0
  306. package/typechain-types/KyberSwapHelper.ts +8 -8
  307. package/typechain-types/MarketMathStatic.ts +0 -117
  308. package/typechain-types/PendleConvex2TokensSY.ts +1215 -0
  309. package/typechain-types/PendleCurveFraxUsdcSY.ts +1228 -0
  310. package/typechain-types/PendleCurveUsdd3CrvSY.ts +1299 -0
  311. package/typechain-types/PendleFeeDistributor.ts +9 -0
  312. package/typechain-types/PendleFeeDistributorFactory.ts +9 -0
  313. package/typechain-types/PendleGaugeControllerBaseUpg.ts +9 -0
  314. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +9 -0
  315. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +9 -0
  316. package/typechain-types/PendleLooksStaking.ts +1052 -0
  317. package/typechain-types/PendleLooksStakingSY.ts +1052 -0
  318. package/typechain-types/PendleMarketFactory.ts +51 -2
  319. package/typechain-types/PendleMsgReceiveEndpointUpg.ts +135 -68
  320. package/typechain-types/PendleMsgSendEndpointUpg.ts +108 -39
  321. package/typechain-types/PendleMsgSenderAppUpg.ts +64 -0
  322. package/typechain-types/PendlePrincipalToken.ts +9 -0
  323. package/typechain-types/PendleRouter.ts +9 -0
  324. package/typechain-types/PendleVotingControllerUpg.ts +64 -0
  325. package/typechain-types/PendleYieldContractFactory.ts +57 -8
  326. package/typechain-types/PendleYieldToken.ts +21 -0
  327. package/typechain-types/ReentrancyGuardUpgradeable.ts +68 -0
  328. package/typechain-types/RouterStatic.ts +302 -20
  329. package/typechain-types/VotingEscrowPendleMainchain.ts +70 -6
  330. package/typechain-types/VotingEscrowPendleSidechain.ts +9 -0
  331. package/typechain-types/factories/AccessControlUpgradeable__factory.ts +247 -0
  332. package/typechain-types/factories/AccessControl__factory.ts +227 -0
  333. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +122 -59
  334. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +1 -1
  335. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  336. package/typechain-types/factories/ActionMintRedeem__factory.ts +65 -42
  337. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  338. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  339. package/typechain-types/factories/ActionSwapPT__factory.ts +35 -42
  340. package/typechain-types/factories/ActionSwapYT__factory.ts +35 -42
  341. package/typechain-types/factories/AggregationRouterHelper__factory.ts +190 -1
  342. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +14 -1
  343. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +1 -1
  344. package/typechain-types/factories/BeaconProxy__factory.ts +141 -0
  345. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  346. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +13 -0
  347. package/typechain-types/factories/BulkSellerFactory__factory.ts +568 -0
  348. package/typechain-types/factories/BulkSellerOffchain__factory.ts +88 -0
  349. package/typechain-types/factories/BulkSeller__factory.ts +749 -0
  350. package/typechain-types/factories/ContextUpgradeable__factory.ts +39 -0
  351. package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +220 -0
  352. package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +146 -0
  353. package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +172 -0
  354. package/typechain-types/factories/ERC165Upgradeable__factory.ts +58 -0
  355. package/typechain-types/factories/ERC165__factory.ts +39 -0
  356. package/typechain-types/factories/ERC20__factory.ts +1 -1
  357. package/typechain-types/factories/Errors__factory.ts +318 -34
  358. package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +202 -0
  359. package/typechain-types/factories/IAccessControl__factory.ts +198 -0
  360. package/typechain-types/factories/IAggregationRouterHelper__factory.ts +54 -0
  361. package/typechain-types/factories/IBooster__factory.ts +1 -1
  362. package/typechain-types/factories/ICrvPool__factory.ts +39 -85
  363. package/typechain-types/factories/IERC165Upgradeable__factory.ts +45 -0
  364. package/typechain-types/factories/IERC165__factory.ts +42 -0
  365. package/typechain-types/factories/ILayerZeroEndpoint__factory.ts +134 -0
  366. package/typechain-types/factories/ILayerZeroReceiver__factory.ts +54 -0
  367. package/typechain-types/factories/ILooksFeeSharing__factory.ts +45 -0
  368. package/typechain-types/factories/ILooksStaking__factory.ts +88 -0
  369. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +91 -17
  370. package/typechain-types/factories/IPActionMintRedeem__factory.ts +50 -0
  371. package/typechain-types/factories/IPActionSwapPT__factory.ts +20 -0
  372. package/typechain-types/factories/IPActionSwapYT__factory.ts +20 -0
  373. package/typechain-types/factories/IPAllAction__factory.ts +181 -17
  374. package/typechain-types/factories/IPBulkSellerCallback__factory.ts +53 -0
  375. package/typechain-types/factories/IPBulkSellerFactory__factory.ts +101 -0
  376. package/typechain-types/factories/IPBulkSeller__factory.ts +185 -0
  377. package/typechain-types/factories/IPMarketFactory__factory.ts +2 -2
  378. package/typechain-types/factories/IPMsgSendEndpoint__factory.ts +12 -2
  379. package/typechain-types/factories/IPYieldContractFactory__factory.ts +1 -1
  380. package/typechain-types/factories/IStETH__factory.ts +45 -0
  381. package/typechain-types/factories/ITriCrvPool__factory.ts +225 -0
  382. package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +4 -12
  383. package/typechain-types/factories/Initializable__factory.ts +36 -0
  384. package/typechain-types/factories/KyberSwapHelper__factory.ts +1 -1
  385. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -79
  386. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  387. package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +1 -1
  388. package/typechain-types/factories/PendleConvex2TokensSY__factory.ts +1093 -0
  389. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1068 -0
  390. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1133 -0
  391. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  392. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  393. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +14 -1
  394. package/typechain-types/factories/PendleFeeDistributor__factory.ts +14 -1
  395. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
  396. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +14 -1
  397. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +14 -1
  398. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +937 -0
  399. package/typechain-types/factories/PendleLooksStaking__factory.ts +933 -0
  400. package/typechain-types/factories/PendleMarketFactory__factory.ts +76 -16
  401. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  402. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +113 -51
  403. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +84 -23
  404. package/typechain-types/factories/PendleMsgSenderAppUpg__factory.ts +39 -0
  405. package/typechain-types/factories/PendlePrincipalToken__factory.ts +14 -1
  406. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  407. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  408. package/typechain-types/factories/PendleRouter__factory.ts +14 -1
  409. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +57 -2
  410. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  411. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +84 -3
  412. package/typechain-types/factories/PendleYieldToken__factory.ts +16 -3
  413. package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  414. package/typechain-types/factories/RouterStatic__factory.ts +244 -1
  415. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +63 -8
  416. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +14 -1
  417. package/typechain-types/hardhat.d.ts +260 -35
  418. package/typechain-types/index.ts +56 -10
  419. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.dbg.json +0 -4
  420. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.json +0 -1018
  421. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +0 -4
  422. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
  423. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +0 -76
  424. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +0 -4
  425. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.json +0 -53
  426. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +0 -4
  427. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.json +0 -45
  428. package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol +0 -167
  429. package/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol +0 -83
  430. package/contracts/interfaces/ICelerMessageBus.sol +0 -28
  431. package/contracts/interfaces/ICelerMessageReceiverApp.sol +0 -25
@@ -12,7 +12,7 @@ import type {
12
12
  const _abi = [
13
13
  {
14
14
  inputs: [],
15
- name: "kyberSwapRouter",
15
+ name: "kyberScalingLib",
16
16
  outputs: [
17
17
  {
18
18
  internalType: "address",
@@ -166,7 +166,7 @@ const _abi = [
166
166
  ];
167
167
 
168
168
  const _bytecode =
169
- "0x60a060405234801561001057600080fd5b5060405161165f38038061165f83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516115cf610090600039600081816040015260a601526115cf6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f919061106d565b60405180910390f35b61008b610086366004611081565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db90849060040161106d565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c9190611100565b610144578060405163083c2ed160e11b815260040161013b919061106d565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a0611122565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb611122565b036101dd576101b28288888888610402565b60028160048111156101f1576101f1611122565b03610203576101b2828888888861062b565b600381600481111561021757610217611122565b03610229576101b282888888886108f8565b600481600481111561023d5761023d611122565b0361024f576101b28288888888610ab7565b610257611138565b50505050505050565b6000818060200190518101906102769190611162565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e09190611195565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b91509150600061033588610c76565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906111e2565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906111fc565b9050818110156103d157808260405163c217d4a960e01b815260040161013b929190611215565b828110156103f657808360405163a59b8c3160e01b815260040161013b929190611215565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9192505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e19190611195565b925050915060006104fa826001600160a01b0316610cb8565b9050600061050789610c76565b905060006105158383610d1e565b905060006105228a610d31565b905060006105308383610d40565b9050876040015181111561055f5780886040015160405163039d13e760e61b815260040161013b929190611215565b801561057d57875161057d906001600160a01b038916908884610d57565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105b19291906111e2565b6020604051808303816000875af11580156105d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f491906111fc565b90508481101561061b57808560405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050505050565b60008061066d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d59190611195565b9250505060006106ed826001600160a01b0316610cb8565b905060006107026106fd89610dc8565b610d31565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b6107578585610dd6565b8360008151811061076a5761076a611239565b602002602001018360008151811061078457610784611239565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107bb576107bb611239565b60200260200101516107cc8d610d31565b6107d69190611265565b836001815181106107e9576107e9611239565b602002602001018360018151811061080357610803611239565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d88981906108479086908690600401611278565b6000604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088e91908101906112fc565b905086816001815181106108a4576108a4611239565b602002602001015110156108e957806001815181106108c5576108c5611239565b6020026020010151876040516305221cf360e11b815260040161013b929190611215565b50505050505050505050505050565b600080600061093c85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a79190611195565b925092505060006109b789610c76565b90506109cd6001600160a01b0384168387610e04565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109fc908f9060040161106d565b6020604051808303816000875af1158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f91906111fc565b905081811015610a6657808260405163042b0dcf60e31b815260040161013b929190611215565b600086610a728d610d31565b610a7c9190611265565b905085811015610aa3578086604051634e6ffe4760e11b815260040161013b929190611215565b6108e96001600160a01b0386168983610e04565b6000806000610afb85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b9250925092506000610b0c88610c76565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190611195565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610ba69291906111e2565b6020604051808303816000875af1158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be991906111fc565b905083811015610c1057808460405163a59b8c3160e01b815260040161013b929190611215565b82610c1b82876113b9565b1015610c4757610c2b81866113b9565b8360405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050565b60008082806020019051810190610c6b91906113cc565b909590945092505050565b6000808213610c8d57610c888261140c565b610276565b5090565b600080600083806020019051810190610caa9190611428565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906111fc565b6000610d2a8383610e39565b9392505050565b600080821215610c8d57600080fd5b600081831015610d51576000610d2a565b50900390565b6040516001600160a01b0380851660248301528316604482015260648101829052610dc29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e6f565b50505050565b600061027682600019611478565b600082610de38184610f41565b949350505050565b600080600083806020019051810190610caa91906114a8565b6040516001600160a01b038316602482015260448101829052610e3490849063a9059cbb60e01b90606401610d8b565b505050565b600082600181610e51670de0b6b3a7640000866114ed565b610e5b91906113b9565b610e659190611265565b610d2a9190611504565b6000610ec4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f599092919063ffffffff16565b805190915015610e345780806020019051810190610ee29190611100565b610e345760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6000670de0b6b3a7640000600181610e5186866114ed565b6060610de38484600085856001600160a01b0385163b610fbb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b03168587604051610fd7919061154a565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b5091509150611029828286611034565b979650505050505050565b60608315611043575081610d2a565b8251156110535782518084602001fd5b8160405162461bcd60e51b815260040161013b9190611566565b6001600160a01b0391909116815260200190565b6000806000806060858703121561109757600080fd5b843593506020850135925060408501356001600160401b03808211156110bc57600080fd5b818701915087601f8301126110d057600080fd5b8135818111156110df57600080fd5b8860208285010111156110f157600080fd5b95989497505060200194505050565b60006020828403121561111257600080fd5b81518015158114610d2a57600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061115d57600080fd5b919050565b60006020828403121561117457600080fd5b610d2a8261114e565b6001600160a01b038116811461119257600080fd5b50565b6000806000606084860312156111aa57600080fd5b83516111b58161117d565b60208501519093506111c68161117d565b60408501519092506111d78161117d565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561120e57600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102765761027661124f565b604080825283519082018190526000906020906060840190828701845b828110156112ba5781516001600160a01b031684529284019290840190600101611295565b5050508381038285015284518082528583019183019060005b818110156112ef578351835292840192918401916001016112d3565b5090979650505050505050565b6000602080838503121561130f57600080fd5b82516001600160401b038082111561132657600080fd5b818501915085601f83011261133a57600080fd5b81518181111561134c5761134c611223565b8060051b604051601f19603f8301168101818110858211171561137157611371611223565b60405291825284820192508381018501918883111561138f57600080fd5b938501935b828510156113ad57845184529385019392850192611394565b98975050505050505050565b808201808211156102765761027661124f565b6000806000606084860312156113e157600080fd5b6113ea8461114e565b925060208401516113fa8161117d565b80925050604084015190509250925092565b6000600160ff1b82016114215761142161124f565b5060000390565b6000806000806080858703121561143e57600080fd5b6114478561114e565b935060208501516114578161117d565b60408601519093506114688161117d565b6060959095015193969295505050565b80820260008212600160ff1b841416156114945761149461124f565b81810583148215176102765761027661124f565b600080600080608085870312156114be57600080fd5b6114c78561114e565b935060208501516114d78161117d565b6040860151606090960151949790965092505050565b80820281158282048414176102765761027661124f565b60008261152157634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015611541578181015183820152602001611529565b50506000910152565b6000825161155c818460208701611526565b9190910192915050565b6020815260008251806020840152611585816040850160208701611526565b601f01601f1916919091016040019291505056fea26469706673582212203978bfe8117414a1e8703630757c958274c7de462dbdb7d28f75d1f7b8c7c93264736f6c63430008110033";
169
+ "0x60a060405234801561001057600080fd5b5060405161172438038061172483398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611694610090600039600081816040015260a601526116946000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f9190611132565b60405180910390f35b61008b610086366004611146565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db908490600401611132565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c91906111c5565b610144578060405163083c2ed160e11b815260040161013b9190611132565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a06111e7565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb6111e7565b036101dd576101b28288888888610402565b60028160048111156101f1576101f16111e7565b03610203576101b28288888888610623565b6003816004811115610217576102176111e7565b03610229576101b282888888886108f0565b600481600481111561023d5761023d6111e7565b0361024f576101b28288888888610a9d565b6102576111fd565b50505050505050565b6000818060200190518101906102769190611227565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e0919061125a565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c3a92505050565b91509150600061033588610c5c565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906112a7565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906112c1565b9050818110156103d157808260405163c217d4a960e01b815260040161013b9291906112da565b828110156103f657808360405163a59b8c3160e01b815260040161013b9291906112da565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c7792505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e1919061125a565b925050915060006104fa826001600160a01b0316610c9e565b9050600061050789610c5c565b905060006105158383610d04565b905060006105228a610d17565b905060006105308383610d26565b9050876040015181111561055f5780886040015160405163039d13e760e61b815260040161013b9291906112da565b8015610575576105758789600001518884610d3d565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105a99291906112a7565b6020604051808303816000875af11580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec91906112c1565b90508481101561061357808560405163c217d4a960e01b815260040161013b9291906112da565b5050505050505050505050505050565b60008061066584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c3a92505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd919061125a565b9250505060006106e5826001600160a01b0316610c9e565b905060006106fa6106f589610d5e565b610d17565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b61074f8585610d6c565b83600081518110610762576107626112fe565b602002602001018360008151811061077c5761077c6112fe565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107b3576107b36112fe565b60200260200101516107c48d610d17565b6107ce919061132a565b836001815181106107e1576107e16112fe565b60200260200101836001815181106107fb576107fb6112fe565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d889819061083f908690869060040161133d565b6000604051808303816000875af115801561085e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088691908101906113c1565b9050868160018151811061089c5761089c6112fe565b602002602001015110156108e157806001815181106108bd576108bd6112fe565b6020026020010151876040516305221cf360e11b815260040161013b9291906112da565b50505050505050505050505050565b600080600061093485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8192505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f919061125a565b925092505060006109af89610c5c565b90506109bc838387610d9a565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109eb908f90600401611132565b6020604051808303816000875af1158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2e91906112c1565b905081811015610a5557808260405163042b0dcf60e31b815260040161013b9291906112da565b600086610a618d610d17565b610a6b919061132a565b905085811015610a92578086604051634e6ffe4760e11b815260040161013b9291906112da565b6108e1858983610d9a565b6000806000610ae185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8192505050565b9250925092506000610af288610c5c565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b58919061125a565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610b8c9291906112a7565b6020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf91906112c1565b905083811015610bf657808460405163a59b8c3160e01b815260040161013b9291906112da565b82610c01828761147e565b1015610c2d57610c11818661147e565b8360405163c217d4a960e01b815260040161013b9291906112da565b5050505050505050505050565b60008082806020019051810190610c519190611491565b909590945092505050565b6000808213610c7357610c6e826114d1565b610276565b5090565b600080600083806020019051810190610c9091906114ed565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906112c1565b6000610d108383610e63565b9392505050565b600080821215610c7357600080fd5b600081831015610d37576000610d10565b50900390565b8015610d5857610d586001600160a01b038516848484610e99565b50505050565b60006102768260001961153d565b600082610d798184610f04565b949350505050565b600080600083806020019051810190610c90919061156d565b80600003610da757505050565b6001600160a01b038316610e4a576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e02576040519150601f19603f3d011682016040523d82523d6000602084013e610e07565b606091505b5050905080610d585760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161013b565b610e5e6001600160a01b0384168383610f1c565b505050565b600082600181610e7b670de0b6b3a7640000866115b2565b610e85919061147e565b610e8f919061132a565b610d1091906115c9565b6040516001600160a01b0380851660248301528316604482015260648101829052610d589085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610f4c565b6000670de0b6b3a7640000600181610e7b86866115b2565b6040516001600160a01b038316602482015260448101829052610e5e90849063a9059cbb60e01b90606401610ecd565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661101e9092919063ffffffff16565b805190915015610e5e5780806020019051810190610fbf91906111c5565b610e5e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6060610d798484600085856001600160a01b0385163b6110805760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b0316858760405161109c919061160f565b60006040518083038185875af1925050503d80600081146110d9576040519150601f19603f3d011682016040523d82523d6000602084013e6110de565b606091505b50915091506110ee8282866110f9565b979650505050505050565b60608315611108575081610d10565b8251156111185782518084602001fd5b8160405162461bcd60e51b815260040161013b919061162b565b6001600160a01b0391909116815260200190565b6000806000806060858703121561115c57600080fd5b843593506020850135925060408501356001600160401b038082111561118157600080fd5b818701915087601f83011261119557600080fd5b8135818111156111a457600080fd5b8860208285010111156111b657600080fd5b95989497505060200194505050565b6000602082840312156111d757600080fd5b81518015158114610d1057600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061122257600080fd5b919050565b60006020828403121561123957600080fd5b610d1082611213565b6001600160a01b038116811461125757600080fd5b50565b60008060006060848603121561126f57600080fd5b835161127a81611242565b602085015190935061128b81611242565b604085015190925061129c81611242565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156112d357600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561027657610276611314565b604080825283519082018190526000906020906060840190828701845b8281101561137f5781516001600160a01b03168452928401929084019060010161135a565b5050508381038285015284518082528583019183019060005b818110156113b457835183529284019291840191600101611398565b5090979650505050505050565b600060208083850312156113d457600080fd5b82516001600160401b03808211156113eb57600080fd5b818501915085601f8301126113ff57600080fd5b815181811115611411576114116112e8565b8060051b604051601f19603f83011681018181108582111715611436576114366112e8565b60405291825284820192508381018501918883111561145457600080fd5b938501935b8285101561147257845184529385019392850192611459565b98975050505050505050565b8082018082111561027657610276611314565b6000806000606084860312156114a657600080fd5b6114af84611213565b925060208401516114bf81611242565b80925050604084015190509250925092565b6000600160ff1b82016114e6576114e6611314565b5060000390565b6000806000806080858703121561150357600080fd5b61150c85611213565b9350602085015161151c81611242565b604086015190935061152d81611242565b6060959095015193969295505050565b80820260008212600160ff1b8414161561155957611559611314565b818105831482151761027657610276611314565b6000806000806080858703121561158357600080fd5b61158c85611213565b9350602085015161159c81611242565b6040860151606090960151949790965092505050565b808202811582820484141761027657610276611314565b6000826115e657634e487b7160e01b600052601260045260246000fd5b500490565b60005b838110156116065781810151838201526020016115ee565b50506000910152565b600082516116218184602087016115eb565b9190910192915050565b602081526000825180602084015261164a8160408501602087016115eb565b601f01601f1916919091016040019291505056fea26469706673582212202b540b2be3b06b69d361f3b85dcd5bd4602b43f8fcf215e1ff488a4dedc8701564736f6c63430008110033";
170
170
 
171
171
  type ActionCallbackConstructorParams =
172
172
  | [signer?: Signer]
@@ -13,7 +13,7 @@ const _abi = [
13
13
  inputs: [
14
14
  {
15
15
  internalType: "address",
16
- name: "_kyberSwapRouter",
16
+ name: "_kyberScalingLib",
17
17
  type: "address",
18
18
  },
19
19
  ],
@@ -73,6 +73,11 @@ const _abi = [
73
73
  name: "RouterInsufficientTokenOut",
74
74
  type: "error",
75
75
  },
76
+ {
77
+ inputs: [],
78
+ name: "RouterKyberSwapDataZero",
79
+ type: "error",
80
+ },
76
81
  {
77
82
  anonymous: false,
78
83
  inputs: [
@@ -419,7 +424,7 @@ const _abi = [
419
424
  },
420
425
  {
421
426
  inputs: [],
422
- name: "kyberSwapRouter",
427
+ name: "kyberScalingLib",
423
428
  outputs: [
424
429
  {
425
430
  internalType: "address",
@@ -498,6 +503,16 @@ const _abi = [
498
503
  name: "tokenMintSy",
499
504
  type: "address",
500
505
  },
506
+ {
507
+ internalType: "address",
508
+ name: "bulk",
509
+ type: "address",
510
+ },
511
+ {
512
+ internalType: "address",
513
+ name: "kyberRouter",
514
+ type: "address",
515
+ },
501
516
  {
502
517
  internalType: "bytes",
503
518
  name: "kybercall",
@@ -554,6 +569,16 @@ const _abi = [
554
569
  name: "tokenMintSy",
555
570
  type: "address",
556
571
  },
572
+ {
573
+ internalType: "address",
574
+ name: "bulk",
575
+ type: "address",
576
+ },
577
+ {
578
+ internalType: "address",
579
+ name: "kyberRouter",
580
+ type: "address",
581
+ },
557
582
  {
558
583
  internalType: "bytes",
559
584
  name: "kybercall",
@@ -649,6 +674,11 @@ const _abi = [
649
674
  name: "tokenRedeemSys",
650
675
  type: "address[]",
651
676
  },
677
+ {
678
+ internalType: "address[]",
679
+ name: "bulks",
680
+ type: "address[]",
681
+ },
652
682
  ],
653
683
  internalType: "struct IPActionMintRedeem.RouterYtRedeemStruct",
654
684
  name: "dataYT",
@@ -671,6 +701,11 @@ const _abi = [
671
701
  name: "kybercalls",
672
702
  type: "bytes[]",
673
703
  },
704
+ {
705
+ internalType: "address",
706
+ name: "kyberRouter",
707
+ type: "address",
708
+ },
674
709
  {
675
710
  internalType: "address",
676
711
  name: "outputToken",
@@ -771,6 +806,16 @@ const _abi = [
771
806
  name: "tokenRedeemSy",
772
807
  type: "address",
773
808
  },
809
+ {
810
+ internalType: "address",
811
+ name: "bulk",
812
+ type: "address",
813
+ },
814
+ {
815
+ internalType: "address",
816
+ name: "kyberRouter",
817
+ type: "address",
818
+ },
774
819
  {
775
820
  internalType: "bytes",
776
821
  name: "kybercall",
@@ -827,6 +872,16 @@ const _abi = [
827
872
  name: "tokenRedeemSy",
828
873
  type: "address",
829
874
  },
875
+ {
876
+ internalType: "address",
877
+ name: "bulk",
878
+ type: "address",
879
+ },
880
+ {
881
+ internalType: "address",
882
+ name: "kyberRouter",
883
+ type: "address",
884
+ },
830
885
  {
831
886
  internalType: "bytes",
832
887
  name: "kybercall",
@@ -852,68 +907,40 @@ const _abi = [
852
907
  ];
853
908
 
854
909
  const _bytecode =
855
- "0x60a06040523480156200001157600080fd5b50604051620030b4380380620030b4833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051613013620000a16000396000818160c001528181611d820152611e4f01526130136000f3fe6080604052600436106100765760003560e01c80631a8631b21461007b5780631ef6f327146100ae57806331e9a687146100ef578063339748cb1461011d578063a9eaa9711461013d578063b03861b31461015d578063e75b27521461017d578063f7e375e814610190578063ffaec3ce146101c0575b600080fd5b34801561008757600080fd5b5061009b6100963660046123cb565b6101d3565b6040519081526020015b60405180910390f35b3480156100ba57600080fd5b506100e27f000000000000000000000000000000000000000000000000000000000000000081565b6040516100a59190612411565b3480156100fb57600080fd5b5061010f61010a366004612488565b610244565b6040516100a5929190612581565b34801561012957600080fd5b5061009b6101383660046123cb565b61089e565b34801561014957600080fd5b5061009b61015836600461259a565b6108ff565b34801561016957600080fd5b5061009b61017836600461259a565b610973565b61009b61018b36600461259a565b6109c3565b34801561019c57600080fd5b506101b06101ab366004612605565b610a38565b6040516100a5949392919061272d565b61009b6101ce36600461259a565b610e66565b60006101e3858585856001610eb3565b9050836001600160a01b0316856001600160a01b0316336001600160a01b03167f52e05e4badd3463bad837f42fe3ba58c739d1b3081cff9bb6eb02a24034d455d868560405161023492919061277a565b60405180910390a4949350505050565b600060606102556020840184612788565b90506102618480612788565b9050146102815760405163512509d360e11b815260040160405180910390fd5b61028e6020870187612788565b905061029d6040880188612788565b9050146102bd5760405163512509d360e11b815260040160405180910390fd5b60006103036102cc8580612788565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610fd792505050565b905060006103176102cc60208a018a612788565b905060005b8981101561044f5760008b8b83818110610338576103386127d1565b905060200201602081019061034d91906127e7565b90506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561038f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103b79190810190612895565b90506000826001600160a01b031663ef5cfb8c336040518263ffffffff1660e01b81526004016103e79190612411565b6000604051808303816000875af1158015610406573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261042e919081019061298e565b905061043b868383611047565b50505080610448906129e0565b905061031c565b5060005b61045d8980612788565b90508110156106145760006104728a80612788565b83818110610482576104826127d1565b905060200201602081019061049791906127e7565b9050600080826001600160a01b0316637d24da4d336001806040518463ffffffff1660e01b81526004016104cd939291906129f9565b6000604051808303816000875af11580156104ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105149190810190612a1c565b915091506000836001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190612a63565b90506000846001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e69190810190612895565b90506105f38783866110a8565b6105fe888285611047565b50505050508061060d906129e0565b9050610453565b5060005b8681101561074b576000888883818110610634576106346127d1565b905060200201602081019061064991906127e7565b90506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561068b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106b39190810190612895565b90506000826001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016106e39190612411565b6000604051808303816000875af1158015610702573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072a919081019061298e565b9050610737868383611047565b50505080610744906129e0565b9050610618565b5060005b8251518110156107c3576107b3333085602001518481518110610774576107746127d1565b602002602001015186600001518581518110610792576107926127d1565b60200260200101516001600160a01b031661116c909392919063ffffffff16565b6107bc816129e0565b905061074f565b506107db816107d560408b018b612788565b856111d7565b6107ed826107e887612b65565b611386565b935084606001358410156108255783856060013560405163c5b5576d60e01b815260040161081c92919061277a565b60405180910390fd5b6020820151925061083c60608601604087016127e7565b6001600160a01b0316337f56eeb6891d28545a4a95b9293ab44df333bcb6344c20d9b1717c6ccf892661468c8c6108738d80612788565b8d8d8c6040516108899796959493929190612c89565b60405180910390a35050965096945050505050565b60006108ae858585856001611451565b9050836001600160a01b0316856001600160a01b0316336001600160a01b03167f31af33f80f4b396e3d4e42b38ecd3e022883a9bf689fd63f47afbe1d389cb6e7868560405161023492919061277a565b600061090f8585858560016115ed565b90506001600160a01b03808516908616337f6277b1739d3ea3c68947701d90e1a277c99be38fbb48c8556a497caabc7bd8058661094f60208801886127e7565b604080519283526001600160a01b0390911660208301528101869052606001610234565b600061098385858585600161181a565b90506001600160a01b03808516908616337fb77e59c2b79297ca3a25f9eac2acee3fc1c25e074b468742f96a5d8b8cd0d1728661094f60208801886127e7565b60006109d185858585611a15565b90506001600160a01b03808516908616337f71c7a44161eb32e4640f6c8f0586db5f1d2e03306e2c63bb2e0f7cd0a8fc690c610a1060208701876127e7565b604080516001600160a01b039092168252602080890135908301528101869052606001610234565b6060808080886001600160401b03811115610a5557610a55612804565b604051908082528060200260200182016040528015610a8857816020015b6060815260200190600190039081610a735790505b50935060005b89811015610b5d578a8a82818110610aa857610aa86127d1565b9050602002016020810190610abd91906127e7565b6001600160a01b031663ef5cfb8c8d6040518263ffffffff1660e01b8152600401610ae89190612411565b6000604051808303816000875af1158015610b07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b2f919081019061298e565b858281518110610b4157610b416127d1565b602002602001018190525080610b56906129e0565b9050610a8e565b50866001600160401b03811115610b7657610b76612804565b604051908082528060200260200182016040528015610b9f578160200160208202803683370190505b509250866001600160401b03811115610bba57610bba612804565b604051908082528060200260200182016040528015610bed57816020015b6060815260200190600190039081610bd85790505b50915060005b87811015610ce357888882818110610c0d57610c0d6127d1565b9050602002016020810190610c2291906127e7565b6001600160a01b0316637d24da4d8d6001806040518463ffffffff1660e01b8152600401610c52939291906129f9565b6000604051808303816000875af1158015610c71573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c999190810190612a1c565b858381518110610cab57610cab6127d1565b60200260200101858481518110610cc457610cc46127d1565b602090810291909101019190915252610cdc816129e0565b9050610bf3565b50846001600160401b03811115610cfc57610cfc612804565b604051908082528060200260200182016040528015610d2f57816020015b6060815260200190600190039081610d1a5790505b50905060005b85811015610e0457868682818110610d4f57610d4f6127d1565b9050602002016020810190610d6491906127e7565b6001600160a01b0316639262187b8d6040518263ffffffff1660e01b8152600401610d8f9190612411565b6000604051808303816000875af1158015610dae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dd6919081019061298e565b828281518110610de857610de86127d1565b602002602001018190525080610dfd906129e0565b9050610d35565b508a6001600160a01b03167f28fbd8132ef7eb1e18898defe390f1ee7fd8b05eec39314caa285faab4c43bff8b8b8b8b8b8b8b8b8b8b604051610e509a99989796959493929190612cda565b60405180910390a2975097509750979350505050565b6000610e7485858585611b8f565b90506001600160a01b03808516908616337ff586e656e1e436d9ca7c96e43cb793e47b685467d5d574a66efabb8501a333b8610a1060208701876127e7565b600080856001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190612a63565b90508215610f3557610f356001600160a01b03821633888861116c565b60405163db74aa1560e01b81526001600160a01b0387169063db74aa1590610f63908a908190600401612d77565b6020604051808303816000875af1158015610f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa69190612d91565b915083821015610fcd57818460405163ca935dfd60e01b815260040161081c92919061277a565b5095945050505050565b6040805180820190915260608082526020820152604051806040016040528083815260200183516001600160401b0381111561101557611015612804565b60405190808252806020026020018201604052801561103e578160200160208202803683370190505b50905292915050565b60005b82518110156110a25761109084848381518110611069576110696127d1565b6020026020010151848481518110611083576110836127d1565b60200260200101516110a8565b8061109a816129e0565b91505061104a565b50505050565b60005b83515181101561113157826001600160a01b0316846000015182815181106110d5576110d56127d1565b60200260200101516001600160a01b03160361111f578184602001518281518110611102576111026127d1565b602002602001018181516111169190612daa565b90525050505050565b80611129816129e0565b9150506110ab565b5060405162461bcd60e51b815260206004820152600f60248201526e1d1bdad95b881b9bdd08199bdd5b99608a1b604482015260640161081c565b6040516001600160a01b03808516602483015283166044820152606481018290526110a29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611ca5565b60005b84515181101561137f57846020015181815181106111fa576111fa6127d1565b60200260200101516000031561136f576112603386600001518381518110611224576112246127d1565b602002602001015187602001518481518110611242576112426127d1565b602002602001015188600001518581518110610792576107926127d1565b600085600001518281518110611278576112786127d1565b60200260200101516001600160a01b031663769f8e5d30886020015185815181106112a5576112a56127d1565b60200260200101518888878181106112bf576112bf6127d1565b90506020020160208101906112d491906127e7565b6001806040518663ffffffff1660e01b81526004016112f7959493929190612dbd565b6020604051808303816000875af1158015611316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133a9190612d91565b905061136d83868685818110611352576113526127d1565b905060200201602081019061136791906127e7565b836110a8565b505b611378816129e0565b90506111da565b5050505050565b6000805b83515181101561142c57836020015181815181106113aa576113aa6127d1565b60200260200101516000031561141c5761141c846000015182815181106113d3576113d36127d1565b6020026020010151856020015183815181106113f1576113f16127d1565b60200260200101518560200151848151811061140f5761140f6127d1565b6020026020010151611d7c565b611425816129e0565b905061138a565b5061143a8260400151611e76565b905061144b82604001513383611f00565b92915050565b600080856001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611492573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b69190612a63565b90508215611557576000866001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115229190612df1565b15905061153a6001600160a01b03831633898961116c565b8015611555576115556001600160a01b03881633898961116c565b505b60405163bcb7ea5d60e01b81526001600160a01b0387169063bcb7ea5d90611583908a90600401612411565b6020604051808303816000875af11580156115a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c69190612d91565b915083821015610fcd5781846040516305221cf360e11b815260040161081c92919061277a565b6000811561160a5761160a6001600160a01b03861633878761116c565b61161760208401846127e7565b6001600160a01b031661163060608501604086016127e7565b6001600160a01b0316036116d0576001600160a01b03851663769f8e5d878661165f60608801604089016127e7565b876020013560016040518663ffffffff1660e01b8152600401611686959493929190612dbd565b6020604051808303816000875af11580156116a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c99190612d91565b9050611811565b60006001600160a01b03861663769f8e5d30876116f36060890160408a016127e7565b6001806040518663ffffffff1660e01b8152600401611716959493929190612dbd565b6020604051808303816000875af1158015611735573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117599190612d91565b90506117b661176e60608601604087016127e7565b8261177c6060880188612e13565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d7c92505050565b6117cb6117c660208601866127e7565b611e76565b915083602001358210156117fa5781846020013560405163c5b5576d60e01b815260040161081c92919061277a565b610fcd61180a60208601866127e7565b8884611f00565b95945050505050565b600080856001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f9190612a63565b90506000866001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e59190612a63565b90508315611986576000876001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561192d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119519190612df1565b1590506119696001600160a01b038416338a8a61116c565b8015611984576119846001600160a01b038916338a8a61116c565b505b60405163bcb7ea5d60e01b81526000906001600160a01b0389169063bcb7ea5d906119b5908590600401612411565b6020604051808303816000875af11580156119d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f89190612d91565b9050611a088983838960006115ed565b9998505050505050505050565b6000611a32611a2760208401846127e7565b338460200135611fc4565b611a4260608301604084016127e7565b6001600160a01b0316611a5860208401846127e7565b6001600160a01b031614611a8857611a88611a7660208401846127e7565b602084013561177c6060860186612e13565b611aa1611a9b60608401604085016127e7565b8561202b565b6000611ab66117c660608501604086016127e7565b9050600080611acb60608601604087016127e7565b6001600160a01b031614611ae0576000611ae2565b815b90506001600160a01b0386166320e8c5658289611b056060890160408a016127e7565b6040516001600160e01b031960e086901b1681526001600160a01b03928316600482015291166024820152604481018690526064810189905260840160206040518083038185885af1158015611b5f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b849190612d91565b979650505050505050565b600080846001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf49190612a63565b9050611c038582600186611a15565b5060405163db74aa1560e01b81526001600160a01b0386169063db74aa1590611c329089908190600401612d77565b6020604051808303816000875af1158015611c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c759190612d91565b915083821015611c9c57818460405163ca935dfd60e01b815260040161081c92919061277a565b50949350505050565b6000611cfa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120de9092919063ffffffff16565b805190915015611d775780806020019051810190611d189190612df1565b611d775760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161081c565b505050565b611da6837f000000000000000000000000000000000000000000000000000000000000000061202b565b60405163726d379760e11b815260009073__$802f57dc5d2627d21bbb7805eff3c348c4$__9063e4da6f2e90611de29085908790600401612ea9565b600060405180830381865af4158015611dff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e279190810190612ecb565b905061137f816001600160a01b03861615611e43576000611e45565b845b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906120f7565b60006001600160a01b03821615611ef9576040516370a0823160e01b81526001600160a01b038316906370a0823190611eb3903090600401612411565b602060405180830381865afa158015611ed0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef49190612d91565b61144b565b4792915050565b80600003611f0d57505050565b6001600160a01b038316611fb0576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611f68576040519150601f19603f3d011682016040523d82523d6000602084013e611f6d565b606091505b50509050806110a25760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161081c565b611d776001600160a01b038416838361211d565b6001600160a01b03831661201057803414611d775760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161081c565b8015611d7757611d776001600160a01b03841683308461116c565b6001600160a01b03821661203d575050565b61204f60026001600160601b03612f38565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401612086929190612d77565b602060405180830381865afa1580156120a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c79190612d91565b10156120da576120da828260001961213c565b5050565b60606120ed8484600085612249565b90505b9392505050565b60606120ed848484604051806060016040528060298152602001612fb560299139612249565b611d778363a9059cbb60e01b84846040516024016111a0929190612f6c565b600080846001600160a01b031663095ea7b360e01b8585604051602401612164929190612f6c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516121a29190612f85565b6000604051808303816000865af19150503d80600081146121df576040519150601f19603f3d011682016040523d82523d6000602084013e6121e4565b606091505b509150915081801561220e57508051158061220e57508080602001905181019061220e9190612df1565b61137f5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161081c565b6060824710156122aa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161081c565b6001600160a01b0385163b6123015760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161081c565b600080866001600160a01b0316858760405161231d9190612f85565b60006040518083038185875af1925050503d806000811461235a576040519150601f19603f3d011682016040523d82523d6000602084013e61235f565b606091505b5091509150611b84828286606083156123795750816120f0565b8251156123895782518084602001fd5b8160405162461bcd60e51b815260040161081c9190612fa1565b6001600160a01b03811681146123b857600080fd5b50565b80356123c6816123a3565b919050565b600080600080608085870312156123e157600080fd5b84356123ec816123a3565b935060208501356123fc816123a3565b93969395505050506040820135916060013590565b6001600160a01b0391909116815260200190565b60008083601f84011261243757600080fd5b5081356001600160401b0381111561244e57600080fd5b6020830191508360208260051b850101111561246957600080fd5b9250929050565b60006080828403121561248257600080fd5b50919050565b600080600080600080608087890312156124a157600080fd5b86356001600160401b03808211156124b857600080fd5b6124c48a838b01612425565b909850965060208901359150808211156124dd57600080fd5b908801906060828b0312156124f157600080fd5b9094506040880135908082111561250757600080fd5b6125138a838b01612425565b9095509350606089013591508082111561252c57600080fd5b5061253989828a01612470565b9150509295509295509295565b600081518084526020808501945080840160005b838110156125765781518752958201959082019060010161255a565b509495945050505050565b8281526040602082015260006120ed6040830184612546565b600080600080608085870312156125b057600080fd5b84356125bb816123a3565b935060208501356125cb816123a3565b92506040850135915060608501356001600160401b038111156125ed57600080fd5b6125f987828801612470565b91505092959194509250565b60008060008060008060006080888a03121561262057600080fd5b873561262b816123a3565b965060208801356001600160401b038082111561264757600080fd5b6126538b838c01612425565b909850965060408a013591508082111561266c57600080fd5b6126788b838c01612425565b909650945060608a013591508082111561269157600080fd5b5061269e8a828b01612425565b989b979a50959850939692959293505050565b600081518084526020808501808196508360051b810191508286016000805b8681101561271f578385038a52825180518087529087019087870190845b8181101561270a578351835292890192918901916001016126ee565b50509a87019a955050918501916001016126d0565b509298975050505050505050565b60808152600061274060808301876126b1565b82810360208401526127528187612546565b9050828103604084015261276681866126b1565b90508281036060840152611b8481856126b1565b918252602082015260400190565b6000808335601e1984360301811261279f57600080fd5b8301803591506001600160401b038211156127b957600080fd5b6020019150600581901b360382131561246957600080fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156127f957600080fd5b81356120f0816123a3565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561283c5761283c612804565b60405290565b604051601f8201601f191681016001600160401b038111828210171561286a5761286a612804565b604052919050565b60006001600160401b0382111561288b5761288b612804565b5060051b60200190565b600060208083850312156128a857600080fd5b82516001600160401b038111156128be57600080fd5b8301601f810185136128cf57600080fd5b80516128e26128dd82612872565b612842565b81815260059190911b8201830190838101908783111561290157600080fd5b928401925b82841015611b84578351612919816123a3565b82529284019290840190612906565b600082601f83011261293957600080fd5b815160206129496128dd83612872565b82815260059290921b8401810191818101908684111561296857600080fd5b8286015b84811015612983578051835291830191830161296c565b509695505050505050565b6000602082840312156129a057600080fd5b81516001600160401b038111156129b657600080fd5b6129c284828501612928565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016129f2576129f26129ca565b5060010190565b6001600160a01b0393909316835290151560208301521515604082015260600190565b60008060408385031215612a2f57600080fd5b825160208401519092506001600160401b03811115612a4d57600080fd5b612a5985828601612928565b9150509250929050565b600060208284031215612a7557600080fd5b81516120f0816123a3565b60006001600160401b03821115612a9957612a99612804565b50601f01601f191660200190565b600082601f830112612ab857600080fd5b81356020612ac86128dd83612872565b82815260059290921b84018101918181019086841115612ae757600080fd5b8286015b848110156129835780356001600160401b03811115612b0a5760008081fd5b8701603f81018913612b1c5760008081fd5b848101356040612b2e6128dd83612a80565b8281528b82848601011115612b435760008081fd5b8282850189830137600092810188019290925250845250918301918301612aeb565b600060808236031215612b7757600080fd5b612b7f61281a565b82356001600160401b0380821115612b9657600080fd5b9084019036601f830112612ba957600080fd5b81356020612bb96128dd83612872565b82815260059290921b84018101918181019036841115612bd857600080fd5b948201945b83861015612bff578535612bf0816123a3565b82529482019490820190612bdd565b86525086810135935082841115612c1557600080fd5b612c2136858901612aa7565b8186015250505050612c35604084016123bb565b6040820152606092830135928101929092525090565b8183526000602080850194508260005b85811015612576578135612c6e816123a3565b6001600160a01b031687529582019590820190600101612c5b565b608081526000612c9d60808301898b612c4b565b8281036020840152612cb081888a612c4b565b90508281036040840152612cc5818688612c4b565b91505082606083015298975050505050505050565b60e081526000612cee60e083018c8e612c4b565b8281036020840152612d01818b8d612c4b565b90508281036040840152612d1681898b612c4b565b90508281036060840152612d2a81886126b1565b90508281036080840152612d3e8187612546565b905082810360a0840152612d5281866126b1565b905082810360c0840152612d6681856126b1565b9d9c50505050505050505050505050565b6001600160a01b0392831681529116602082015260400190565b600060208284031215612da357600080fd5b5051919050565b8082018082111561144b5761144b6129ca565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b600060208284031215612e0357600080fd5b815180151581146120f057600080fd5b6000808335601e19843603018112612e2a57600080fd5b8301803591506001600160401b03821115612e4457600080fd5b60200191503681900382131561246957600080fd5b60005b83811015612e74578181015183820152602001612e5c565b50506000910152565b60008151808452612e95816020860160208601612e59565b601f01601f19169290920160200192915050565b604081526000612ebc6040830185612e7d565b90508260208301529392505050565b600060208284031215612edd57600080fd5b81516001600160401b03811115612ef357600080fd5b8201601f81018413612f0457600080fd5b8051612f126128dd82612a80565b818152856020838501011115612f2757600080fd5b611811826020830160208601612e59565b60006001600160601b0383811680612f6057634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6001600160a01b03929092168252602082015260400190565b60008251612f97818460208701612e59565b9190910192915050565b6020815260006120f06020830184612e7d56fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220cbdefd1627f53d682f2dd760d1d13e9253ab848a0c3c2a2b3329afe10d9b5e8364736f6c63430008110033";
910
+ "0x60a06040523480156200001157600080fd5b50604051620030db380380620030db833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516130406200009b600039600081816101a40152611b9501526130406000f3fe6080604052600436106100765760003560e01c80631a8631b21461007b578063339748cb146100ae57806346fd07b1146100ce57806359be67bf146100e15780635b8c874f146101015780637298779b1461012f578063b6fece9814610142578063f7e375e814610162578063f953080014610192575b600080fd5b34801561008757600080fd5b5061009b610096366004612304565b6101d3565b6040519081526020015b60405180910390f35b3480156100ba57600080fd5b5061009b6100c9366004612304565b610244565b61009b6100dc366004612362565b6102a3565b3480156100ed57600080fd5b5061009b6100fc366004612362565b610305565b34801561010d57600080fd5b5061012161011c366004612418565b610406565b6040516100a5929190612518565b61009b61013d366004612362565b610a59565b34801561014e57600080fd5b5061009b61015d366004612362565b610b33565b34801561016e57600080fd5b5061018261017d366004612531565b610b9b565b6040516100a59493929190612659565b34801561019e57600080fd5b506101c67f000000000000000000000000000000000000000000000000000000000000000081565b6040516100a591906126a6565b60006101e3858585856001610fc9565b9050836001600160a01b0316856001600160a01b0316336001600160a01b03167f52e05e4badd3463bad837f42fe3ba58c739d1b3081cff9bb6eb02a24034d455d86856040516102349291906126ba565b60405180910390a4949350505050565b6000610252858585856110e4565b9050836001600160a01b0316856001600160a01b0316336001600160a01b03167f31af33f80f4b396e3d4e42b38ecd3e022883a9bf689fd63f47afbe1d389cb6e786856040516102349291906126ba565b60006102b185858585611270565b90506001600160a01b03808516908616337f71c7a44161eb32e4640f6c8f0586db5f1d2e03306e2c63bb2e0f7cd0a8fc690c6102f060208701876126c8565b866020013586604051610234939291906126e5565b600080846001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036a9190612706565b9050600061038c6103838361037e8761280e565b61151f565b878760016110e4565b90506103a487838361039d8861280e565b6000611549565b92506001600160a01b03808716908816337fb77e59c2b79297ca3a25f9eac2acee3fc1c25e074b468742f96a5d8b8cd0d172886103e460208a018a6126c8565b886040516103f4939291906128cb565b60405180910390a45050949350505050565b6000606061041760208401846128ea565b905061042384806128ea565b9050146104435760405163512509d360e11b815260040160405180910390fd5b61045060208701876128ea565b905061045f60408801886128ea565b90501461047f5760405163512509d360e11b815260040160405180910390fd5b60006104c561048e85806128ea565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061173092505050565b905060006104d961048e60208a018a6128ea565b905060005b898110156106115760008b8b838181106104fa576104fa612933565b905060200201602081019061050f91906126c8565b90506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610551573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610579919081019061296c565b90506000826001600160a01b031663ef5cfb8c336040518263ffffffff1660e01b81526004016105a991906126a6565b6000604051808303816000875af11580156105c8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105f09190810190612a60565b90506105fd8683836117a0565b5050508061060a90612aaa565b90506104de565b5060005b61061f89806128ea565b90508110156107d65760006106348a806128ea565b8381811061064457610644612933565b905060200201602081019061065991906126c8565b9050600080826001600160a01b0316637d24da4d336001806040518463ffffffff1660e01b815260040161068f93929190612ac3565b6000604051808303816000875af11580156106ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106d69190810190612ae6565b915091506000836001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e9190612706565b90506000846001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610780573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a8919081019061296c565b90506107b5878386611801565b6107c08882856117a0565b5050505050806107cf90612aaa565b9050610615565b5060005b8681101561090d5760008888838181106107f6576107f6612933565b905060200201602081019061080b91906126c8565b90506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561084d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610875919081019061296c565b90506000826001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016108a591906126a6565b6000604051808303816000875af11580156108c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ec9190810190612a60565b90506108f98683836117a0565b5050508061090690612aaa565b90506107da565b5060005b825151811015610971576109618360000151828151811061093457610934612933565b602002602001015133308660200151858151811061095457610954612933565b60200260200101516118c5565b61096a81612aaa565b9050610911565b506109968161098360608b018b6128ea565b61099060408d018d6128ea565b876118e0565b6109a8826109a387612bac565b611a08565b935084608001358410156109e05783856080013560405163c5b5576d60e01b81526004016109d79291906126ba565b60405180910390fd5b602082015192506109f760808601606087016126c8565b6001600160a01b0316337f56eeb6891d28545a4a95b9293ab44df333bcb6344c20d9b1717c6ccf892661468c8c610a2e8d806128ea565b8d8d8c604051610a449796959493929190612ce1565b60405180910390a35050965096945050505050565b600080846001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abe9190612706565b90506000610acf8683600087611270565b9050610adf878783886000610fc9565b92506001600160a01b03808716908816337ff586e656e1e436d9ca7c96e43cb793e47b685467d5d574a66efabb8501a333b8610b1e60208901896126c8565b8860200135886040516103f4939291906126e5565b6000610b4b858585610b448661280e565b6001611549565b90506001600160a01b03808516908616337f6277b1739d3ea3c68947701d90e1a277c99be38fbb48c8556a497caabc7bd80586610b8b60208801886126c8565b86604051610234939291906128cb565b6060808080886001600160401b03811115610bb857610bb8612723565b604051908082528060200260200182016040528015610beb57816020015b6060815260200190600190039081610bd65790505b50935060005b89811015610cc0578a8a82818110610c0b57610c0b612933565b9050602002016020810190610c2091906126c8565b6001600160a01b031663ef5cfb8c8d6040518263ffffffff1660e01b8152600401610c4b91906126a6565b6000604051808303816000875af1158015610c6a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c929190810190612a60565b858281518110610ca457610ca4612933565b602002602001018190525080610cb990612aaa565b9050610bf1565b50866001600160401b03811115610cd957610cd9612723565b604051908082528060200260200182016040528015610d02578160200160208202803683370190505b509250866001600160401b03811115610d1d57610d1d612723565b604051908082528060200260200182016040528015610d5057816020015b6060815260200190600190039081610d3b5790505b50915060005b87811015610e4657888882818110610d7057610d70612933565b9050602002016020810190610d8591906126c8565b6001600160a01b0316637d24da4d8d6001806040518463ffffffff1660e01b8152600401610db593929190612ac3565b6000604051808303816000875af1158015610dd4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dfc9190810190612ae6565b858381518110610e0e57610e0e612933565b60200260200101858481518110610e2757610e27612933565b602090810291909101019190915252610e3f81612aaa565b9050610d56565b50846001600160401b03811115610e5f57610e5f612723565b604051908082528060200260200182016040528015610e9257816020015b6060815260200190600190039081610e7d5790505b50905060005b85811015610f6757868682818110610eb257610eb2612933565b9050602002016020810190610ec791906126c8565b6001600160a01b0316639262187b8d6040518263ffffffff1660e01b8152600401610ef291906126a6565b6000604051808303816000875af1158015610f11573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f399190810190612a60565b828281518110610f4b57610f4b612933565b602002602001018190525080610f6090612aaa565b9050610e98565b508a6001600160a01b03167f28fbd8132ef7eb1e18898defe390f1ee7fd8b05eec39314caa285faab4c43bff8b8b8b8b8b8b8b8b8b8b604051610fb39a99989796959493929190612d32565b60405180910390a2975097509750979350505050565b600080856001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190612706565b9050821561104257611042813388886118c5565b60405163db74aa1560e01b81526001600160a01b0387169063db74aa1590611070908a908190600401612dcf565b6020604051808303816000875af115801561108f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b39190612de9565b9150838210156110da57818460405163ca935dfd60e01b81526004016109d79291906126ba565b5095945050505050565b600080846001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611125573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111499190612706565b9050611157813387876118c5565b6000856001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb9190612e02565b15905080156111d0576111d0863388886118c5565b60405163bcb7ea5d60e01b81526001600160a01b0387169063bcb7ea5d906111fc908a906004016126a6565b6020604051808303816000875af115801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190612de9565b9250838310156112665782846040516305221cf360e11b81526004016109d79291906126ba565b5050949350505050565b600061128d61128260208401846126c8565b338460200135611ad2565b600061129f60608401604085016126c8565b6001600160a01b03166112b560208501856126c8565b6001600160a01b03161415905060008115611355576113366112da60208601866126c8565b60208601356112ef60a08801608089016126c8565b6112fc60a0890189612e24565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b3e92505050565b61134e61134960608601604087016126c8565b611c48565b905061135c565b5060208301355b600061136e60808601606087016126c8565b6001600160a01b03161461142e576113a561138f60608601604087016126c8565b61139f60808701606088016126c8565b83611cd2565b6113b560808501606086016126c8565b6001600160a01b031663b27670708883886040518463ffffffff1660e01b81526004016113e4939291906126e5565b6020604051808303816000875af1158015611403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114279190612de9565b9250611266565b60008061144160608701604088016126c8565b6001600160a01b031614611456576000611458565b815b905061147361146d60608701604088016126c8565b88611d96565b6001600160a01b0387166320e8c565828a61149460608a0160408b016126c8565b6040516001600160e01b031960e086901b1681526001600160a01b0392831660048201529116602482015260448101869052606481018a905260840160206040518083038185885af11580156114ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115139190612de9565b98975050505050505050565b60608101516000906001600160a01b031661153a5782611540565b81606001515b90505b92915050565b60008115611566576115668533611560888761151f565b876118c5565b825160408401516001600160a01b0390811691161415600081611589578761158b565b305b60608601519091506000906001600160a01b0316156116235785606001516001600160a01b031663bd5688d5838960006040518463ffffffff1660e01b81526004016115d9939291906126e5565b6020604051808303816000875af11580156115f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161c9190612de9565b90506116b5565b604086810151905163769f8e5d60e01b81526001600160a01b038481166004830152602482018a9052918216604482015260006064820152600160848201529089169063769f8e5d9060a4016020604051808303816000875af115801561168e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b29190612de9565b90505b82156116f4576116d386604001518288608001518960a00151611b3e565b85516116de90611c48565b93506116ef86600001518a86611cd2565b6116f8565b8093505b856020015184101561172457602086015160405163c5b5576d60e01b81526109d79186916004016126ba565b50505095945050505050565b6040805180820190915260608082526020820152604051806040016040528083815260200183516001600160401b0381111561176e5761176e612723565b604051908082528060200260200182016040528015611797578160200160208202803683370190505b50905292915050565b60005b82518110156117fb576117e9848483815181106117c2576117c2612933565b60200260200101518484815181106117dc576117dc612933565b6020026020010151611801565b806117f381612aaa565b9150506117a3565b50505050565b60005b83515181101561188a57826001600160a01b03168460000151828151811061182e5761182e612933565b60200260200101516001600160a01b03160361187857818460200151828151811061185b5761185b612933565b6020026020010181815161186f9190612e6a565b90525050505050565b8061188281612aaa565b915050611804565b5060405162461bcd60e51b815260206004820152600f60248201526e1d1bdad95b881b9bdd08199bdd5b99608a1b60448201526064016109d7565b80156117fb576117fb6001600160a01b038516848484611e49565b60005b8651518110156119ff578660200151818151811061190357611903612933565b6020026020010151600003156119ef57600061196d85858481811061192a5761192a612933565b905060200201602081019061193f91906126c8565b600189898681811061195357611953612933565b905060200201602081019061196891906126c8565b611eb4565b905060006119b9308a60000151858151811061198b5761198b612933565b60200260200101518b6020015186815181106119a9576119a9612933565b6020026020010151856001611549565b90506119ec848787868181106119d1576119d1612933565b90506020020160208101906119e691906126c8565b83611801565b50505b6119f881612aaa565b90506118e3565b50505050505050565b6000805b835151811015611ab35783602001518181518110611a2c57611a2c612933565b602002602001015160000315611aa357611aa384600001518281518110611a5557611a55612933565b602002602001015185602001518381518110611a7357611a73612933565b6020026020010151856040015186602001518581518110611a9657611a96612933565b6020026020010151611b3e565b611aac81612aaa565b9050611a0c565b50611ac18260600151611c48565b905061154382606001513383611cd2565b6001600160a01b038316611b2357803414611b1e5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016109d7565b505050565b8015611b1e57611b1e6001600160a01b038416833084611e49565b6001600160a01b0382161580611b5357508051155b15611b7157604051631e59c84360e01b815260040160405180910390fd5b611b7b8483611d96565b60405163726d379760e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e4da6f2e90611bcc9085908890600401612ecd565b600060405180830381865afa158015611be9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c119190810190612eef565b9050611c40816001600160a01b03871615611c2d576000611c2f565b855b6001600160a01b0386169190611f30565b505050505050565b60006001600160a01b03821615611ccb576040516370a0823160e01b81526001600160a01b038316906370a0823190611c859030906004016126a6565b602060405180830381865afa158015611ca2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc69190612de9565b611543565b4792915050565b80600003611cdf57505050565b6001600160a01b038316611d82576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611d3a576040519150601f19603f3d011682016040523d82523d6000602084013e611d3f565b606091505b50509050806117fb5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016109d7565b611b1e6001600160a01b0384168383611f5e565b6001600160a01b038216611da8575050565b611dba60026001600160601b03612f65565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401611df1929190612dcf565b602060405180830381865afa158015611e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e329190612de9565b1015611e4557611e458282600019611f7d565b5050565b6040516001600160a01b03808516602483015283166044820152606481018290526117fb9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612091565b6040805160c08082018352600080835260208084018290528385018290526060808501839052608080860184905260a0958601829052865194850187526001600160a01b03808b168087528685018b905286890152881691850191909152830182905284519182528101909352908101919091525b9392505050565b6060611f56848484604051806060016040528060298152602001612fe260299139612163565b949350505050565b611b1e8363a9059cbb60e01b8484604051602401611e7d929190612f99565b600080846001600160a01b031663095ea7b360e01b8585604051602401611fa5929190612f99565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611fe39190612fb2565b6000604051808303816000865af19150503d8060008114612020576040519150601f19603f3d011682016040523d82523d6000602084013e612025565b606091505b509150915081801561204f57508051158061204f57508080602001905181019061204f9190612e02565b61208a5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016109d7565b5050505050565b60006120e6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122949092919063ffffffff16565b805190915015611b1e57808060200190518101906121049190612e02565b611b1e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109d7565b6060824710156121c45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109d7565b6001600160a01b0385163b61221b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109d7565b600080866001600160a01b031685876040516122379190612fb2565b60006040518083038185875af1925050503d8060008114612274576040519150601f19603f3d011682016040523d82523d6000602084013e612279565b606091505b50915091506122898282866122a3565b979650505050505050565b6060611f568484600085612163565b606083156122b2575081611f29565b8251156122c25782518084602001fd5b8160405162461bcd60e51b81526004016109d79190612fce565b6001600160a01b03811681146122f157600080fd5b50565b80356122ff816122dc565b919050565b6000806000806080858703121561231a57600080fd5b8435612325816122dc565b93506020850135612335816122dc565b93969395505050506040820135916060013590565b600060c0828403121561235c57600080fd5b50919050565b6000806000806080858703121561237857600080fd5b8435612383816122dc565b93506020850135612393816122dc565b92506040850135915060608501356001600160401b038111156123b557600080fd5b6123c18782880161234a565b91505092959194509250565b60008083601f8401126123df57600080fd5b5081356001600160401b038111156123f657600080fd5b6020830191508360208260051b850101111561241157600080fd5b9250929050565b6000806000806000806080878903121561243157600080fd5b86356001600160401b038082111561244857600080fd5b6124548a838b016123cd565b9098509650602089013591508082111561246d57600080fd5b908801906080828b03121561248157600080fd5b9094506040880135908082111561249757600080fd5b6124a38a838b016123cd565b909550935060608901359150808211156124bc57600080fd5b50870160a0818a0312156124cf57600080fd5b809150509295509295509295565b600081518084526020808501945080840160005b8381101561250d578151875295820195908201906001016124f1565b509495945050505050565b828152604060208201526000611f5660408301846124dd565b60008060008060008060006080888a03121561254c57600080fd5b8735612557816122dc565b965060208801356001600160401b038082111561257357600080fd5b61257f8b838c016123cd565b909850965060408a013591508082111561259857600080fd5b6125a48b838c016123cd565b909650945060608a01359150808211156125bd57600080fd5b506125ca8a828b016123cd565b989b979a50959850939692959293505050565b600081518084526020808501808196508360051b810191508286016000805b8681101561264b578385038a52825180518087529087019087870190845b818110156126365783518352928901929189019160010161261a565b50509a87019a955050918501916001016125fc565b509298975050505050505050565b60808152600061266c60808301876125dd565b828103602084015261267e81876124dd565b9050828103604084015261269281866125dd565b9050828103606084015261228981856125dd565b6001600160a01b0391909116815260200190565b918252602082015260400190565b6000602082840312156126da57600080fd5b8135611f29816122dc565b6001600160a01b039390931683526020830191909152604082015260600190565b60006020828403121561271857600080fd5b8151611f29816122dc565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171561275b5761275b612723565b60405290565b604051601f8201601f191681016001600160401b038111828210171561278957612789612723565b604052919050565b60006001600160401b038211156127aa576127aa612723565b50601f01601f191660200190565b600082601f8301126127c957600080fd5b81356127dc6127d782612791565b612761565b8181528460208386010111156127f157600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0823603121561282057600080fd5b60405160c081016001600160401b03808211838310171561284357612843612723565b8160405284359150612854826122dc565b8183526020850135602084015260408501359150612871826122dc565b81604084015260608501359150612887826122dc565b816060840152612899608086016122f4565b608084015260a08501359150808211156128b257600080fd5b506128bf368286016127b8565b60a08301525092915050565b9283526001600160a01b03919091166020830152604082015260600190565b6000808335601e1984360301811261290157600080fd5b8301803591506001600160401b0382111561291b57600080fd5b6020019150600581901b360382131561241157600080fd5b634e487b7160e01b600052603260045260246000fd5b60006001600160401b0382111561296257612962612723565b5060051b60200190565b6000602080838503121561297f57600080fd5b82516001600160401b0381111561299557600080fd5b8301601f810185136129a657600080fd5b80516129b46127d782612949565b81815260059190911b820183019083810190878311156129d357600080fd5b928401925b828410156122895783516129eb816122dc565b825292840192908401906129d8565b600082601f830112612a0b57600080fd5b81516020612a1b6127d783612949565b82815260059290921b84018101918181019086841115612a3a57600080fd5b8286015b84811015612a555780518352918301918301612a3e565b509695505050505050565b600060208284031215612a7257600080fd5b81516001600160401b03811115612a8857600080fd5b611f56848285016129fa565b634e487b7160e01b600052601160045260246000fd5b600060018201612abc57612abc612a94565b5060010190565b6001600160a01b0393909316835290151560208301521515604082015260600190565b60008060408385031215612af957600080fd5b825160208401519092506001600160401b03811115612b1757600080fd5b612b23858286016129fa565b9150509250929050565b600082601f830112612b3e57600080fd5b81356020612b4e6127d783612949565b82815260059290921b84018101918181019086841115612b6d57600080fd5b8286015b84811015612a555780356001600160401b03811115612b905760008081fd5b612b9e8986838b01016127b8565b845250918301918301612b71565b600060a08236031215612bbe57600080fd5b612bc6612739565b82356001600160401b0380821115612bdd57600080fd5b9084019036601f830112612bf057600080fd5b81356020612c006127d783612949565b82815260059290921b84018101918181019036841115612c1f57600080fd5b948201945b83861015612c46578535612c37816122dc565b82529482019490820190612c24565b86525086810135935082841115612c5c57600080fd5b612c6836858901612b2d565b8186015250505050612c7c604084016122f4565b6040820152612c8d606084016122f4565b6060820152608092830135928101929092525090565b8183526000602080850194508260005b8581101561250d578135612cc6816122dc565b6001600160a01b031687529582019590820190600101612cb3565b608081526000612cf560808301898b612ca3565b8281036020840152612d0881888a612ca3565b90508281036040840152612d1d818688612ca3565b91505082606083015298975050505050505050565b60e081526000612d4660e083018c8e612ca3565b8281036020840152612d59818b8d612ca3565b90508281036040840152612d6e81898b612ca3565b90508281036060840152612d8281886125dd565b90508281036080840152612d9681876124dd565b905082810360a0840152612daa81866125dd565b905082810360c0840152612dbe81856125dd565b9d9c50505050505050505050505050565b6001600160a01b0392831681529116602082015260400190565b600060208284031215612dfb57600080fd5b5051919050565b600060208284031215612e1457600080fd5b81518015158114611f2957600080fd5b6000808335601e19843603018112612e3b57600080fd5b8301803591506001600160401b03821115612e5557600080fd5b60200191503681900382131561241157600080fd5b8082018082111561154357611543612a94565b60005b83811015612e98578181015183820152602001612e80565b50506000910152565b60008151808452612eb9816020860160208601612e7d565b601f01601f19169290920160200192915050565b604081526000612ee06040830185612ea1565b90508260208301529392505050565b600060208284031215612f0157600080fd5b81516001600160401b03811115612f1757600080fd5b8201601f81018413612f2857600080fd5b8051612f366127d782612791565b818152856020838501011115612f4b57600080fd5b612f5c826020830160208601612e7d565b95945050505050565b60006001600160601b0383811680612f8d57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6001600160a01b03929092168252602082015260400190565b60008251612fc4818460208701612e7d565b9190910192915050565b6020815260006115406020830184612ea156fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a26469706673582212205adb1ff62525309ece7b21190f25a11d439ad6e7485c2a7d979e4c6438026ea864736f6c63430008110033";
856
911
 
857
912
  type ActionMintRedeemConstructorParams =
858
- | [linkLibraryAddresses: ActionMintRedeemLibraryAddresses, signer?: Signer]
913
+ | [signer?: Signer]
859
914
  | ConstructorParameters<typeof ContractFactory>;
860
915
 
861
916
  const isSuperArgs = (
862
917
  xs: ActionMintRedeemConstructorParams
863
- ): xs is ConstructorParameters<typeof ContractFactory> => {
864
- return (
865
- typeof xs[0] === "string" ||
866
- (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) ||
867
- "_isInterface" in xs[0]
868
- );
869
- };
918
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
870
919
 
871
920
  export class ActionMintRedeem__factory extends ContractFactory {
872
921
  constructor(...args: ActionMintRedeemConstructorParams) {
873
922
  if (isSuperArgs(args)) {
874
923
  super(...args);
875
924
  } else {
876
- const [linkLibraryAddresses, signer] = args;
877
- super(
878
- _abi,
879
- ActionMintRedeem__factory.linkBytecode(linkLibraryAddresses),
880
- signer
881
- );
925
+ super(_abi, _bytecode, args[0]);
882
926
  }
883
927
  this.contractName = "ActionMintRedeem";
884
928
  }
885
929
 
886
- static linkBytecode(
887
- linkLibraryAddresses: ActionMintRedeemLibraryAddresses
888
- ): string {
889
- let linkedBytecode = _bytecode;
890
-
891
- linkedBytecode = linkedBytecode.replace(
892
- new RegExp("__\\$802f57dc5d2627d21bbb7805eff3c348c4\\$__", "g"),
893
- linkLibraryAddresses[
894
- "contracts/router/kyberswap/AggregationRouterHelper.sol:AggregationRouterHelper"
895
- ]
896
- .replace(/^0x/, "")
897
- .toLowerCase()
898
- );
899
-
900
- return linkedBytecode;
901
- }
902
-
903
930
  deploy(
904
- _kyberSwapRouter: string,
931
+ _kyberScalingLib: string,
905
932
  overrides?: Overrides & { from?: string | Promise<string> }
906
933
  ): Promise<ActionMintRedeem> {
907
934
  return super.deploy(
908
- _kyberSwapRouter,
935
+ _kyberScalingLib,
909
936
  overrides || {}
910
937
  ) as Promise<ActionMintRedeem>;
911
938
  }
912
939
  getDeployTransaction(
913
- _kyberSwapRouter: string,
940
+ _kyberScalingLib: string,
914
941
  overrides?: Overrides & { from?: string | Promise<string> }
915
942
  ): TransactionRequest {
916
- return super.getDeployTransaction(_kyberSwapRouter, overrides || {});
943
+ return super.getDeployTransaction(_kyberScalingLib, overrides || {});
917
944
  }
918
945
  attach(address: string): ActionMintRedeem {
919
946
  return super.attach(address) as ActionMintRedeem;
@@ -935,7 +962,3 @@ export class ActionMintRedeem__factory extends ContractFactory {
935
962
  return new Contract(address, _abi, signerOrProvider) as ActionMintRedeem;
936
963
  }
937
964
  }
938
-
939
- export interface ActionMintRedeemLibraryAddresses {
940
- ["contracts/router/kyberswap/AggregationRouterHelper.sol:AggregationRouterHelper"]: string;
941
- }
@@ -38,7 +38,7 @@ const _abi = [
38
38
  ];
39
39
 
40
40
  const _bytecode =
41
- "0x608060405234801561001057600080fd5b5061042d806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638241348914610030575b600080fd5b61004361003e3660046101fc565b61005f565b6040516001600160601b03909116815260200160405180910390f35b60008163ffffffff1660000361008857604051637e73812360e11b815260040160405180910390fd5b60408051600280825260608201835260009260208301908036833701905050905082816000815181106100bd576100bd610260565b602002602001019063ffffffff16908163ffffffff16815250506000816001815181106100ec576100ec610260565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610130908590600401610276565b600060405180830381865afa15801561014d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261017591908101906102dc565b90506101d98463ffffffff168260008151811061019457610194610260565b6020026020010151836001815181106101af576101af610260565b60200260200101516101c191906103a0565b6001600160d81b03166101d491906103d5565b6101e2565b95945050505050565b60006001600160601b038211156101f857600080fd5b5090565b6000806040838503121561020f57600080fd5b82356001600160a01b038116811461022657600080fd5b9150602083013563ffffffff8116811461023f57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156102b457835163ffffffff1683529284019291840191600101610292565b50909695505050505050565b80516001600160d81b03811681146102d757600080fd5b919050565b600060208083850312156102ef57600080fd5b82516001600160401b038082111561030657600080fd5b818501915085601f83011261031a57600080fd5b81518181111561032c5761032c61024a565b8060051b604051601f19603f830116810181811085821117156103515761035161024a565b60405291825284820192508381018501918883111561036f57600080fd5b938501935b8285101561039457610385856102c0565b84529385019392850192610374565b98975050505050505050565b6001600160d81b038281168282160390808211156103ce57634e487b7160e01b600052601160045260246000fd5b5092915050565b6000826103f257634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122061f901e1d5f3eacada462f464c294453fa5dc29521fb3a49c1f5df148ca60b4364736f6c63430008110033";
41
+ "0x608060405234801561001057600080fd5b5061042d806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638241348914610030575b600080fd5b61004361003e3660046101fc565b61005f565b6040516001600160601b03909116815260200160405180910390f35b60008163ffffffff1660000361008857604051637e73812360e11b815260040160405180910390fd5b60408051600280825260608201835260009260208301908036833701905050905082816000815181106100bd576100bd610260565b602002602001019063ffffffff16908163ffffffff16815250506000816001815181106100ec576100ec610260565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610130908590600401610276565b600060405180830381865afa15801561014d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261017591908101906102dc565b90506101d98463ffffffff168260008151811061019457610194610260565b6020026020010151836001815181106101af576101af610260565b60200260200101516101c191906103a0565b6001600160d81b03166101d491906103d5565b6101e2565b95945050505050565b60006001600160601b038211156101f857600080fd5b5090565b6000806040838503121561020f57600080fd5b82356001600160a01b038116811461022657600080fd5b9150602083013563ffffffff8116811461023f57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156102b457835163ffffffff1683529284019291840191600101610292565b50909695505050505050565b80516001600160d81b03811681146102d757600080fd5b919050565b600060208083850312156102ef57600080fd5b82516001600160401b038082111561030657600080fd5b818501915085601f83011261031a57600080fd5b81518181111561032c5761032c61024a565b8060051b604051601f19603f830116810181811085821117156103515761035161024a565b60405291825284820192508381018501918883111561036f57600080fd5b938501935b8285101561039457610385856102c0565b84529385019392850192610374565b98975050505050505050565b6001600160d81b038281168282160390808211156103ce57634e487b7160e01b600052601160045260246000fd5b5092915050565b6000826103f257634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220fe3992b7eadf2809b254df561ab0bfa2032f7f17142ddc0c2a63c8286e3c6c7e64736f6c63430008110033";
42
42
 
43
43
  type ActionMiscConstructorParams =
44
44
  | [signer?: Signer]
@@ -318,7 +318,7 @@ const _abi = [
318
318
  ];
319
319
 
320
320
  const _bytecode =
321
- "0x608060405234801561001057600080fd5b506123f3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063448b9b951461003b578063c861a89814610065575b600080fd5b61004e610049366004611ee5565b610078565b60405161005c929190611f4d565b60405180910390f35b61004e610073366004611ee5565b610298565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156100bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100df9190611f5b565b925050506000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101489190611fea565b905061015f6001600160a01b03831633848a6104b2565b6000610191610176846001600160a01b0316610512565b8942610187368b90038b018b61206c565b869392919061057e565b9196509094509050868510156101c7578487604051634e6ffe4760e11b81526004016101be929190611f4d565b60405180910390fd5b886001600160a01b0316635b709f1730836101e38e8d8d6106d0565b6040518463ffffffff1660e01b815260040161020193929190612139565b60408051808303816000875af115801561021f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102439190612169565b50506001600160a01b03808b16908a163360008051602061239e83398151915261026c89610703565b6102758d61071d565b604051610283929190611f4d565b60405180910390a45050509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103009190611f5b565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036a9190611fea565b90506103816001600160a01b038416338b8b6104b2565b60006103b3610398846001600160a01b0316610512565b8a426103a9368c90038c018c61206c565b8693929190610734565b9197509095509050878610156103e057858860405163a59b8c3160e01b81526004016101be929190611f4d565b896001600160a01b03166329910b1184836103fc8f8e8e610870565b6040518463ffffffff1660e01b815260040161041a93929190612139565b60408051808303816000875af1158015610438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045c9190612169565b50506001600160a01b03808c16908b163360008051602061239e8339815191526104858d61071d565b61048e8b610703565b60405161049c929190611f4d565b60405180910390a4505050509550959350505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261050c90859061088a565b50505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610554573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610578919061218d565b92915050565b6000806000806040518060a001604052808a81526020018981526020018881526020018781526020016105ba898b61096190919063ffffffff16565b90526020810151606082015182519293506000926105d992909161096d565b905060006105fd8784604001516105f885876000015160000151610a67565b610b0f565b905060005b81606001518110156106ab57600061061a8383610be1565b9050600080610633876000015187896020015186610c4d565b9150915086608001518211610686578285526080808801519086015161065a918491610c8f565b1561068157604087015161066e90846121bc565b99509197509095506106c5945050505050565b610697565b6106916001846121bc565b60208601525b505050806106a4906121cf565b9050610602565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b606060038484846040516020016106ea94939291906121e8565b60405160208183030381529060405290505b9392505050565b60006001600160ff1b0382111561071957600080fd5b5090565b600061072882610703565b6105789060001961222f565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816107688a8a8961096d565b905060006107878784604001516107828560200151610cc3565b610cda565b905060005b81606001518110156106ab576000806107af848688600001516000015186610d13565b91509150816107c357602084015250610860565b6000806107da8860000151888a6020015186610d7e565b9150915060006107f7838a60200151610d9f90919063ffffffff16565b9050600089604001518261080b919061225f565b90508085116108485784885260808801516108299086908390610c8f565b1561084357509a509198509096506106c595505050505050565b610859565b6108536001866121bc565b60208901525b5050505050505b610869816121cf565b905061078c565b606060048484846040516020016106ea94939291906121e8565b60006108df826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610dab9092919063ffffffff16565b80519091501561095c57808060200190518101906108fd9190612272565b61095c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101be565b505050565b60006106fc8383610dba565b6109986040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106109bc5760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516109ce91906121bc565b90506109da8582610dd9565b825260208501516109ec908590610e3a565b602083015284511580610a0157506020820151155b15610a28578451602083015160405163b1c4aefb60e01b81526101be929190600401611f4d565b610a4685600001518661010001518460200151856000015185610e71565b604083015260a0850151610a5a9082610ef2565b6060830152509392505050565b600080610a94610a8f856000015186604001518760600151610a899190612294565b90610f26565b610f49565b90506000610ab4610aad670de0b6b3a7640000846122bb565b839061135e565b90506000610ad2866020015186610acb91906122bb565b8390610f26565b90506000610ae08287612294565b90506103e8610aee82611384565b610afa906103e76122e3565b610b049190612310565b979650505050505050565b610b416040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8351610b4d9084611393565b81526020840151610b5e90836113a9565b6020820181905281511180610b7e5750670de0b6b3a76400008460800151115b15610bb957835160208501516080860151604051632cc06bc160e21b81526004810193909352602483019190915260448201526064016101be565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b600081158015610bf45750604083015115155b15610c0457506040820151610578565b6020830151835111610c345760208301518351600291610c239161225f565b610c2d9190612310565b9050610578565b604051637d388ed960e11b815260040160405180910390fd5b600080600080610c6a8787610c6188610703565b8b9291906113b8565b91509150610c77826114fe565b9350610c8281611384565b9250505094509492505050565b6000828411158015610cbb5750610cb783610cb284670de0b6b3a76400006121bc565b611515565b8410155b949350505050565b60006001610cd083611384565b61057891906121bc565b610b416040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000806000610d228785610be1565b90508660a001518111610d3a57600192509050610d75565b6000610d4f8787610d4a85610703565b611535565b90506000811215610d665750600092509050610d75565b5060a087018190526001925090505b94509492505050565b600080600080610d928787610c618861071d565b91509150610c7782611384565b60006106fc8383611627565b6060610cbb848460008561163c565b600082610dcf670de0b6b3a7640000846122e3565b6106fc9190612310565b6000610de482610703565b610dfb610df66201518061016d6122e3565b610703565b8460800151610e0a919061222f565b610e149190612324565b90506000811361057857604051630e520c3b60e11b8152600481018290526024016101be565b60008060008312610e4c576001610e50565b6000195b9050610e67610df685610e62866114fe565b611627565b610cbb908261222f565b600080610e7e8684610ef2565b9050670de0b6b3a7640000811215610eac5760405163329e322960e21b8152600481018290526024016101be565b6000610ec2610ebb878a6122bb565b899061135e565b90506000610ecf82611762565b9050610edb818761135e565b610ee59084612294565b9998505050505050505050565b600080610f046201518061016d6122e3565b610f0e84866122e3565b610f189190612310565b9050610cbb610a8f82610703565b600080610f33838561222f565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610f6e575068070c1cc73b00c800008213155b610fad5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016101be565b6000821215610fe557610fc282600003610f49565b6a0c097ce7bc90715b34b9f160241b81610fde57610fde6122fa565b0592915050565b60006806f05b59d3b2000000831261102357506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611059565b6803782dace9d9000000831261105557506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611059565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110a95768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126110e5576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261111f57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611159576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261119257680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126111cb5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611204576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261123d5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080611373670de0b6b3a76400008561222f565b9050828181610f4057610f406122fa565b60008082121561071957600080fd5b60008183116113a257816106fc565b5090919050565b60008183106113a257816106fc565b60008060006113da8760000151876020015188600001518960400151886117b5565b905060006113f06113eb868461135e565b611866565b6060880151909150600086131561145f57600061140d848361135e565b9050670de0b6b3a764000081121561143b5760405163329e322960e21b8152600481018290526024016101be565b61145761145083670de0b6b3a7640000612294565b8490610f26565b91505061148c565b6114898161147581670de0b6b3a7640000612294565b61147f908561222f565b6113eb9190612324565b90505b6000606461149d8b60e00151610703565b6114a7908461222f565b6114b19190612324565b905060006114bf8385612294565b9050600081126114d8576114d38982611874565b6114e2565b6114e289826118a1565b96506114ee8983611874565b9550505050505094509492505050565b60008082136107195761151082612352565b610578565b60008061152283856122e3565b670de0b6b3a76400009004949350505050565b6000808285602001516115489190612294565b9050600061155685856122bb565b90506000821380156115685750600081135b6115a95760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016101be565b60006115d76115b8848461222f565b60208901516115c790896122bb565b6115d1908861222f565b9061135e565b905060006115ed6115e8848661135e565b6118ce565b885190915060009061160890670de0b6b3a76400009061135e565b905061161881610a898486612294565b8960400151610ee59190612294565b6000670de0b6b3a7640000610dcf84846122e3565b60608247101561169d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101be565b6001600160a01b0385163b6116f45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101be565b600080866001600160a01b03168587604051611710919061236e565b60006040518083038185875af1925050503d806000811461174d576040519150601f19603f3d011682016040523d82523d6000602084013e611752565b606091505b5091509150610b0482828661195f565b6000670de0b6b3a7640000820361178c5760405163a9c8b14d60e01b815260040160405180910390fd5b60006117aa6117a384670de0b6b3a7640000612294565b849061135e565b90506106fc816118ce565b6000806117c28784611998565b905060006117d3610aad888a6122bb565b9050670d529ae9e860000081131561180a5780670d529ae9e8600000604051637e34684f60e11b81526004016101be929190611f4d565b600061181582611762565b905085611822828961135e565b61182c91906122bb565b9350670de0b6b3a764000084121561185a5760405163329e322960e21b8152600481018590526024016101be565b50505095945050505050565b60006105788260001961222f565b6000806000831261188657600161188a565b6000195b9050610e67610df68561189c866114fe565b610dba565b600080600083126118b35760016118b7565b6000195b9050610e67610df6856118c9866114fe565b6119df565b600080821361190f5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016101be565b670c7d713b49da00008213801561192d5750670f43fc2c04ee000082125b1561195157670de0b6b3a764000061194483611a0b565b81610fde57610fde6122fa565b61057882611b2a565b919050565b6060831561196e5750816106fc565b82511561197e5782518084602001fd5b8160405162461bcd60e51b81526004016101be919061238a565b6000818312156119d55760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016101be565b6106fc8284612294565b6000826001816119f7670de0b6b3a7640000866122e3565b611a01919061225f565b610dcf91906121bc565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281611a4c57611a4c6122fa565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611b6b57611b62826a0c097ce7bc90715b34b9f160241b81611b5c57611b5c6122fa565b05611b2a565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611bb65772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611bed576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611c35576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611c70576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611ca757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611cde57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611d135768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611d3e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611d73576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611da8576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611ddc576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611e10576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611e3957611e396122fa565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0381168114611ee257600080fd5b50565b6000806000806000858703610120811215611eff57600080fd5b8635611f0a81611ecd565b95506020870135611f1a81611ecd565b9450604087013593506060870135925060a0607f1982011215611f3c57600080fd5b506080860190509295509295909350565b918252602082015260400190565b600080600060608486031215611f7057600080fd5b8351611f7b81611ecd565b6020850151909350611f8c81611ecd565b6040850151909250611f9d81611ecd565b809150509250925092565b60405161012081016001600160401b0381118282101715611fd957634e487b7160e01b600052604160045260246000fd5b60405290565b805161195a81611ecd565b60006101208284031215611ffd57600080fd5b612005611fa8565b82518152602083015160208201526040830151604082015261202960608401611fdf565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a0828403121561207e57600080fd5b60405160a081016001600160401b03811182821017156120ae57634e487b7160e01b600052604160045260246000fd5b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b838110156121045781810151838201526020016120ec565b50506000910152565b600081518084526121258160208601602086016120e9565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000612160606083018461210d565b95945050505050565b6000806040838503121561217c57600080fd5b505080516020909101519092909150565b60006020828403121561219f57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610578576105786121a6565b6000600182016121e1576121e16121a6565b5060010190565b608081016005861061220a57634e487b7160e01b600052602160045260246000fd5b9481526001600160a01b03939093166020840152604083019190915260609091015290565b80820260008212600160ff1b8414161561224b5761224b6121a6565b8181058314821517610578576105786121a6565b80820180821115610578576105786121a6565b60006020828403121561228457600080fd5b815180151581146106fc57600080fd5b81810360008312801583831316838312821617156122b4576122b46121a6565b5092915050565b80820182811260008312801582168215821617156122db576122db6121a6565b505092915050565b8082028115828204841417610578576105786121a6565b634e487b7160e01b600052601260045260246000fd5b60008261231f5761231f6122fa565b500490565b600082612333576123336122fa565b600160ff1b82146000198414161561234d5761234d6121a6565b500590565b6000600160ff1b8201612367576123676121a6565b5060000390565b600082516123808184602087016120e9565b9190910192915050565b6020815260006106fc602083018461210d56fea4519acd6c251a3f533922c5aaf3fbae71546aad6c01f8241e23143519a67ac8a2646970667358221220ebcebc1103471100c0cb143434f881c922db801c95d29d2cdc18351ed864516464736f6c63430008110033";
321
+ "0x608060405234801561001057600080fd5b506123fc806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063448b9b951461003b578063c861a89814610065575b600080fd5b61004e610049366004611eee565b610078565b60405161005c929190611f56565b60405180910390f35b61004e610073366004611eee565b61028f565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156100bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100df9190611f64565b925050506000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101489190611ff3565b90506101568233848a6104a0565b600061018861016d846001600160a01b03166104c1565b894261017e368b90038b018b612075565b869392919061052d565b9196509094509050868510156101be578487604051634e6ffe4760e11b81526004016101b5929190611f56565b60405180910390fd5b886001600160a01b0316635b709f1730836101da8e8d8d61067f565b6040518463ffffffff1660e01b81526004016101f893929190612142565b60408051808303816000875af1158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a9190612172565b50506001600160a01b03808b16908a16336000805160206123a7833981519152610263896106b2565b61026c8d6106cc565b60405161027a929190611f56565b60405180910390a45050509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f79190611f64565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561033d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103619190611ff3565b905061036f83338b8b6104a0565b60006103a1610386846001600160a01b03166104c1565b8a42610397368c90038c018c612075565b86939291906106e3565b9197509095509050878610156103ce57858860405163a59b8c3160e01b81526004016101b5929190611f56565b896001600160a01b03166329910b1184836103ea8f8e8e61081f565b6040518463ffffffff1660e01b815260040161040893929190612142565b60408051808303816000875af1158015610426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044a9190612172565b50506001600160a01b03808c16908b16336000805160206123a78339815191526104738d6106cc565b61047c8b6106b2565b60405161048a929190611f56565b60405180910390a4505050509550959350505050565b80156104bb576104bb6001600160a01b038516848484610839565b50505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105279190612196565b92915050565b6000806000806040518060a001604052808a8152602001898152602001888152602001878152602001610569898b61089390919063ffffffff16565b905260208101516060820151825192935060009261058892909161089f565b905060006105ac8784604001516105a785876000015160000151610999565b610a41565b905060005b816060015181101561065a5760006105c98383610b13565b90506000806105e2876000015187896020015186610b7f565b91509150866080015182116106355782855260808088015190860151610609918491610bc1565b1561063057604087015161061d90846121c5565b9950919750909550610674945050505050565b610646565b6106406001846121c5565b60208601525b50505080610653906121d8565b90506105b1565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6060600384848460405160200161069994939291906121f1565b60405160208183030381529060405290505b9392505050565b60006001600160ff1b038211156106c857600080fd5b5090565b60006106d7826106b2565b61052790600019612238565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816107178a8a8961089f565b905060006107368784604001516107318560200151610bf5565b610c0c565b905060005b816060015181101561065a5760008061075e848688600001516000015186610c45565b91509150816107725760208401525061080f565b6000806107898860000151888a6020015186610cb0565b9150915060006107a6838a60200151610cd190919063ffffffff16565b905060008960400151826107ba9190612268565b90508085116107f75784885260808801516107d89086908390610bc1565b156107f257509a5091985090965061067495505050505050565b610808565b6108026001866121c5565b60208901525b5050505050505b610818816121d8565b905061073b565b6060600484848460405160200161069994939291906121f1565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526104bb908590610cdd565b60006106ab8383610db4565b6108ca6040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106108ee5760405163b2094b5960e01b815260040160405180910390fd5b6000828560c0015161090091906121c5565b905061090c8582610dd3565b8252602085015161091e908590610e34565b60208301528451158061093357506020820151155b1561095a578451602083015160405163b1c4aefb60e01b81526101b5929190600401611f56565b61097885600001518661010001518460200151856000015185610e6b565b604083015260a085015161098c9082610eec565b6060830152509392505050565b6000806109c66109c18560000151866040015187606001516109bb919061227b565b90610f20565b610f43565b905060006109e66109df670de0b6b3a7640000846122a2565b8390611358565b90506000610a048660200151866109fd91906122a2565b8390610f20565b90506000610a12828761227b565b90506103e8610a208261137e565b610a2c906103e76122ca565b610a3691906122f7565b979650505050505050565b610a736040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8351610a7f908461138d565b81526020840151610a9090836113a3565b6020820181905281511180610ab05750670de0b6b3a76400008460800151115b15610aeb57835160208501516080860151604051632cc06bc160e21b81526004810193909352602483019190915260448201526064016101b5565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b600081158015610b265750604083015115155b15610b3657506040820151610527565b6020830151835111610b665760208301518351600291610b5591612268565b610b5f91906122f7565b9050610527565b604051637d388ed960e11b815260040160405180910390fd5b600080600080610b9c8787610b93886106b2565b8b9291906113b2565b91509150610ba9826114f8565b9350610bb48161137e565b9250505094509492505050565b6000828411158015610bed5750610be983610be484670de0b6b3a76400006121c5565b61150f565b8410155b949350505050565b60006001610c028361137e565b61052791906121c5565b610a736040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000806000610c548785610b13565b90508660a001518111610c6c57600192509050610ca7565b6000610c818787610c7c856106b2565b61152f565b90506000811215610c985750600092509050610ca7565b5060a087018190526001925090505b94509492505050565b600080600080610cc48787610b93886106cc565b91509150610ba98261137e565b60006106ab8383611621565b6000610d32826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116369092919063ffffffff16565b805190915015610daf5780806020019051810190610d50919061230b565b610daf5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101b5565b505050565b600082610dc9670de0b6b3a7640000846122ca565b6106ab91906122f7565b6000610dde826106b2565b610df5610df06201518061016d6122ca565b6106b2565b8460800151610e049190612238565b610e0e919061232d565b90506000811361052757604051630e520c3b60e11b8152600481018290526024016101b5565b60008060008312610e46576001610e4a565b6000195b9050610e61610df085610e5c866114f8565b611621565b610bed9082612238565b600080610e788684610eec565b9050670de0b6b3a7640000811215610ea65760405163329e322960e21b8152600481018290526024016101b5565b6000610ebc610eb5878a6122a2565b8990611358565b90506000610ec982611645565b9050610ed58187611358565b610edf908461227b565b9998505050505050505050565b600080610efe6201518061016d6122ca565b610f0884866122ca565b610f1291906122f7565b9050610bed6109c1826106b2565b600080610f2d8385612238565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610f68575068070c1cc73b00c800008213155b610fa75760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016101b5565b6000821215610fdf57610fbc82600003610f43565b6a0c097ce7bc90715b34b9f160241b81610fd857610fd86122e1565b0592915050565b60006806f05b59d3b2000000831261101d57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611053565b6803782dace9d9000000831261104f57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611053565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110a35768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126110df576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261111957682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611153576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261118c57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126111c55768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126111fe576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126112375768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b60008061136d670de0b6b3a764000085612238565b9050828181610f3a57610f3a6122e1565b6000808212156106c857600080fd5b600081831161139c57816106ab565b5090919050565b600081831061139c57816106ab565b60008060006113d4876000015187602001518860000151896040015188611698565b905060006113ea6113e58684611358565b611749565b606088015190915060008613156114595760006114078483611358565b9050670de0b6b3a76400008112156114355760405163329e322960e21b8152600481018290526024016101b5565b61145161144a83670de0b6b3a764000061227b565b8490610f20565b915050611486565b6114838161146f81670de0b6b3a764000061227b565b6114799085612238565b6113e5919061232d565b90505b600060646114978b60e001516106b2565b6114a19084612238565b6114ab919061232d565b905060006114b9838561227b565b9050600081126114d2576114cd8982611757565b6114dc565b6114dc8982611784565b96506114e88983611757565b9550505050505094509492505050565b60008082136106c85761150a8261235b565b610527565b60008061151c83856122ca565b670de0b6b3a76400009004949350505050565b600080828560200151611542919061227b565b9050600061155085856122a2565b90506000821380156115625750600081135b6115a35760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016101b5565b60006115d16115b28484612238565b60208901516115c190896122a2565b6115cb9088612238565b90611358565b905060006115e76115e28486611358565b6117b1565b885190915060009061160290670de0b6b3a764000090611358565b9050611612816109bb848661227b565b8960400151610edf919061227b565b6000670de0b6b3a7640000610dc984846122ca565b6060610bed8484600085611842565b6000670de0b6b3a7640000820361166f5760405163a9c8b14d60e01b815260040160405180910390fd5b600061168d61168684670de0b6b3a764000061227b565b8490611358565b90506106ab816117b1565b6000806116a58784611968565b905060006116b66109df888a6122a2565b9050670d529ae9e86000008113156116ed5780670d529ae9e8600000604051637e34684f60e11b81526004016101b5929190611f56565b60006116f882611645565b9050856117058289611358565b61170f91906122a2565b9350670de0b6b3a764000084121561173d5760405163329e322960e21b8152600481018590526024016101b5565b50505095945050505050565b600061052782600019612238565b6000806000831261176957600161176d565b6000195b9050610e61610df08561177f866114f8565b610db4565b6000806000831261179657600161179a565b6000195b9050610e61610df0856117ac866114f8565b6119af565b60008082136117f25760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016101b5565b670c7d713b49da0000821380156118105750670f43fc2c04ee000082125b1561183457670de0b6b3a7640000611827836119db565b81610fd857610fd86122e1565b61052782611afa565b919050565b6060824710156118a35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101b5565b6001600160a01b0385163b6118fa5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b600080866001600160a01b031685876040516119169190612377565b60006040518083038185875af1925050503d8060008114611953576040519150601f19603f3d011682016040523d82523d6000602084013e611958565b606091505b5091509150610a36828286611e9d565b6000818312156119a55760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016101b5565b6106ab828461227b565b6000826001816119c7670de0b6b3a7640000866122ca565b6119d19190612268565b610dc991906121c5565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281611a1c57611a1c6122e1565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611b3b57611b32826a0c097ce7bc90715b34b9f160241b81611b2c57611b2c6122e1565b05611afa565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611b865772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611bbd576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611c05576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611c40576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611c7757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611cae57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611ce35768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611d0e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611d43576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611d78576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611dac576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611de0576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611e0957611e096122e1565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b60608315611eac5750816106ab565b825115611ebc5782518084602001fd5b8160405162461bcd60e51b81526004016101b59190612393565b6001600160a01b0381168114611eeb57600080fd5b50565b6000806000806000858703610120811215611f0857600080fd5b8635611f1381611ed6565b95506020870135611f2381611ed6565b9450604087013593506060870135925060a0607f1982011215611f4557600080fd5b506080860190509295509295909350565b918252602082015260400190565b600080600060608486031215611f7957600080fd5b8351611f8481611ed6565b6020850151909350611f9581611ed6565b6040850151909250611fa681611ed6565b809150509250925092565b60405161012081016001600160401b0381118282101715611fe257634e487b7160e01b600052604160045260246000fd5b60405290565b805161183d81611ed6565b6000610120828403121561200657600080fd5b61200e611fb1565b82518152602083015160208201526040830151604082015261203260608401611fe8565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a0828403121561208757600080fd5b60405160a081016001600160401b03811182821017156120b757634e487b7160e01b600052604160045260246000fd5b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b8381101561210d5781810151838201526020016120f5565b50506000910152565b6000815180845261212e8160208601602086016120f2565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006121696060830184612116565b95945050505050565b6000806040838503121561218557600080fd5b505080516020909101519092909150565b6000602082840312156121a857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610527576105276121af565b6000600182016121ea576121ea6121af565b5060010190565b608081016005861061221357634e487b7160e01b600052602160045260246000fd5b9481526001600160a01b03939093166020840152604083019190915260609091015290565b80820260008212600160ff1b84141615612254576122546121af565b8181058314821517610527576105276121af565b80820180821115610527576105276121af565b818103600083128015838313168383128216171561229b5761229b6121af565b5092915050565b80820182811260008312801582168215821617156122c2576122c26121af565b505092915050565b8082028115828204841417610527576105276121af565b634e487b7160e01b600052601260045260246000fd5b600082612306576123066122e1565b500490565b60006020828403121561231d57600080fd5b815180151581146106ab57600080fd5b60008261233c5761233c6122e1565b600160ff1b821460001984141615612356576123566121af565b500590565b6000600160ff1b8201612370576123706121af565b5060000390565b600082516123898184602087016120f2565b9190910192915050565b6020815260006106ab602083018461211656fea4519acd6c251a3f533922c5aaf3fbae71546aad6c01f8241e23143519a67ac8a26469706673582212208cb76c536e19971cabe9720c610e51049f1afaf594e4d945d8d67b27f6a69df564736f6c63430008110033";
322
322
 
323
323
  type ActionSwapPTYTConstructorParams =
324
324
  | [signer?: Signer]