@pendle/core-v2 6.4.1 → 6.4.2-swaphubtest2

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 (371) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +2 -2
  29. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  37. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  39. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  52. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  53. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  54. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +4 -0
  55. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +170 -0
  56. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +4 -0
  57. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +124 -0
  58. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  60. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  61. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +4 -0
  62. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +981 -0
  63. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +4 -0
  64. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +952 -0
  65. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  66. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  67. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  68. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +4 -0
  103. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +789 -0
  104. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +4 -0
  105. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.json +124 -0
  106. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +4 -0
  107. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.json +108 -0
  108. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  154. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  155. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  156. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  157. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  158. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  159. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  161. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  162. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  164. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  165. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  166. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  167. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  168. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  169. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  170. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  171. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  172. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  173. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  176. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  178. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  179. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  181. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  190. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  199. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  205. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  207. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  209. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  214. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  216. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  217. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  218. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  219. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  220. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  221. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  222. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  223. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  224. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  225. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  226. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  227. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  228. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  229. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  230. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  231. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  232. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  233. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  234. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  235. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  236. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  237. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  238. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  239. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  240. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  241. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  242. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  243. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  244. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  245. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +1 -1
  246. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.json +2 -2
  247. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  248. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  249. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  250. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  251. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  252. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  253. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  254. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  255. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  256. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  257. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  258. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  259. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  260. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  261. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  262. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  263. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  264. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  266. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  268. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  269. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  271. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  273. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  275. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  279. package/contracts/core/libraries/TokenHelper.sol +5 -1
  280. package/contracts/cross-chain/deposit-box/DepositBox.sol +66 -0
  281. package/contracts/cross-chain/deposit-box/DepositBoxFactory.sol +44 -0
  282. package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +90 -0
  283. package/contracts/cross-chain/swap-hub/SwapHubBase.sol +197 -0
  284. package/contracts/interfaces/IPCrossChainSwapHub.sol +116 -0
  285. package/contracts/interfaces/IPDepositBox.sol +22 -0
  286. package/contracts/interfaces/IPDepositBoxFactory.sol +19 -0
  287. package/deployments/130-core.json +2 -1
  288. package/deployments/9745-core.json +3 -2
  289. package/deployments/999-core.json +5 -5
  290. package/package.json +2 -2
  291. package/typechain-types/DepositBox.ts +260 -0
  292. package/typechain-types/DepositBoxFactory.ts +226 -0
  293. package/typechain-types/IPCrossChainSwapHub.ts +691 -0
  294. package/typechain-types/IPDepositBox.ts +213 -0
  295. package/typechain-types/IPDepositBoxFactory.ts +226 -0
  296. package/typechain-types/PendleCrossChainSwapHub.ts +946 -0
  297. package/typechain-types/SwapHubBase.ts +921 -0
  298. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  299. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  300. package/typechain-types/factories/ActionCrossChain__factory.ts +1 -1
  301. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  302. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  303. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  304. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  305. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  306. package/typechain-types/factories/DepositBoxFactory__factory.ts +189 -0
  307. package/typechain-types/factories/DepositBox__factory.ts +222 -0
  308. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  309. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  310. package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +804 -0
  311. package/typechain-types/factories/IPDepositBoxFactory__factory.ts +123 -0
  312. package/typechain-types/factories/IPDepositBox__factory.ts +136 -0
  313. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  314. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  315. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  316. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  317. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1050 -0
  318. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  319. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  320. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  321. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  322. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  323. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  324. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  325. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  326. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  327. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  328. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  329. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  330. package/typechain-types/factories/Reflector__factory.ts +1 -1
  331. package/typechain-types/factories/SwapHubBase__factory.ts +964 -0
  332. package/typechain-types/hardhat.d.ts +72 -36
  333. package/typechain-types/index.ts +14 -8
  334. package/typechain-types/ActionDelegateBase.ts +0 -57
  335. package/typechain-types/BasePendleBridgedPrincipalToken.ts +0 -1689
  336. package/typechain-types/EIP712.ts +0 -135
  337. package/typechain-types/ERC20Permit.ts +0 -586
  338. package/typechain-types/IERC5267.ts +0 -135
  339. package/typechain-types/IPMarketFactoryV3.ts +0 -321
  340. package/typechain-types/IPMarketV3.ts +0 -1068
  341. package/typechain-types/LimitBackendHelper.ts +0 -287
  342. package/typechain-types/OverfillMathLib.ts +0 -81
  343. package/typechain-types/PendleBridgedPrincipalToken_18Decimals.ts +0 -1689
  344. package/typechain-types/PendleBridgedPrincipalToken_6Decimals.ts +0 -1689
  345. package/typechain-types/PendleBridgedPrincipalToken_8Decimals.ts +0 -1689
  346. package/typechain-types/PendleERC20Permit.ts +0 -508
  347. package/typechain-types/PendleERC20PermitUpg.ts +0 -517
  348. package/typechain-types/PendleERC20Upg.ts +0 -348
  349. package/typechain-types/PendleMarketFactoryV3.ts +0 -719
  350. package/typechain-types/PendleMarketV3.ts +0 -1195
  351. package/typechain-types/PendleYieldContractFactory.ts +0 -801
  352. package/typechain-types/ShortStrings.ts +0 -57
  353. package/typechain-types/factories/ActionDelegateBase__factory.ts +0 -80
  354. package/typechain-types/factories/BasePendleBridgedPrincipalToken__factory.ts +0 -1548
  355. package/typechain-types/factories/EIP712__factory.ts +0 -85
  356. package/typechain-types/factories/ERC20Permit__factory.ts +0 -433
  357. package/typechain-types/factories/IERC5267__factory.ts +0 -72
  358. package/typechain-types/factories/IPMarketFactoryV3__factory.ts +0 -217
  359. package/typechain-types/factories/IPMarketV3__factory.ts +0 -845
  360. package/typechain-types/factories/LimitBackendHelper__factory.ts +0 -232
  361. package/typechain-types/factories/OverfillMathLib__factory.ts +0 -77
  362. package/typechain-types/factories/PendleBridgedPrincipalToken_18Decimals__factory.ts +0 -1652
  363. package/typechain-types/factories/PendleBridgedPrincipalToken_6Decimals__factory.ts +0 -1650
  364. package/typechain-types/factories/PendleBridgedPrincipalToken_8Decimals__factory.ts +0 -1650
  365. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +0 -389
  366. package/typechain-types/factories/PendleERC20Permit__factory.ts +0 -470
  367. package/typechain-types/factories/PendleERC20Upg__factory.ts +0 -261
  368. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +0 -714
  369. package/typechain-types/factories/PendleMarketV3__factory.ts +0 -1211
  370. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +0 -674
  371. package/typechain-types/factories/ShortStrings__factory.ts +0 -77
@@ -0,0 +1,189 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ DepositBoxFactory,
8
+ DepositBoxFactoryInterface,
9
+ } from "../DepositBoxFactory";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "beaconProxyCodeContract_",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "depositBoxBeacon_",
22
+ type: "address",
23
+ },
24
+ ],
25
+ stateMutability: "nonpayable",
26
+ type: "constructor",
27
+ },
28
+ {
29
+ inputs: [],
30
+ name: "BEACON_PROXY_CODE_CONTRACT",
31
+ outputs: [
32
+ {
33
+ internalType: "address",
34
+ name: "",
35
+ type: "address",
36
+ },
37
+ ],
38
+ stateMutability: "view",
39
+ type: "function",
40
+ },
41
+ {
42
+ inputs: [],
43
+ name: "DEPOSIT_BOX_BEACON",
44
+ outputs: [
45
+ {
46
+ internalType: "address",
47
+ name: "",
48
+ type: "address",
49
+ },
50
+ ],
51
+ stateMutability: "view",
52
+ type: "function",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "DEPOSIT_BOX_CODE_HASH",
57
+ outputs: [
58
+ {
59
+ internalType: "bytes32",
60
+ name: "",
61
+ type: "bytes32",
62
+ },
63
+ ],
64
+ stateMutability: "view",
65
+ type: "function",
66
+ },
67
+ {
68
+ inputs: [
69
+ {
70
+ internalType: "address",
71
+ name: "owner",
72
+ type: "address",
73
+ },
74
+ {
75
+ internalType: "uint32",
76
+ name: "boxId",
77
+ type: "uint32",
78
+ },
79
+ ],
80
+ name: "computeDepositBox",
81
+ outputs: [
82
+ {
83
+ internalType: "address",
84
+ name: "box",
85
+ type: "address",
86
+ },
87
+ {
88
+ internalType: "bytes32",
89
+ name: "salt",
90
+ type: "bytes32",
91
+ },
92
+ {
93
+ internalType: "bool",
94
+ name: "deployed",
95
+ type: "bool",
96
+ },
97
+ ],
98
+ stateMutability: "view",
99
+ type: "function",
100
+ },
101
+ {
102
+ inputs: [
103
+ {
104
+ internalType: "address",
105
+ name: "owner",
106
+ type: "address",
107
+ },
108
+ {
109
+ internalType: "uint32",
110
+ name: "boxId",
111
+ type: "uint32",
112
+ },
113
+ ],
114
+ name: "deployDepositBox",
115
+ outputs: [
116
+ {
117
+ internalType: "contract IPDepositBox",
118
+ name: "",
119
+ type: "address",
120
+ },
121
+ ],
122
+ stateMutability: "nonpayable",
123
+ type: "function",
124
+ },
125
+ ];
126
+
127
+ const _bytecode =
128
+ "0x60e060405234801561000f575f5ffd5b506040516106f03803806106f083398101604081905261002e916100de565b6001600160a01b03828116608081905290821660a052604080516020833b808301820190935282825290925f918401903c604080516001600160a01b0384166020820152808201919091525f606082015260800160408051601f19818403018152908290526100a0929160200161013c565b60408051601f19818403018152919052805160209091012060c052506101589050565b80516001600160a01b03811681146100d9575f5ffd5b919050565b5f5f604083850312156100ef575f5ffd5b6100f8836100c3565b9150610106602084016100c3565b90509250929050565b5f81515f5b8181101561012e5760208185018101518683015201610114565b505f93019283525090919050565b5f61015061014a838661010f565b8461010f565b949350505050565b60805160a05160c05161055c6101945f395f818160c901526102ea01525f8181605e01526101bf01525f818160a2015261016e015261055c5ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631122f54e146100595780632d610bb01461009d5780635a3f0e6b146100c45780637f6bc3fd146100f9578063f22e9dd41461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6100eb7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610094565b610080610107366004610460565b610146565b61011f61011a366004610460565b6102b6565b604080516001600160a01b0390941684526020840192909252151590820152606001610094565b5f5f5f5f61015486866102b6565b925092509250801561016b578293505050506102b0565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b806020016040519081016040528181525f908060200190933c604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020820152808201919091525f606082015260800160408051601f198184030181529082905261021292916020016104d7565b6040516020818303038152906040529050836001600160a01b03166102385f8584610326565b6001600160a01b03161461024e5761024e6104f3565b60405163c5e4c9f960e01b81526001600160a01b0385169063c5e4c9f99061027c908a908a90600401610507565b5f604051808303815f87803b158015610293575f5ffd5b505af11580156102a5573d5f5f3e3d5ffd5b509596505050505050505b92915050565b5f5f5f84846040516020016102cc929190610507565b60405160208183030381529060405280519060200120915061030e827f0000000000000000000000000000000000000000000000000000000000000000610430565b92505f836001600160a01b03163b1190509250925092565b5f8347101561037c5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b81515f036103cc5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610373565b8282516020840186f590506001600160a01b0381166104295760405162461bcd60e51b8152602060048201526019602482015278437265617465323a204661696c6564206f6e206465706c6f7960381b6044820152606401610373565b9392505050565b5f6104298383305f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f5f60408385031215610471575f5ffd5b82356001600160a01b0381168114610487575f5ffd5b9150602083013563ffffffff8116811461049f575f5ffd5b809150509250929050565b5f81515f5b818110156104c957602081850181015186830152016104af565b505f93019283525090919050565b5f6104eb6104e583866104aa565b846104aa565b949350505050565b634e487b7160e01b5f52600160045260245ffd5b6001600160a01b0392909216825263ffffffff1660208201526040019056fea26469706673582212209605ae6a6d8b822b0d50f015ed183f9750ebc2b47f2e82a3884d03c8edbf75ed64736f6c634300081e0033";
129
+
130
+ type DepositBoxFactoryConstructorParams =
131
+ | [signer?: Signer]
132
+ | ConstructorParameters<typeof ContractFactory>;
133
+
134
+ const isSuperArgs = (
135
+ xs: DepositBoxFactoryConstructorParams
136
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
137
+
138
+ export class DepositBoxFactory__factory extends ContractFactory {
139
+ constructor(...args: DepositBoxFactoryConstructorParams) {
140
+ if (isSuperArgs(args)) {
141
+ super(...args);
142
+ } else {
143
+ super(_abi, _bytecode, args[0]);
144
+ }
145
+ this.contractName = "DepositBoxFactory";
146
+ }
147
+
148
+ deploy(
149
+ beaconProxyCodeContract_: string,
150
+ depositBoxBeacon_: string,
151
+ overrides?: Overrides & { from?: string | Promise<string> }
152
+ ): Promise<DepositBoxFactory> {
153
+ return super.deploy(
154
+ beaconProxyCodeContract_,
155
+ depositBoxBeacon_,
156
+ overrides || {}
157
+ ) as Promise<DepositBoxFactory>;
158
+ }
159
+ getDeployTransaction(
160
+ beaconProxyCodeContract_: string,
161
+ depositBoxBeacon_: string,
162
+ overrides?: Overrides & { from?: string | Promise<string> }
163
+ ): TransactionRequest {
164
+ return super.getDeployTransaction(
165
+ beaconProxyCodeContract_,
166
+ depositBoxBeacon_,
167
+ overrides || {}
168
+ );
169
+ }
170
+ attach(address: string): DepositBoxFactory {
171
+ return super.attach(address) as DepositBoxFactory;
172
+ }
173
+ connect(signer: Signer): DepositBoxFactory__factory {
174
+ return super.connect(signer) as DepositBoxFactory__factory;
175
+ }
176
+ static readonly contractName: "DepositBoxFactory";
177
+ public readonly contractName: "DepositBoxFactory";
178
+ static readonly bytecode = _bytecode;
179
+ static readonly abi = _abi;
180
+ static createInterface(): DepositBoxFactoryInterface {
181
+ return new utils.Interface(_abi) as DepositBoxFactoryInterface;
182
+ }
183
+ static connect(
184
+ address: string,
185
+ signerOrProvider: Signer | Provider
186
+ ): DepositBoxFactory {
187
+ return new Contract(address, _abi, signerOrProvider) as DepositBoxFactory;
188
+ }
189
+ }
@@ -0,0 +1,222 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { DepositBox, DepositBoxInterface } from "../DepositBox";
7
+
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "manager_",
14
+ type: "address",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ type: "constructor",
19
+ },
20
+ {
21
+ anonymous: false,
22
+ inputs: [
23
+ {
24
+ indexed: false,
25
+ internalType: "uint8",
26
+ name: "version",
27
+ type: "uint8",
28
+ },
29
+ ],
30
+ name: "Initialized",
31
+ type: "event",
32
+ },
33
+ {
34
+ inputs: [],
35
+ name: "BOX_ID",
36
+ outputs: [
37
+ {
38
+ internalType: "uint32",
39
+ name: "",
40
+ type: "uint32",
41
+ },
42
+ ],
43
+ stateMutability: "view",
44
+ type: "function",
45
+ },
46
+ {
47
+ inputs: [],
48
+ name: "MANAGER",
49
+ outputs: [
50
+ {
51
+ internalType: "address",
52
+ name: "",
53
+ type: "address",
54
+ },
55
+ ],
56
+ stateMutability: "view",
57
+ type: "function",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "OWNER",
62
+ outputs: [
63
+ {
64
+ internalType: "address",
65
+ name: "",
66
+ type: "address",
67
+ },
68
+ ],
69
+ stateMutability: "view",
70
+ type: "function",
71
+ },
72
+ {
73
+ inputs: [
74
+ {
75
+ components: [
76
+ {
77
+ internalType: "address",
78
+ name: "token",
79
+ type: "address",
80
+ },
81
+ {
82
+ internalType: "uint256",
83
+ name: "amount",
84
+ type: "uint256",
85
+ },
86
+ {
87
+ internalType: "address",
88
+ name: "approveTo",
89
+ type: "address",
90
+ },
91
+ {
92
+ internalType: "address",
93
+ name: "callTo",
94
+ type: "address",
95
+ },
96
+ {
97
+ internalType: "bytes",
98
+ name: "data",
99
+ type: "bytes",
100
+ },
101
+ ],
102
+ internalType: "struct ApprovedCall",
103
+ name: "call",
104
+ type: "tuple",
105
+ },
106
+ {
107
+ internalType: "address",
108
+ name: "nativeRefund",
109
+ type: "address",
110
+ },
111
+ ],
112
+ name: "approveAndCall",
113
+ outputs: [
114
+ {
115
+ internalType: "bytes",
116
+ name: "result",
117
+ type: "bytes",
118
+ },
119
+ ],
120
+ stateMutability: "payable",
121
+ type: "function",
122
+ },
123
+ {
124
+ inputs: [
125
+ {
126
+ internalType: "address",
127
+ name: "owner_",
128
+ type: "address",
129
+ },
130
+ {
131
+ internalType: "uint32",
132
+ name: "boxId_",
133
+ type: "uint32",
134
+ },
135
+ ],
136
+ name: "initialize",
137
+ outputs: [],
138
+ stateMutability: "nonpayable",
139
+ type: "function",
140
+ },
141
+ {
142
+ inputs: [
143
+ {
144
+ internalType: "address",
145
+ name: "to",
146
+ type: "address",
147
+ },
148
+ {
149
+ internalType: "address",
150
+ name: "token",
151
+ type: "address",
152
+ },
153
+ {
154
+ internalType: "uint256",
155
+ name: "amount",
156
+ type: "uint256",
157
+ },
158
+ ],
159
+ name: "withdrawTo",
160
+ outputs: [],
161
+ stateMutability: "nonpayable",
162
+ type: "function",
163
+ },
164
+ {
165
+ stateMutability: "payable",
166
+ type: "receive",
167
+ },
168
+ ];
169
+
170
+ const _bytecode =
171
+ "0x60a060405234801561000f575f5ffd5b50604051610ee6380380610ee683398101604081905261002e91610103565b610036610047565b6001600160a01b0316608052610130565b5f54610100900460ff16156100b25760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610101575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f60208284031215610113575f5ffd5b81516001600160a01b0381168114610129575f5ffd5b9392505050565b608051610d916101555f395f818160ad01528181610173015261028b0152610d915ff3fe608060405260043610610057575f3560e01c8063117803e3146100625780631b2df8501461009c57806328dc8307146100cf578063a817c113146100ef578063c3b35a7e14610126578063c5e4c9f914610147575f5ffd5b3661005e57005b5f5ffd5b34801561006d575f5ffd5b505f54610086906201000090046001600160a01b031681565b60405161009391906109c6565b60405180910390f35b3480156100a7575f5ffd5b506100867f000000000000000000000000000000000000000000000000000000000000000081565b6100e26100dd366004610a61565b610166565b6040516100939190610bc4565b3480156100fa575f5ffd5b505f5461011190600160b01b900463ffffffff1681565b60405163ffffffff9091168152602001610093565b348015610131575f5ffd5b50610145610140366004610bd6565b610280565b005b348015610152575f5ffd5b50610145610161366004610c10565b6102d8565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101b95760405162461bcd60e51b81526004016101b090610c4d565b60405180910390fd5b82515f906001600160a01b0316156101d1575f6101d7565b83602001515b9050345f81836101e68361041c565b6101f09190610ca2565b6101fa9190610ca2565b9050610212865f01518760400151886020015161042d565b608086015161023a906102258486610cb5565b60608901516001600160a01b03169190610454565b935061024e865f015187604001515f61042d565b5f6102585f61041c565b905081811115610276576102765f876102718585610ca2565b610482565b5050505092915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102c85760405162461bcd60e51b81526004016101b090610c4d565b6102d3828483610482565b505050565b5f54610100900460ff16158080156102f657505f54600160ff909116105b80610316575061030530610547565b15801561031657505f5460ff166001145b6103795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101b0565b5f805460ff19166001179055801561039a575f805461ff0019166101001790555b5f805462010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85160217905580156102d3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b5f6104273083610556565b92915050565b6001600160a01b03831661044057505050565b6102d36001600160a01b03841683836105e9565b606061047a848484604051806060016040528060298152602001610d33602991396106b3565b949350505050565b805f0361048e57505050565b6001600160a01b038316610533575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146104e5576040519150601f19603f3d011682016040523d82523d5f602084013e6104ea565b606091505b505090508061052d5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016101b0565b50505050565b6102d36001600160a01b038416838361078a565b6001600160a01b03163b151590565b5f6001600160a01b038216156105d6576040516370a0823160e01b81526001600160a01b038316906370a08231906105929086906004016109c6565b602060405180830381865afa1580156105ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d19190610cc8565b6105e2565b826001600160a01b0316315b9392505050565b5f63095ea7b360e01b8383604051602401610605929190610cdf565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061064384826107a9565b61052d576040516001600160a01b03841660248201525f60448201526106a990859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610845565b61052d8482610845565b6060824710156107145760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101b0565b5f5f866001600160a01b0316858760405161072f9190610cf8565b5f6040518083038185875af1925050503d805f8114610769576040519150601f19603f3d011682016040523d82523d5f602084013e61076e565b606091505b509150915061077f87838387610918565b979650505050505050565b6102d38363a9059cbb60e01b8484604051602401610672929190610cdf565b5f5f5f846001600160a01b0316846040516107c49190610cf8565b5f604051808303815f865af19150503d805f81146107fd576040519150601f19603f3d011682016040523d82523d5f602084013e610802565b606091505b509150915081801561082c57508051158061082c57508080602001905181019061082c9190610d13565b801561083c575061083c85610547565b95945050505050565b5f610899826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661098e9092919063ffffffff16565b905080515f14806108b95750808060200190518101906108b99190610d13565b6102d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101b0565b606083156109845782515f0361097d5761093185610547565b61097d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b0565b508161047a565b61047a838361099c565b606061047a84845f856106b3565b8151156109ac5781518083602001fd5b8060405162461bcd60e51b81526004016101b09190610bc4565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715610a1057610a106109da565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610a3e57610a3e6109da565b604052919050565b80356001600160a01b0381168114610a5c575f5ffd5b919050565b5f5f60408385031215610a72575f5ffd5b82356001600160401b03811115610a87575f5ffd5b830160a08186031215610a98575f5ffd5b610aa06109ee565b610aa982610a46565b815260208281013590820152610ac160408301610a46565b6040820152610ad260608301610a46565b606082015260808201356001600160401b03811115610aef575f5ffd5b80830192505085601f830112610b03575f5ffd5b81356001600160401b03811115610b1c57610b1c6109da565b610b2f601f8201601f1916602001610a16565b818152876020838601011115610b43575f5ffd5b816020850160208301375f6020838301015280608084015250508093505050610b6e60208401610a46565b90509250929050565b5f5b83811015610b91578181015183820152602001610b79565b50505f910152565b5f8151808452610bb0816020860160208601610b77565b601f01601f19169290920160200192915050565b602081525f6105e26020830184610b99565b5f5f5f60608486031215610be8575f5ffd5b610bf184610a46565b9250610bff60208501610a46565b929592945050506040919091013590565b5f5f60408385031215610c21575f5ffd5b610c2a83610a46565b9150602083013563ffffffff81168114610c42575f5ffd5b809150509250929050565b60208082526021908201527f4465706f736974426f783a2063616c6c6572206973206e6f74206d616e6167656040820152603960f91b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042757610427610c8e565b8082018082111561042757610427610c8e565b5f60208284031215610cd8575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f8251610d09818460208701610b77565b9190910192915050565b5f60208284031215610d23575f5ffd5b815180151581146105e2575f5ffdfe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220a4a0a502332df45c1b601ebb5e766646bc8f7524414401c32ca2f460868b9a9e64736f6c634300081e0033";
172
+
173
+ type DepositBoxConstructorParams =
174
+ | [signer?: Signer]
175
+ | ConstructorParameters<typeof ContractFactory>;
176
+
177
+ const isSuperArgs = (
178
+ xs: DepositBoxConstructorParams
179
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
180
+
181
+ export class DepositBox__factory extends ContractFactory {
182
+ constructor(...args: DepositBoxConstructorParams) {
183
+ if (isSuperArgs(args)) {
184
+ super(...args);
185
+ } else {
186
+ super(_abi, _bytecode, args[0]);
187
+ }
188
+ this.contractName = "DepositBox";
189
+ }
190
+
191
+ deploy(
192
+ manager_: string,
193
+ overrides?: Overrides & { from?: string | Promise<string> }
194
+ ): Promise<DepositBox> {
195
+ return super.deploy(manager_, overrides || {}) as Promise<DepositBox>;
196
+ }
197
+ getDeployTransaction(
198
+ manager_: string,
199
+ overrides?: Overrides & { from?: string | Promise<string> }
200
+ ): TransactionRequest {
201
+ return super.getDeployTransaction(manager_, overrides || {});
202
+ }
203
+ attach(address: string): DepositBox {
204
+ return super.attach(address) as DepositBox;
205
+ }
206
+ connect(signer: Signer): DepositBox__factory {
207
+ return super.connect(signer) as DepositBox__factory;
208
+ }
209
+ static readonly contractName: "DepositBox";
210
+ public readonly contractName: "DepositBox";
211
+ static readonly bytecode = _bytecode;
212
+ static readonly abi = _abi;
213
+ static createInterface(): DepositBoxInterface {
214
+ return new utils.Interface(_abi) as DepositBoxInterface;
215
+ }
216
+ static connect(
217
+ address: string,
218
+ signerOrProvider: Signer | Provider
219
+ ): DepositBox {
220
+ return new Contract(address, _abi, signerOrProvider) as DepositBox;
221
+ }
222
+ }
@@ -301,7 +301,7 @@ const _abi = [
301
301
  ];
302
302
 
303
303
  const _bytecode =
304
- "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611bc36101215f395f818161033701528181610377015281816104a6015281816104e601526105610152611bc35ff3fe608060405260043610610096575f3560e01c8063078dfbe71461009a5780633659cfe6146100bb5780634e71e0c8146100da5780634f1ef286146100ee57806352d1902d146101015780638da5cb5b146101285780639ea517a414610153578063bd5dec9814610172578063c4d66de814610191578063c5759ddd146101b0578063e30c3978146101cf578063e68b4951146101ee575b5f5ffd5b3480156100a5575f5ffd5b506100b96100b4366004611502565b61022c565b005b3480156100c6575f5ffd5b506100b96100d536600461154a565b61032d565b3480156100e5575f5ffd5b506100b96103f4565b6100b96100fc3660046115b0565b61049c565b34801561010c575f5ffd5b50610115610555565b6040519081526020015b60405180910390f35b348015610133575f5ffd5b505f54610146906001600160a01b031681565b60405161011f9190611655565b34801561015e575f5ffd5b5061011561016d366004611669565b610601565b34801561017d575f5ffd5b506100b961018c3660046116ee565b610919565b34801561019c575f5ffd5b506100b96101ab36600461154a565b61099a565b3480156101bb575f5ffd5b506100b96101ca366004611782565b610ad2565b3480156101da575f5ffd5b50600154610146906001600160a01b031681565b3480156101f9575f5ffd5b5061021c61020836600461154a565b60646020525f908152604090205460ff1681565b604051901515815260200161011f565b5f546001600160a01b0316331461025e5760405162461bcd60e51b8152600401610255906117f7565b60405180910390fd5b811561030c576001600160a01b0383161515806102785750805b6102bc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610255565b5f80546040516001600160a01b03808716939216915f516020611b475f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103755760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a7610c25565b6001600160a01b0316146103cd5760405162461bcd60e51b815260040161025590611865565b6103d681610c40565b604080515f808252602082019092526103f191839190610c69565b50565b6001546001600160a01b031633811461044f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610255565b5f80546040516001600160a01b03808516939216915f516020611b475f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610516610c25565b6001600160a01b03161461053c5760405162461bcd60e51b815260040161025590611865565b61054582610c40565b61055182826001610c69565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610255565b505f516020611b275f395f51905f5290565b5f61060a610dd3565b6001600160a01b0386165f9081526064602052604090205460ff166106575760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b6044820152606401610255565b5f5f5f886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610696573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba919061189e565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016106ec9190611655565b5f604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072e91908101906118dd565b505f808915610750576107438433308d610e2a565b61074d8a82611977565b90505b88156107f3576107628b338d8c610e2a565b5f5f8c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016107949392919061198a565b60408051808303815f875af11580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d391906119ae565b90925090506107e28285611977565b93506107ee8184611977565b925050505b5f61085e846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906119d0565b83610e45565b905061086a8184611977565b9250610877868785610e6c565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303815f875af11580156108d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd91906119d0565b965050505050505061090f6001600255565b9695505050505050565b5f546001600160a01b031633146109425760405162461bcd60e51b8152600401610255906117f7565b5f5b815181101561055157610992828281518110610962576109626119e7565b60200260200101513361098d858581518110610980576109806119e7565b6020026020010151610f32565b610e6c565b600101610944565b600154600160a81b900460ff16158080156109c0575060018054600160a01b900460ff16105b806109e757506109cf30610fb9565b1580156109e7575060018054600160a01b900460ff16145b610a4a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610255565b6001805460ff60a01b1916600160a01b1790558015610a77576001805460ff60a81b1916600160a81b1790555b610a8082610fc8565b610a88611012565b8015610551576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b03163314610afb5760405162461bcd60e51b8152600401610255906117f7565b5f5b82811015610c1f57838382818110610b1757610b176119e7565b9050602002016020810190610b2c919061154a565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b67573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b91906119fb565b610bc55760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606401610255565b8160645f868685818110610bdb57610bdb6119e7565b9050602002016020810190610bf0919061154a565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610afd565b50505050565b5f516020611b275f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103f15760405162461bcd60e51b8152600401610255906117f7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c9c5761032883611045565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cf6575060408051601f3d908101601f19168201909252610cf3918101906119d0565b60015b610d595760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610255565b5f516020611b275f395f51905f528114610dc75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610255565b506103288383836110de565b6002805403610e245760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610255565b60028055565b8015610c1f57610c1f6001600160a01b038516848484611102565b5f82610e59670de0b6b3a764000084611a16565b610e639190611a2d565b90505b92915050565b805f03610e7857505050565b6001600160a01b038316610f17575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ecf576040519150601f19603f3d011682016040523d82523d5f602084013e610ed4565b606091505b5050905080610c1f5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610255565b6103286001600160a01b038416838361115a565b6001600255565b5f6001600160a01b03821615610fb2576040516370a0823160e01b81526001600160a01b038316906370a0823190610f6e903090600401611655565b602060405180830381865afa158015610f89573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fad91906119d0565b610e66565b4792915050565b6001600160a01b03163b151590565b600154600160a81b900460ff16610ff15760405162461bcd60e51b815260040161025590611a4c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff1661103b5760405162461bcd60e51b815260040161025590611a4c565b61104361118a565b565b61104e81610fb9565b6110b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610255565b5f516020611b275f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6110e7836111b3565b5f825111806110f35750805b1561032857610c1f83836111f2565b610c1f846323b872dd60e01b8585856040516024016111239392919061198a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611217565b6040516001600160a01b03831660248201526044810182905261032890849063a9059cbb60e01b90606401611123565b600154600160a81b900460ff16610f2b5760405162461bcd60e51b815260040161025590611a4c565b6111bc81611045565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e638383604051806060016040528060278152602001611b67602791396112ea565b5f61126b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113549092919063ffffffff16565b905080515f148061128b57508080602001905181019061128b91906119fb565b6103285760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b60605f5f856001600160a01b0316856040516113069190611ab9565b5f60405180830381855af49150503d805f811461133e576040519150601f19603f3d011682016040523d82523d5f602084013e611343565b606091505b509150915061090f8683838761136a565b606061136284845f856113e0565b949350505050565b606083156113d65782515f036113cf5761138385610fb9565b6113cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b5081611362565b61136283836114b7565b6060824710156114415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b5f5f866001600160a01b0316858760405161145c9190611ab9565b5f6040518083038185875af1925050503d805f8114611496576040519150601f19603f3d011682016040523d82523d5f602084013e61149b565b606091505b50915091506114ac8783838761136a565b979650505050505050565b8151156114c75781518083602001fd5b8060405162461bcd60e51b81526004016102559190611ad4565b6001600160a01b03811681146103f1575f5ffd5b80151581146103f1575f5ffd5b5f5f5f60608486031215611514575f5ffd5b833561151f816114e1565b9250602084013561152f816114f5565b9150604084013561153f816114f5565b809150509250925092565b5f6020828403121561155a575f5ffd5b8135611565816114e1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115a8576115a861156c565b604052919050565b5f5f604083850312156115c1575f5ffd5b82356115cc816114e1565b915060208301356001600160401b038111156115e6575f5ffd5b8301601f810185136115f6575f5ffd5b80356001600160401b0381111561160f5761160f61156c565b611622601f8201601f1916602001611580565b818152866020838501011115611636575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b6001600160a01b0391909116815260200190565b5f5f5f5f5f5f60c0878903121561167e575f5ffd5b8635611689816114e1565b95506020870135611699816114e1565b9450604087013593506060870135925060808701356116b7816114e1565b9598949750929591949360a090920135925050565b5f6001600160401b038211156116e4576116e461156c565b5060051b60200190565b5f602082840312156116fe575f5ffd5b81356001600160401b03811115611713575f5ffd5b8201601f81018413611723575f5ffd5b8035611736611731826116cc565b611580565b8082825260208201915060208360051b850101925086831115611757575f5ffd5b6020840193505b8284101561090f578335611771816114e1565b82526020938401939091019061175e565b5f5f5f60408486031215611794575f5ffd5b83356001600160401b038111156117a9575f5ffd5b8401601f810186136117b9575f5ffd5b80356001600160401b038111156117ce575f5ffd5b8660208260051b84010111156117e2575f5ffd5b60209182019450925084013561153f816114f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f606084860312156118b0575f5ffd5b83516118bb816114e1565b60208501519093506118cc816114e1565b604085015190925061153f816114e1565b5f602082840312156118ed575f5ffd5b81516001600160401b03811115611902575f5ffd5b8201601f81018413611912575f5ffd5b8051611920611731826116cc565b8082825260208201915060208360051b850101925086831115611941575f5ffd5b6020840193505b8284101561090f578351825260209384019390910190611948565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e6657610e66611963565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f5f604083850312156119bf575f5ffd5b505080516020909101519092909150565b5f602082840312156119e0575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a0b575f5ffd5b8151611565816114f5565b8082028115828204841417610e6657610e66611963565b5f82611a4757634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b83811015611ab1578181015183820152602001611a99565b50505f910152565b5f8251611aca818460208701611a97565b9190910192915050565b602081525f8251806020840152611af2816040850160208701611a97565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122070b83a89905b1e4a88fb9c1838cbc7cd657b5eb59fc6c9be29410dcf68527aae64736f6c634300081e0033";
304
+ "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611bd66101215f395f818161033701528181610377015281816104a6015281816104e601526105610152611bd65ff3fe608060405260043610610096575f3560e01c8063078dfbe71461009a5780633659cfe6146100bb5780634e71e0c8146100da5780634f1ef286146100ee57806352d1902d146101015780638da5cb5b146101285780639ea517a414610153578063bd5dec9814610172578063c4d66de814610191578063c5759ddd146101b0578063e30c3978146101cf578063e68b4951146101ee575b5f5ffd5b3480156100a5575f5ffd5b506100b96100b4366004611515565b61022c565b005b3480156100c6575f5ffd5b506100b96100d536600461155d565b61032d565b3480156100e5575f5ffd5b506100b96103f4565b6100b96100fc3660046115c3565b61049c565b34801561010c575f5ffd5b50610115610555565b6040519081526020015b60405180910390f35b348015610133575f5ffd5b505f54610146906001600160a01b031681565b60405161011f9190611668565b34801561015e575f5ffd5b5061011561016d36600461167c565b610601565b34801561017d575f5ffd5b506100b961018c366004611701565b610919565b34801561019c575f5ffd5b506100b96101ab36600461155d565b61099a565b3480156101bb575f5ffd5b506100b96101ca366004611795565b610ad2565b3480156101da575f5ffd5b50600154610146906001600160a01b031681565b3480156101f9575f5ffd5b5061021c61020836600461155d565b60646020525f908152604090205460ff1681565b604051901515815260200161011f565b5f546001600160a01b0316331461025e5760405162461bcd60e51b81526004016102559061180a565b60405180910390fd5b811561030c576001600160a01b0383161515806102785750805b6102bc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610255565b5f80546040516001600160a01b03808716939216915f516020611b5a5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103755760405162461bcd60e51b81526004016102559061183f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a7610c25565b6001600160a01b0316146103cd5760405162461bcd60e51b815260040161025590611878565b6103d681610c40565b604080515f808252602082019092526103f191839190610c69565b50565b6001546001600160a01b031633811461044f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610255565b5f80546040516001600160a01b03808516939216915f516020611b5a5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016102559061183f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610516610c25565b6001600160a01b03161461053c5760405162461bcd60e51b815260040161025590611878565b61054582610c40565b61055182826001610c69565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610255565b505f516020611b3a5f395f51905f5290565b5f61060a610dd3565b6001600160a01b0386165f9081526064602052604090205460ff166106575760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b6044820152606401610255565b5f5f5f886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610696573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba91906118b1565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016106ec9190611668565b5f604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072e91908101906118f0565b505f808915610750576107438433308d610e2a565b61074d8a8261198a565b90505b88156107f3576107628b338d8c610e2a565b5f5f8c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016107949392919061199d565b60408051808303815f875af11580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d391906119c1565b90925090506107e2828561198a565b93506107ee818461198a565b925050505b5f61085e846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906119e3565b83610e45565b905061086a818461198a565b9250610877868785610e6c565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303815f875af11580156108d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd91906119e3565b965050505050505061090f6001600255565b9695505050505050565b5f546001600160a01b031633146109425760405162461bcd60e51b81526004016102559061180a565b5f5b815181101561055157610992828281518110610962576109626119fa565b60200260200101513361098d858581518110610980576109806119fa565b6020026020010151610f32565b610e6c565b600101610944565b600154600160a81b900460ff16158080156109c0575060018054600160a01b900460ff16105b806109e757506109cf30610f3d565b1580156109e7575060018054600160a01b900460ff16145b610a4a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610255565b6001805460ff60a01b1916600160a01b1790558015610a77576001805460ff60a81b1916600160a81b1790555b610a8082610f4c565b610a88610f96565b8015610551576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b03163314610afb5760405162461bcd60e51b81526004016102559061180a565b5f5b82811015610c1f57838382818110610b1757610b176119fa565b9050602002016020810190610b2c919061155d565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b67573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190611a0e565b610bc55760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606401610255565b8160645f868685818110610bdb57610bdb6119fa565b9050602002016020810190610bf0919061155d565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610afd565b50505050565b5f516020611b3a5f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103f15760405162461bcd60e51b81526004016102559061180a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c9c5761032883610fc9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cf6575060408051601f3d908101601f19168201909252610cf3918101906119e3565b60015b610d595760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610255565b5f516020611b3a5f395f51905f528114610dc75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610255565b50610328838383611062565b6002805403610e245760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610255565b60028055565b8015610c1f57610c1f6001600160a01b038516848484611086565b5f82610e59670de0b6b3a764000084611a29565b610e639190611a40565b90505b92915050565b805f03610e7857505050565b6001600160a01b038316610f17575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ecf576040519150601f19603f3d011682016040523d82523d5f602084013e610ed4565b606091505b5050905080610c1f5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610255565b6103286001600160a01b03841683836110de565b6001600255565b5f610e66308361110e565b6001600160a01b03163b151590565b600154600160a81b900460ff16610f755760405162461bcd60e51b815260040161025590611a5f565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff16610fbf5760405162461bcd60e51b815260040161025590611a5f565b610fc761119d565b565b610fd281610f3d565b6110345760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610255565b5f516020611b3a5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836111c6565b5f825111806110775750805b1561032857610c1f8383611205565b610c1f846323b872dd60e01b8585856040516024016110a79392919061199d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261122a565b6040516001600160a01b03831660248201526044810182905261032890849063a9059cbb60e01b906064016110a7565b5f6001600160a01b0382161561118e576040516370a0823160e01b81526001600160a01b038316906370a082319061114a908690600401611668565b602060405180830381865afa158015611165573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118991906119e3565b610e63565b50506001600160a01b03163190565b600154600160a81b900460ff16610f2b5760405162461bcd60e51b815260040161025590611a5f565b6111cf81610fc9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e638383604051806060016040528060278152602001611b7a602791396112fd565b5f61127e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113679092919063ffffffff16565b905080515f148061129e57508080602001905181019061129e9190611a0e565b6103285760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b60605f5f856001600160a01b0316856040516113199190611acc565b5f60405180830381855af49150503d805f8114611351576040519150601f19603f3d011682016040523d82523d5f602084013e611356565b606091505b509150915061090f8683838761137d565b606061137584845f856113f3565b949350505050565b606083156113e95782515f036113e25761139685610f3d565b6113e25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b5081611375565b61137583836114ca565b6060824710156114545760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b5f5f866001600160a01b0316858760405161146f9190611acc565b5f6040518083038185875af1925050503d805f81146114a9576040519150601f19603f3d011682016040523d82523d5f602084013e6114ae565b606091505b50915091506114bf8783838761137d565b979650505050505050565b8151156114da5781518083602001fd5b8060405162461bcd60e51b81526004016102559190611ae7565b6001600160a01b03811681146103f1575f5ffd5b80151581146103f1575f5ffd5b5f5f5f60608486031215611527575f5ffd5b8335611532816114f4565b9250602084013561154281611508565b9150604084013561155281611508565b809150509250925092565b5f6020828403121561156d575f5ffd5b8135611578816114f4565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115bb576115bb61157f565b604052919050565b5f5f604083850312156115d4575f5ffd5b82356115df816114f4565b915060208301356001600160401b038111156115f9575f5ffd5b8301601f81018513611609575f5ffd5b80356001600160401b038111156116225761162261157f565b611635601f8201601f1916602001611593565b818152866020838501011115611649575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b6001600160a01b0391909116815260200190565b5f5f5f5f5f5f60c08789031215611691575f5ffd5b863561169c816114f4565b955060208701356116ac816114f4565b9450604087013593506060870135925060808701356116ca816114f4565b9598949750929591949360a090920135925050565b5f6001600160401b038211156116f7576116f761157f565b5060051b60200190565b5f60208284031215611711575f5ffd5b81356001600160401b03811115611726575f5ffd5b8201601f81018413611736575f5ffd5b8035611749611744826116df565b611593565b8082825260208201915060208360051b85010192508683111561176a575f5ffd5b6020840193505b8284101561090f578335611784816114f4565b825260209384019390910190611771565b5f5f5f604084860312156117a7575f5ffd5b83356001600160401b038111156117bc575f5ffd5b8401601f810186136117cc575f5ffd5b80356001600160401b038111156117e1575f5ffd5b8660208260051b84010111156117f5575f5ffd5b60209182019450925084013561155281611508565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f516020611b1a5f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611b1a5f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f606084860312156118c3575f5ffd5b83516118ce816114f4565b60208501519093506118df816114f4565b6040850151909250611552816114f4565b5f60208284031215611900575f5ffd5b81516001600160401b03811115611915575f5ffd5b8201601f81018413611925575f5ffd5b8051611933611744826116df565b8082825260208201915060208360051b850101925086831115611954575f5ffd5b6020840193505b8284101561090f57835182526020938401939091019061195b565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e6657610e66611976565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f5f604083850312156119d2575f5ffd5b505080516020909101519092909150565b5f602082840312156119f3575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a1e575f5ffd5b815161157881611508565b8082028115828204841417610e6657610e66611976565b5f82611a5a57634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b83811015611ac4578181015183820152602001611aac565b50505f910152565b5f8251611add818460208701611aaa565b9190910192915050565b602081525f8251806020840152611b05816040850160208701611aaa565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d92540dc019b47aefd6b2c6bd191747eefa18ce8f16cc4f28099a297c9e4921f64736f6c634300081e0033";
305
305
 
306
306
  type ExpiredLpPtRedeemerConstructorParams =
307
307
  | [signer?: Signer]
@@ -668,7 +668,7 @@ const _abi = [
668
668
  ];
669
669
 
670
670
  const _bytecode =
671
- "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516120936101215f395f8181610587015281816105c70152818161075701528181610797015261084c01526120935ff3fe6080604052600436106100d8575f3560e01c8063078dfbe7146100dc5780631927e673146100fd57806332cd935a1461012f5780633659cfe61461014e578063477053fb1461016d5780634e71e0c81461018c5780634f1ef286146101a05780635081b67b146101b357806352d1902d146101d25780638da5cb5b146101e657806393d5972b146102115780639d9ed3cc14610230578063c4d66de81461024f578063d3118e641461026e578063d512c0611461029b578063d7f70c8f146102ae578063df0fe2eb146102cd578063e30c3978146102ec575b5f5ffd5b3480156100e7575f5ffd5b506100fb6100f6366004611945565b61030b565b005b348015610108575f5ffd5b5061011c61011736600461198b565b61040c565b6040519081526020015b60405180910390f35b34801561013a575f5ffd5b5061011c6101493660046119c5565b6104c9565b348015610159575f5ffd5b506100fb6101683660046119fe565b61057d565b348015610178575f5ffd5b5061011c610187366004611a54565b610644565b348015610197575f5ffd5b506100fb6106a5565b6100fb6101ae366004611ae1565b61074d565b3480156101be575f5ffd5b5061011c6101cd366004611ba2565b610806565b3480156101dd575f5ffd5b5061011c610840565b3480156101f1575f5ffd5b505f54610204906001600160a01b031681565b6040516101269190611bea565b34801561021c575f5ffd5b5061011c61022b366004611bfe565b6108ec565b34801561023b575f5ffd5b506100fb61024a366004611c48565b610912565b34801561025a575f5ffd5b506100fb6102693660046119fe565b6109d5565b348015610279575f5ffd5b5061028d610288366004611c70565b610b0d565b604051610126929190611ca1565b6100fb6102a9366004611c48565b610bac565b3480156102b9575f5ffd5b506100fb6102c8366004611ba2565b610c67565b3480156102d8575f5ffd5b5061011c6102e7366004611cba565b610d2f565b3480156102f7575f5ffd5b50600154610204906001600160a01b031681565b5f546001600160a01b0316331461033d5760405162461bcd60e51b815260040161033490611d15565b60405180910390fd5b81156103eb576001600160a01b0383161515806103575750805b61039b5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610334565b5f80546040516001600160a01b03808716939216915f5160206120175f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b5f5f5f6104198686610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561045a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047e9190611d60565b5050509150506104be8261049183610d7a565b61049b9190611dc2565b670de0b6b3a76400006104ae8189611dc2565b6104b89190611dc2565b90610d8b565b979650505050505050565b5f5f5f6104d68685610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610517573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053b9190611d60565b505050915050670de0b6b3a7640000806105559190611dc2565b8261055f83610d7a565b6105699089611dc2565b6105739190611dc2565b6104be9190611dd9565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105c55760405162461bcd60e51b815260040161033490611df8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105f7610db6565b6001600160a01b03161461061d5760405162461bcd60e51b815260040161033490611e31565b61062681610dd1565b604080515f8082526020820190925261064191839190610dfa565b50565b5f61064d610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fbd915050565b905061069b6001603255565b9695505050505050565b6001546001600160a01b03163381146107005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610334565b5f80546040516001600160a01b03808516939216915f5160206120175f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107955760405162461bcd60e51b815260040161033490611df8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107c7610db6565b6001600160a01b0316146107ed5760405162461bcd60e51b815260040161033490611e31565b6107f682610dd1565b61080282826001610dfa565b5050565b5f61080f610f64565b61082c8585858560405180602001604052805f8152506001610fbd565b90506108386001603255565b949350505050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108da5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610334565b505f516020611ff75f395f51905f5290565b5f6108f5610f64565b61082c8585858560405180602001604052805f8152506001610fea565b5f546001600160a01b0316331461093b5760405162461bcd60e51b815260040161033490611d15565b5f546109529083906001600160a01b031683611017565b8061095b6110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f82825461098d9190611e6a565b90915550506040518181526001600160a01b038316907fea503f39efcfc64114ad09951fa9d4f7481b8d8d92b4fbccd006377b095f866d906020015b60405180910390a25050565b600154600160a81b900460ff16158080156109fb575060018054600160a01b900460ff16105b80610a225750610a0a30611100565b158015610a22575060018054600160a01b900460ff16145b610a855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610334565b6001805460ff60a01b1916600160a01b1790558015610ab2576001805460ff60a81b1916600160a81b1790555b610abb8261110f565b610ac3611159565b8015610802576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f5f610b176110dc565b6001600160a01b038086165f9081526020928352604080822087841683529093529190912054169150610b486110dc565b6001600160a01b038086165f908152602092835260408082208784168352909352919091206001015491508216610ba5576040516344d0379d60e01b81526001600160a01b03808616600483015284166024820152604401610334565b9250929050565b5f546001600160a01b03163314610bd55760405162461bcd60e51b815260040161033490611d15565b5f54610bec9083906001600160a01b031683611184565b80610bf56110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f828254610c279190611e7d565b90915550506040518181526001600160a01b038316907f6189b14a5c1490dbeb86a9da875768d98dc98fb398d6b29dd475defaa1ec4ba3906020016109c9565b5f546001600160a01b03163314610c905760405162461bcd60e51b815260040161033490611d15565b6040518060400160405280836001600160a01b0316815260200182815250610cb66110dc565b6001600160a01b038681165f81815260209384526040808220898516808452908652818320875181546001600160a01b031916908716178155969095015160019096019590955593519186169390917ff51f0fffc8121ee3747e0536c487d894894cdba960ccfb4ab385a88d51b16fed9190a450505050565b5f610d38610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fea915050565b5f5f821215610d87575f5ffd5b5090565b5f816001610d998286611e7d565b610da39190611e6a565b610dad9190611dd9565b90505b92915050565b5f516020611ff75f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146106415760405162461bcd60e51b815260040161033490611d15565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e2d57610407836111eb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e87575060408051601f3d908101601f19168201909252610e8491810190611e90565b60015b610eea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610334565b5f516020611ff75f395f51905f528114610f585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610334565b50610407838383611284565b600260325403610fb65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610334565b6002603255565b5f610fc986868661040c565b90508115610fdc57610fdc863383611184565b61069b8787838888886112a8565b5f610ff68686866104c9565b9050811561100957611009863387611184565b61069b8787878785886112a8565b805f0361102357505050565b6001600160a01b0383166110c8575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461107a576040519150601f19603f3d011682016040523d82523d5f602084013e61107f565b606091505b50509050806110c25760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610334565b50505050565b6104076001600160a01b03841683836114ed565b7fbbf04d9aae855c6bd76c8f4ba7a918994ad0d002f537323e58c83cbfe524900090565b6001600160a01b03163b151590565b600154600160a81b900460ff166111385760405162461bcd60e51b815260040161033490611ea7565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff166111825760405162461bcd60e51b815260040161033490611ea7565b565b6001600160a01b0383166111d0578034146104075760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610334565b8015610407576104076001600160a01b038416833084611543565b6111f481611100565b6112565760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610334565b5f516020611ff75f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61128d8361157b565b5f825111806112995750805b15610407576110c283836115ba565b816112b16110dc565b6001600160a01b0385165f9081526001919091016020526040902054101561131e57826112dc6110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f2054836040516306aa683960e31b815260040161033493929190611ef2565b611329838784611017565b816113326110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f205f8282546113649190611e6a565b90915550508051156113c55760405163491dc51560e11b8152339063923b8a2a9061139790859088908690600401611f60565b5f604051808303815f87803b1580156113ae575f5ffd5b505af11580156113c0573d5f5f3e3d5ffd5b505050505b836113ce6110dc565b6001015f876001600160a01b03166001600160a01b031681526020019081526020015f205f8282546114009190611e7d565b9091555061140e90506110dc565b6001600160a01b0386165f9081526001919091016020526040902054611433866115df565b101561148c5784611443866115df565b61144b6110dc565b6001015f886001600160a01b03166001600160a01b031681526020019081526020015f205460405163bb7de36360e01b815260040161033493929190611ef2565b604080516001600160a01b03878116825260208201879052858116828401526060820185905291519188169133917f6ac6c02c73a1841cb185dff1fe5282ff4499ce709efd387f7fc6de10a5124320919081900360800190a3505050505050565b6104078363a9059cbb60e01b848460405160240161150c929190611ca1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611666565b6040516001600160a01b03808516602483015283166044820152606481018290526110c29085906323b872dd60e01b9060840161150c565b611584816111eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610dad838360405180606001604052806027815260200161203760279139611739565b5f6001600160a01b0382161561165f576040516370a0823160e01b81526001600160a01b038316906370a082319061161b903090600401611bea565b602060405180830381865afa158015611636573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061165a9190611e90565b610db0565b4792915050565b5f6116ba826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117a39092919063ffffffff16565b905080515f14806116da5750808060200190518101906116da9190611f87565b6104075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610334565b60605f5f856001600160a01b0316856040516117559190611fa9565b5f60405180830381855af49150503d805f811461178d576040519150601f19603f3d011682016040523d82523d5f602084013e611792565b606091505b509150915061069b868383876117b1565b606061083884845f85611827565b6060831561181d5782515f03611816576117ca85611100565b6118165760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610334565b5081610838565b61083883836118f3565b6060824710156118885760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610334565b5f5f866001600160a01b031685876040516118a39190611fa9565b5f6040518083038185875af1925050503d805f81146118dd576040519150601f19603f3d011682016040523d82523d5f602084013e6118e2565b606091505b50915091506104be878383876117b1565b8151156119035781518083602001fd5b8060405162461bcd60e51b81526004016103349190611fc4565b80356001600160a01b0381168114611933575f5ffd5b919050565b8015158114610641575f5ffd5b5f5f5f60608486031215611957575f5ffd5b6119608461191d565b9250602084013561197081611938565b9150604084013561198081611938565b809150509250925092565b5f5f5f6060848603121561199d575f5ffd5b6119a68461191d565b92506119b46020850161191d565b929592945050506040919091013590565b5f5f5f606084860312156119d7575f5ffd5b6119e08461191d565b9250602084013591506119f56040850161191d565b90509250925092565b5f60208284031215611a0e575f5ffd5b610dad8261191d565b5f5f83601f840112611a27575f5ffd5b5081356001600160401b03811115611a3d575f5ffd5b602083019150836020828501011115610ba5575f5ffd5b5f5f5f5f5f5f60a08789031215611a69575f5ffd5b611a728761191d565b9550611a806020880161191d565b9450611a8e6040880161191d565b93506060870135925060808701356001600160401b03811115611aaf575f5ffd5b611abb89828a01611a17565b979a9699509497509295939492505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611af2575f5ffd5b611afb8361191d565b915060208301356001600160401b03811115611b15575f5ffd5b8301601f81018513611b25575f5ffd5b80356001600160401b03811115611b3e57611b3e611acd565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611b6c57611b6c611acd565b604052818152828201602001871015611b83575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60808587031215611bb5575f5ffd5b611bbe8561191d565b9350611bcc6020860161191d565b9250611bda6040860161191d565b9396929550929360600135925050565b6001600160a01b0391909116815260200190565b5f5f5f5f60808587031215611c11575f5ffd5b611c1a8561191d565b9350611c286020860161191d565b925060408501359150611c3d6060860161191d565b905092959194509250565b5f5f60408385031215611c59575f5ffd5b611c628361191d565b946020939093013593505050565b5f5f60408385031215611c81575f5ffd5b611c8a8361191d565b9150611c986020840161191d565b90509250929050565b6001600160a01b03929092168252602082015260400190565b5f5f5f5f5f5f60a08789031215611ccf575f5ffd5b611cd88761191d565b9550611ce66020880161191d565b945060408701359350611cfb6060880161191d565b925060808701356001600160401b03811115611aaf575f5ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160501b0381168114611933575f5ffd5b5f5f5f5f5f60a08688031215611d74575f5ffd5b611d7d86611d4a565b60208701516040880151606089015192975090955093509150611da260808701611d4a565b90509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610db057610db0611dae565b5f82611df357634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602c908201525f516020611fd75f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611fd75f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610db057610db0611dae565b80820180821115610db057610db0611dae565b5f60208284031215611ea0575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b5f5b83811015611f2d578181015183820152602001611f15565b50505f910152565b5f8151808452611f4c816020860160208601611f13565b601f01601f19169290920160200192915050565b838152826020820152606060408201525f611f7e6060830184611f35565b95945050505050565b5f60208284031215611f97575f5ffd5b8151611fa281611938565b9392505050565b5f8251611fba818460208701611f13565b9190910192915050565b602081525f610dad6020830184611f3556fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122048f1dd9615e8cd61f4161c7972336757f994c83d306a8dd2487dd9ec51c4955c64736f6c634300081e0033";
671
+ "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516120a66101215f395f8181610587015281816105c70152818161075701528181610797015261084c01526120a65ff3fe6080604052600436106100d8575f3560e01c8063078dfbe7146100dc5780631927e673146100fd57806332cd935a1461012f5780633659cfe61461014e578063477053fb1461016d5780634e71e0c81461018c5780634f1ef286146101a05780635081b67b146101b357806352d1902d146101d25780638da5cb5b146101e657806393d5972b146102115780639d9ed3cc14610230578063c4d66de81461024f578063d3118e641461026e578063d512c0611461029b578063d7f70c8f146102ae578063df0fe2eb146102cd578063e30c3978146102ec575b5f5ffd5b3480156100e7575f5ffd5b506100fb6100f6366004611958565b61030b565b005b348015610108575f5ffd5b5061011c61011736600461199e565b61040c565b6040519081526020015b60405180910390f35b34801561013a575f5ffd5b5061011c6101493660046119d8565b6104c9565b348015610159575f5ffd5b506100fb610168366004611a11565b61057d565b348015610178575f5ffd5b5061011c610187366004611a67565b610644565b348015610197575f5ffd5b506100fb6106a5565b6100fb6101ae366004611af4565b61074d565b3480156101be575f5ffd5b5061011c6101cd366004611bb5565b610806565b3480156101dd575f5ffd5b5061011c610840565b3480156101f1575f5ffd5b505f54610204906001600160a01b031681565b6040516101269190611bfd565b34801561021c575f5ffd5b5061011c61022b366004611c11565b6108ec565b34801561023b575f5ffd5b506100fb61024a366004611c5b565b610912565b34801561025a575f5ffd5b506100fb610269366004611a11565b6109d5565b348015610279575f5ffd5b5061028d610288366004611c83565b610b0d565b604051610126929190611cb4565b6100fb6102a9366004611c5b565b610bac565b3480156102b9575f5ffd5b506100fb6102c8366004611bb5565b610c67565b3480156102d8575f5ffd5b5061011c6102e7366004611ccd565b610d2f565b3480156102f7575f5ffd5b50600154610204906001600160a01b031681565b5f546001600160a01b0316331461033d5760405162461bcd60e51b815260040161033490611d28565b60405180910390fd5b81156103eb576001600160a01b0383161515806103575750805b61039b5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610334565b5f80546040516001600160a01b03808716939216915f51602061202a5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b5f5f5f6104198686610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561045a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047e9190611d73565b5050509150506104be8261049183610d7a565b61049b9190611dd5565b670de0b6b3a76400006104ae8189611dd5565b6104b89190611dd5565b90610d8b565b979650505050505050565b5f5f5f6104d68685610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610517573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053b9190611d73565b505050915050670de0b6b3a7640000806105559190611dd5565b8261055f83610d7a565b6105699089611dd5565b6105739190611dd5565b6104be9190611dec565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105c55760405162461bcd60e51b815260040161033490611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105f7610db6565b6001600160a01b03161461061d5760405162461bcd60e51b815260040161033490611e44565b61062681610dd1565b604080515f8082526020820190925261064191839190610dfa565b50565b5f61064d610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fbd915050565b905061069b6001603255565b9695505050505050565b6001546001600160a01b03163381146107005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610334565b5f80546040516001600160a01b03808516939216915f51602061202a5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107955760405162461bcd60e51b815260040161033490611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107c7610db6565b6001600160a01b0316146107ed5760405162461bcd60e51b815260040161033490611e44565b6107f682610dd1565b61080282826001610dfa565b5050565b5f61080f610f64565b61082c8585858560405180602001604052805f8152506001610fbd565b90506108386001603255565b949350505050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108da5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610334565b505f51602061200a5f395f51905f5290565b5f6108f5610f64565b61082c8585858560405180602001604052805f8152506001610fea565b5f546001600160a01b0316331461093b5760405162461bcd60e51b815260040161033490611d28565b5f546109529083906001600160a01b031683611017565b8061095b6110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f82825461098d9190611e7d565b90915550506040518181526001600160a01b038316907fea503f39efcfc64114ad09951fa9d4f7481b8d8d92b4fbccd006377b095f866d906020015b60405180910390a25050565b600154600160a81b900460ff16158080156109fb575060018054600160a01b900460ff16105b80610a225750610a0a30611100565b158015610a22575060018054600160a01b900460ff16145b610a855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610334565b6001805460ff60a01b1916600160a01b1790558015610ab2576001805460ff60a81b1916600160a81b1790555b610abb8261110f565b610ac3611159565b8015610802576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f5f610b176110dc565b6001600160a01b038086165f9081526020928352604080822087841683529093529190912054169150610b486110dc565b6001600160a01b038086165f908152602092835260408082208784168352909352919091206001015491508216610ba5576040516344d0379d60e01b81526001600160a01b03808616600483015284166024820152604401610334565b9250929050565b5f546001600160a01b03163314610bd55760405162461bcd60e51b815260040161033490611d28565b5f54610bec9083906001600160a01b031683611184565b80610bf56110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f828254610c279190611e90565b90915550506040518181526001600160a01b038316907f6189b14a5c1490dbeb86a9da875768d98dc98fb398d6b29dd475defaa1ec4ba3906020016109c9565b5f546001600160a01b03163314610c905760405162461bcd60e51b815260040161033490611d28565b6040518060400160405280836001600160a01b0316815260200182815250610cb66110dc565b6001600160a01b038681165f81815260209384526040808220898516808452908652818320875181546001600160a01b031916908716178155969095015160019096019590955593519186169390917ff51f0fffc8121ee3747e0536c487d894894cdba960ccfb4ab385a88d51b16fed9190a450505050565b5f610d38610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fea915050565b5f5f821215610d87575f5ffd5b5090565b5f816001610d998286611e90565b610da39190611e7d565b610dad9190611dec565b90505b92915050565b5f51602061200a5f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146106415760405162461bcd60e51b815260040161033490611d28565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e2d57610407836111eb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e87575060408051601f3d908101601f19168201909252610e8491810190611ea3565b60015b610eea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610334565b5f51602061200a5f395f51905f528114610f585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610334565b50610407838383611284565b600260325403610fb65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610334565b6002603255565b5f610fc986868661040c565b90508115610fdc57610fdc863383611184565b61069b8787838888886112a8565b5f610ff68686866104c9565b9050811561100957611009863387611184565b61069b8787878785886112a8565b805f0361102357505050565b6001600160a01b0383166110c8575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461107a576040519150601f19603f3d011682016040523d82523d5f602084013e61107f565b606091505b50509050806110c25760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610334565b50505050565b6104076001600160a01b03841683836114ed565b7fbbf04d9aae855c6bd76c8f4ba7a918994ad0d002f537323e58c83cbfe524900090565b6001600160a01b03163b151590565b600154600160a81b900460ff166111385760405162461bcd60e51b815260040161033490611eba565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff166111825760405162461bcd60e51b815260040161033490611eba565b565b6001600160a01b0383166111d0578034146104075760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610334565b8015610407576104076001600160a01b038416833084611543565b6111f481611100565b6112565760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610334565b5f51602061200a5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61128d8361157b565b5f825111806112995750805b15610407576110c283836115ba565b816112b16110dc565b6001600160a01b0385165f9081526001919091016020526040902054101561131e57826112dc6110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f2054836040516306aa683960e31b815260040161033493929190611f05565b611329838784611017565b816113326110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f205f8282546113649190611e7d565b90915550508051156113c55760405163491dc51560e11b8152339063923b8a2a9061139790859088908690600401611f73565b5f604051808303815f87803b1580156113ae575f5ffd5b505af11580156113c0573d5f5f3e3d5ffd5b505050505b836113ce6110dc565b6001015f876001600160a01b03166001600160a01b031681526020019081526020015f205f8282546114009190611e90565b9091555061140e90506110dc565b6001600160a01b0386165f9081526001919091016020526040902054611433866115df565b101561148c5784611443866115df565b61144b6110dc565b6001015f886001600160a01b03166001600160a01b031681526020019081526020015f205460405163bb7de36360e01b815260040161033493929190611f05565b604080516001600160a01b03878116825260208201879052858116828401526060820185905291519188169133917f6ac6c02c73a1841cb185dff1fe5282ff4499ce709efd387f7fc6de10a5124320919081900360800190a3505050505050565b6104078363a9059cbb60e01b848460405160240161150c929190611cb4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115ea565b6040516001600160a01b03808516602483015283166044820152606481018290526110c29085906323b872dd60e01b9060840161150c565b611584816111eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610dad838360405180606001604052806027815260200161204a602791396116bd565b5f610db03083611727565b5f61163e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117b69092919063ffffffff16565b905080515f148061165e57508080602001905181019061165e9190611f9a565b6104075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610334565b60605f5f856001600160a01b0316856040516116d99190611fbc565b5f60405180830381855af49150503d805f8114611711576040519150601f19603f3d011682016040523d82523d5f602084013e611716565b606091505b509150915061069b868383876117c4565b5f6001600160a01b038216156117a7576040516370a0823160e01b81526001600160a01b038316906370a0823190611763908690600401611bfd565b602060405180830381865afa15801561177e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a29190611ea3565b610dad565b50506001600160a01b03163190565b606061083884845f8561183a565b606083156118305782515f03611829576117dd85611100565b6118295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610334565b5081610838565b6108388383611906565b60608247101561189b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610334565b5f5f866001600160a01b031685876040516118b69190611fbc565b5f6040518083038185875af1925050503d805f81146118f0576040519150601f19603f3d011682016040523d82523d5f602084013e6118f5565b606091505b50915091506104be878383876117c4565b8151156119165781518083602001fd5b8060405162461bcd60e51b81526004016103349190611fd7565b80356001600160a01b0381168114611946575f5ffd5b919050565b8015158114610641575f5ffd5b5f5f5f6060848603121561196a575f5ffd5b61197384611930565b925060208401356119838161194b565b915060408401356119938161194b565b809150509250925092565b5f5f5f606084860312156119b0575f5ffd5b6119b984611930565b92506119c760208501611930565b929592945050506040919091013590565b5f5f5f606084860312156119ea575f5ffd5b6119f384611930565b925060208401359150611a0860408501611930565b90509250925092565b5f60208284031215611a21575f5ffd5b610dad82611930565b5f5f83601f840112611a3a575f5ffd5b5081356001600160401b03811115611a50575f5ffd5b602083019150836020828501011115610ba5575f5ffd5b5f5f5f5f5f5f60a08789031215611a7c575f5ffd5b611a8587611930565b9550611a9360208801611930565b9450611aa160408801611930565b93506060870135925060808701356001600160401b03811115611ac2575f5ffd5b611ace89828a01611a2a565b979a9699509497509295939492505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611b05575f5ffd5b611b0e83611930565b915060208301356001600160401b03811115611b28575f5ffd5b8301601f81018513611b38575f5ffd5b80356001600160401b03811115611b5157611b51611ae0565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611b7f57611b7f611ae0565b604052818152828201602001871015611b96575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60808587031215611bc8575f5ffd5b611bd185611930565b9350611bdf60208601611930565b9250611bed60408601611930565b9396929550929360600135925050565b6001600160a01b0391909116815260200190565b5f5f5f5f60808587031215611c24575f5ffd5b611c2d85611930565b9350611c3b60208601611930565b925060408501359150611c5060608601611930565b905092959194509250565b5f5f60408385031215611c6c575f5ffd5b611c7583611930565b946020939093013593505050565b5f5f60408385031215611c94575f5ffd5b611c9d83611930565b9150611cab60208401611930565b90509250929050565b6001600160a01b03929092168252602082015260400190565b5f5f5f5f5f5f60a08789031215611ce2575f5ffd5b611ceb87611930565b9550611cf960208801611930565b945060408701359350611d0e60608801611930565b925060808701356001600160401b03811115611ac2575f5ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160501b0381168114611946575f5ffd5b5f5f5f5f5f60a08688031215611d87575f5ffd5b611d9086611d5d565b60208701516040880151606089015192975090955093509150611db560808701611d5d565b90509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610db057610db0611dc1565b5f82611e0657634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602c908201525f516020611fea5f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611fea5f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610db057610db0611dc1565b80820180821115610db057610db0611dc1565b5f60208284031215611eb3575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b5f5b83811015611f40578181015183820152602001611f28565b50505f910152565b5f8151808452611f5f816020860160208601611f26565b601f01601f19169290920160200192915050565b838152826020820152606060408201525f611f916060830184611f48565b95945050505050565b5f60208284031215611faa575f5ffd5b8151611fb58161194b565b9392505050565b5f8251611fcd818460208701611f26565b9190910192915050565b602081525f610dad6020830184611f4856fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220147212d0d0cac608e1d42fc7d391b94f6ecfe5bf0bb9a57fa8b7377262abadb164736f6c634300081e0033";
672
672
 
673
673
  type FixedPricePTAMMConstructorParams =
674
674
  | [signer?: Signer]