@pendle/core-v2 2.3.2-mainnet → 2.4.0-mainnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  3. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  6. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  7. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  8. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  9. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  10. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  11. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  12. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  13. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  14. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  15. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  16. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  17. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  18. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  19. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  20. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  21. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  22. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  23. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +1 -1
  24. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
  25. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  26. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +1 -1
  27. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +1 -1
  28. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +1 -1
  29. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  30. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +1 -1
  31. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +1 -1
  32. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  33. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +1 -1
  34. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +1 -1
  35. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  36. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +1 -1
  37. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +1 -1
  38. package/deployments/1-core.json +1 -1
  39. package/deployments/1-markets/STARGATE-USDT-27JUNE2024-ETHEREUM.json +10 -0
  40. package/deployments/1-markets/STETH-26DEC2024.json +10 -0
  41. package/deployments/42161-core.json +1 -1
  42. package/deployments/42161-markets/STARGATE-USDT-27JUNE2024-ARBITRUM.json +10 -0
  43. package/package.json +1 -1
  44. package/typechain-types/IChainlinkAggregator.ts +246 -0
  45. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  46. package/typechain-types/PendleRouterHelper.ts +647 -0
  47. package/typechain-types/PtFraxUsdcOracle.ts +176 -0
  48. package/typechain-types/PtStETHOracle.ts +163 -0
  49. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  50. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  51. package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
  52. package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
  53. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +226 -0
  54. package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
  55. package/typechain-types/hardhat.d.ts +18 -0
  56. package/typechain-types/index.ts +4 -0
@@ -73,7 +73,7 @@ const _abi = [
73
73
  ];
74
74
 
75
75
  const _bytecode =
76
- "0x608060405234801561001057600080fd5b50612dce806100206000396000f3fe60806040526004361061001e5760003560e01c80632bdb823c14610023575b600080fd5b610036610031366004611309565b610038565b005b6100518361004c6040840160208501611368565b610110565b61010a6100646080830160608401611393565b6100af5761007560408301836113b0565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506100d292505050565b6100d26100bf60208401846113fd565b6100cc60408501856113b0565b866101d4565b6001600160a01b038516156100e85760006100ea565b835b6100fa6040850160208601611368565b6001600160a01b03169190610235565b50505050565b6001600160a01b038216610122575050565b61013460026001600160601b0361144a565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa15801561018d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b1919061147d565b10156101d0576101c382826000610265565b6101d08282600019610265565b5050565b606060018560038111156101ea576101ea611496565b03610201576101fa848484610374565b905061022d565b600285600381111561021557610215611496565b03610225576101fa848484610605565b61022d6114ac565b949350505050565b606061025b848484604051806060016040528060298152602001612d7060299139610810565b90505b9392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291516000928392908716916102c191906114e6565b6000604051808303816000865af19150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b509150915081801561032d57508051158061032d57508080602001905181019061032d9190611512565b61036d5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064015b60405180910390fd5b5050505050565b60606000610385600482868861152f565b61038e91611559565b9050600061039d600486611589565b6001600160401b038111156103b4576103b461159c565b6040519080825280601f01601f1916602001820160405280156103de576020820181803683370190505b50905060005b6103ef600487611589565b8110156104555786866104038360046115b2565b818110610412576104126115c5565b9050013560f81c60f81b82828151811061042e5761042e6115c5565b60200101906001600160f81b031916908160001a90535061044e816115db565b90506103e4565b50631de02f1760e01b6001600160e01b031983160161050c5760008180602001905181019061048491906119d2565b90506104ad81606001518260400151876104a8856060015161012001516020610941565b61094d565b8260600183604001829052829052505082816040516024016104cf9190611c28565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152935061025e92505050565b63750fcc0560e01b6001600160e01b03198316016105b1576000806000808480602001905181019061053e9190611ca9565b935093509350935061055383838a600161094d565b60405191945092508690610571908690869086908690602401611d44565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152965061025e95505050505050565b60405162461bcd60e51b8152602060048201526024808201527f496e7075745363616c696e6748656c7065723a20496e76616c69642073656c6560448201526331ba37b960e11b6064820152608401610364565b60606000610616600482868861152f565b61061f91611559565b90506000610630856004818961152f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293505050506001600160e01b0319821663086fe1cb60e31b016106c957600080600080848060200190518101906106999190611d8e565b93509350935093506106ac82848a6109bb565b915087925085848484846040516024016105719493929190611de6565b63ed55c35160e01b6001600160e01b031983160161073b57600080600080848060200190518101906106fb9190611e13565b93509350935093506107168360a0015184608001518a6109bb565b60a0840152608083018890526040518690610571908690869086908690602401611efe565b6308723dad60e01b6001600160e01b03198316016107e45760008060008060008580602001905181019061076f9190611f83565b9450945094509450945061078482848b6109bb565b91508892508685858585856040516024016107a3959493929190611ffb565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152975061025e9650505050505050565b60405163a7dd6a9560e01b8152600160048201526001600160e01b031983166024820152604401610364565b6060824710156108715760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610364565b6001600160a01b0385163b6108c85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610364565b600080866001600160a01b031685876040516108e491906114e6565b60006040518083038185875af1925050503d8060008114610921576040519150601f19603f3d011682016040523d82523d6000602084013e610926565b606091505b50915091506109368282866109d2565b979650505050505050565b81811615155b92915050565b61095561127c565b60e085015160609084810361097057868692509250506109b2565b831561099657610981878287610a0b565b61098c878388610ace565b92509250506109b2565b6109a1878287610a0b565b6109ac878388610b87565b92509250505b94509492505050565b6000826109c88386612035565b61025b919061204c565b606083156109e157508161025e565b8251156109f15782518084602001fd5b8160405162461bcd60e51b81526004016103649190612060565b610a1361127c565b8282856101000151610a259190612035565b610a2f919061204c565b6101008501819052600003610a475760016101008501525b60e0840182905260005b846040015151811015610ac557838386606001518381518110610a7657610a766115c5565b6020026020010151610a889190612035565b610a92919061204c565b85606001518281518110610aa857610aa86115c5565b602090810291909101015280610abd816115db565b915050610a51565b50929392505050565b6060600084806020019051810190610ae691906120f2565b905060005b815151811015610b5c57848483602001518381518110610b0d57610b0d6115c5565b6020026020010151610b1f9190612035565b610b29919061204c565b82602001518281518110610b3f57610b3f6115c5565b602090810291909101015280610b54816115db565b915050610aeb565b5080604051602001610b6e91906121b9565b6040516020818303038152906040529150509392505050565b6060600084806020019051810190610b9f91906123f2565b905083838260600151610bb29190612035565b610bbc919061204c565b606082015260005b815151811015610eb257600082600001518281518110610be657610be66115c5565b6020026020010151600081518110610c0057610c006115c5565b60209081029190910181015190810151909150630be1a7a360e21b6001600160e01b0319821601610c3f578151610c38908888610ec4565b8252610e9d565b6301b966ef60e71b6001600160e01b0319821601610c64578151610c38908888610f0f565b633409dd2d60e01b6001600160e01b0319821601610c89578151610c38908888610f5a565b63b6bb37eb60e01b6001600160e01b0319821601610cae578151610c38908888610ec4565b63617556cb60e01b6001600160e01b0319821601610cd3578151610c38908888610fa5565b6308c49cdf60e11b6001600160e01b0319821601610d035760405162461bcd60e51b8152600401610364906124c9565b635a2f8d7160e01b6001600160e01b0319821601610d28578151610c38908888611058565b6375a256f160e01b6001600160e01b0319821601610d4d578151610c389088886110ed565b635f981db560e01b6001600160e01b0319821601610d72578151610c38908888610ec4565b6352dd9e0160e01b6001600160e01b0319821601610d97578151610c38908888611138565b6360fabb9d60e01b6001600160e01b0319821601610dbc578151610c389088886111cd565b630590bce960e11b6001600160e01b0319821601610dec5760405162461bcd60e51b8152600401610364906124c9565b63c4ab6f1f60e01b6001600160e01b0319821601610e11578151610c38908888610ec4565b63c5cd525560e01b6001600160e01b0319821601610e415760405162461bcd60e51b8152600401610364906124c9565b60405162461bcd60e51b815260206004820152602b60248201527f4167677265676174696f6e4578656375746f723a204465782074797065206e6f60448201526a1d081cdd5c1c1bdc9d195960aa1b6064820152608401610364565b50508080610eaa906115db565b915050610bc4565b5080604051602001610b6e9190612513565b6060600084806020019051810190610edc9190612661565b905083838260800151610eef9190612035565b610ef9919061204c565b6080820152604051610b6e908290602001612709565b6060600084806020019051810190610f2791906127bd565b905083838260a00151610f3a9190612035565b610f44919061204c565b60a0820152604051610b6e908290602001612865565b6060600084806020019051810190610f729190612921565b905083838260a00151610f859190612035565b610f8f919061204c565b60a0820152604051610b6e9082906020016129be565b6060600084806020019051810190610fbd9190612a58565b905083838260800151610fd09190612035565b610fda919061204c565b6080820152604051610b6e90829060200160006101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401526080840151608084015260a084015160a08401528060c08501511660c08401525060e0830151151560e083015292915050565b60606000848060200190518101906110709190612af2565b9050838382608001516110839190612035565b61108d919061204c565b6080820152604051610b6e90829060200181516001600160a01b03908116825260208084015190830152604080840151821690830152606080840151909116908201526080808301519082015260a0918201519181019190915260c00190565b60606000848060200190518101906111059190612b66565b9050838382608001516111189190612035565b611122919061204c565b6080820152604051610b6e908290602001612bf0565b60606000848060200190518101906111509190612c72565b9050838382606001516111639190612035565b61116d919061204c565b6060820152604051610b6e90829060200181516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151908301526080808401519083015260a092830151169181019190915260c00190565b60606000848060200190518101906111e59190612cef565b9050838382608001516111f89190612035565b611202919061204c565b6080820152604051610b6e90829060200160006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151151560e083015292915050565b60405180610160016040528060006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160608152602001606081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001606081525090565b6001600160a01b038116811461130657600080fd5b50565b60008060006060848603121561131e57600080fd5b8335611329816112f1565b92506020840135915060408401356001600160401b0381111561134b57600080fd5b84016080818703121561135d57600080fd5b809150509250925092565b60006020828403121561137a57600080fd5b813561025e816112f1565b801515811461130657600080fd5b6000602082840312156113a557600080fd5b813561025e81611385565b6000808335601e198436030181126113c757600080fd5b8301803591506001600160401b038211156113e157600080fd5b6020019150368190038213156113f657600080fd5b9250929050565b60006020828403121561140f57600080fd5b81356004811061025e57600080fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160601b03838116806114645761146461141e565b92169190910492915050565b6001600160a01b03169052565b60006020828403121561148f57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60005b838110156114dd5781810151838201526020016114c5565b50506000910152565b600082516114f88184602087016114c2565b9190910192915050565b805161150d81611385565b919050565b60006020828403121561152457600080fd5b815161025e81611385565b6000808585111561153f57600080fd5b8386111561154c57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156115815780818660040360031b1b83161692505b505092915050565b8181038181111561094757610947611434565b634e487b7160e01b600052604160045260246000fd5b8082018082111561094757610947611434565b634e487b7160e01b600052603260045260246000fd5b6000600182016115ed576115ed611434565b5060010190565b60405161016081016001600160401b03811182821017156116175761161761159c565b60405290565b60405160a081016001600160401b03811182821017156116175761161761159c565b60405160e081016001600160401b03811182821017156116175761161761159c565b604080519081016001600160401b03811182821017156116175761161761159c565b60405161012081016001600160401b03811182821017156116175761161761159c565b60405161014081016001600160401b03811182821017156116175761161761159c565b60405161010081016001600160401b03811182821017156116175761161761159c565b60405160c081016001600160401b03811182821017156116175761161761159c565b604051601f8201601f191681016001600160401b03811182821017156117365761173661159c565b604052919050565b805161150d816112f1565b600082601f83011261175a57600080fd5b81516001600160401b038111156117735761177361159c565b611786601f8201601f191660200161170e565b81815284602083860101111561179b57600080fd5b61022d8260208301602087016114c2565b60006001600160401b038211156117c5576117c561159c565b5060051b60200190565b600082601f8301126117e057600080fd5b815160206117f56117f0836117ac565b61170e565b82815260059290921b8401810191818101908684111561181457600080fd5b8286015b8481101561183857805161182b816112f1565b8352918301918301611818565b509695505050505050565b600082601f83011261185457600080fd5b815160206118646117f0836117ac565b82815260059290921b8401810191818101908684111561188357600080fd5b8286015b848110156118385780518352918301918301611887565b600061016082840312156118b157600080fd5b6118b96115f4565b90506118c48261173e565b81526118d26020830161173e565b602082015260408201516001600160401b03808211156118f157600080fd5b6118fd858386016117cf565b6040840152606084015191508082111561191657600080fd5b61192285838601611843565b6060840152608084015191508082111561193b57600080fd5b611947858386016117cf565b608084015260a084015191508082111561196057600080fd5b61196c85838601611843565b60a084015261197d60c0850161173e565b60c084015260e084810151908401526101008085015190840152610120808501519084015261014080850151909250818111156119b957600080fd5b6119c586828701611749565b8385015250505092915050565b6000602082840312156119e457600080fd5b81516001600160401b03808211156119fb57600080fd5b9083019060a08286031215611a0f57600080fd5b611a1761161d565b611a208361173e565b8152611a2e6020840161173e565b6020820152604083015182811115611a4557600080fd5b611a5187828601611749565b604083015250606083015182811115611a6957600080fd5b611a758782860161189e565b606083015250608083015182811115611a8d57600080fd5b611a9987828601611749565b60808301525095945050505050565b60008151808452611ac08160208601602086016114c2565b601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b83811015611b0d5781516001600160a01b031687529582019590820190600101611ae8565b509495945050505050565b600081518084526020808501945080840160005b83811015611b0d57815187529582019590820190600101611b2c565b6000610160611b58848451611470565b6020830151611b6a6020860182611470565b506040830151816040860152611b8282860182611ad4565b91505060608301518482036060860152611b9c8282611b18565b91505060808301518482036080860152611bb68282611ad4565b91505060a083015184820360a0860152611bd08282611b18565b91505060c0830151611be560c0860182611470565b5060e08381015190850152610100808401519085015261012080840151908501526101408084015185830382870152611c1e8382611aa8565b9695505050505050565b60208152600060018060a01b0380845116602084015280602085015116604084015250604083015160a06060840152611c6460c0840182611aa8565b90506060840151601f1980858403016080860152611c828383611b48565b925060808601519150808584030160a086015250611ca08282611aa8565b95945050505050565b60008060008060808587031215611cbf57600080fd5b8451611cca816112f1565b60208601519094506001600160401b0380821115611ce757600080fd5b611cf38883890161189e565b94506040870151915080821115611d0957600080fd5b611d1588838901611749565b93506060870151915080821115611d2b57600080fd5b50611d3887828801611749565b91505092959194509250565b6001600160a01b0385168152608060208201819052600090611d6890830186611b48565b8281036040840152611d7a8186611aa8565b905082810360608401526109368185611aa8565b60008060008060808587031215611da457600080fd5b8451611daf816112f1565b60208601516040870151606088015192965090945092506001600160401b03811115611dda57600080fd5b611d3887828801611843565b60018060a01b0385168152836020820152826040820152608060608201526000611c1e6080830184611b18565b600080600080848603610140811215611e2b57600080fd5b8551611e36816112f1565b945060e0601f1982011215611e4a57600080fd5b50611e5361163f565b6020860151611e61816112f1565b81526040860151611e71816112f1565b60208201526060860151611e84816112f1565b60408201526080860151611e97816112f1565b606082015260a086810151608083015260c0808801519183019190915260e0870151908201526101008601519093506001600160401b0380821115611edb57600080fd5b611ee788838901611749565b9350610120870151915080821115611d2b57600080fd5b600061014060018060a01b03808816845280875116602085015280602088015116604085015280604088015116606085015280606088015116608085015250608086015160a084015260a086015160c084015260c086015160e084015280610100840152611f6e81840186611aa8565b90508281036101208401526109368185611aa8565b600080600080600060a08688031215611f9b57600080fd5b8551611fa6816112f1565b6020870151909550611fb7816112f1565b60408701516060880151608089015192965090945092506001600160401b03811115611fe257600080fd5b611fee88828901611843565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061093690830184611b18565b808202811582820484141761094757610947611434565b60008261205b5761205b61141e565b500490565b60208152600061025e6020830184611aa8565b600082601f83011261208457600080fd5b815160206120946117f0836117ac565b82815260059290921b840181019181810190868411156120b357600080fd5b8286015b848110156118385780516001600160401b038111156120d65760008081fd5b6120e48986838b0101611749565b8452509183019183016120b7565b60006020828403121561210457600080fd5b81516001600160401b038082111561211b57600080fd5b9083019060a0828603121561212f57600080fd5b61213761161d565b82518281111561214657600080fd5b612152878286016117cf565b82525060208301518281111561216757600080fd5b61217387828601611843565b60208301525060408301518281111561218b57600080fd5b61219787828601612073565b60408301525060608301516060820152608083015182811115611a8d57600080fd5b60006020808352835160a0828501526121d560c0850182611ad4565b905081850151601f19808684030160408701526121f28383611b18565b60408801518782038301606089015280518083529194508501925084840190600581901b8501860160005b828110156122495784878303018452612237828751611aa8565b9588019593880193915060010161221d565b5060608a015160808a015260808a01519650838982030160a08a015261226f8188611aa8565b9a9950505050505050505050565b600082601f83011261228e57600080fd5b815161229c6117f0826117ac565b808282526020820191508560208460051b87010111156122bb57600080fd5b602085015b60208460051b8701018110156123e85780516001600160401b038111156122e657600080fd5b8601603f810188136122f757600080fd5b60208101516123086117f0826117ac565b808282526020820191508a60408460051b860101111561232757600080fd5b604084015b60408460051b8601018110156123d25780516001600160401b0381111561235257600080fd5b60408682018e03603f1901121561236857600080fd5b612370611661565b868201604001516001600160401b0381111561238b57600080fd5b61239c8f604083868c010101611749565b82525090860160600151906001600160e01b0319821682146123bd57600080fd5b6020818101929092528452928301920161232c565b50865250506020938401939190910190506122c0565b5095945050505050565b60006020828403121561240457600080fd5b81516001600160401b038082111561241b57600080fd5b9083019060e0828603121561242f57600080fd5b61243761163f565b82518281111561244657600080fd5b6124528782860161227d565b8252506124616020840161173e565b60208201526124726040840161173e565b60408201526060830151606082015261248d6080840161173e565b608082015260a083015160a082015260c0830151828111156124ae57600080fd5b6124ba87828601611749565b60c08301525095945050505050565b6020808252602a908201527f496e7075745363616c696e6748656c7065723a2043616e206e6f74207363616c6040820152690652052465120737761760b41b606082015260800190565b6020808252825160e0838301528051610100840181905260009291600582811b860161012090810193928501929087019186805b838110156125db5789870361011f1901855285518051808952908901908989019080861b8a018b01855b828110156125c557601f198c830301845284516040815181855261259782860182611aa8565b91505063ffffffff60e01b8f830151168f85015280935050508c850194508c84019350600181019050612571565b5099505050958801955093870193600101612547565b5050505050508185015191506125f46040850183611470565b604085015191506126086060850183611470565b606085015160808501526080850151915061262660a0850183611470565b60a085015160c085015260c08501519150601f198482030160e0850152611ca08183611aa8565b805163ffffffff8116811461150d57600080fd5b6000610120828403121561267457600080fd5b61267c611683565b6126858361173e565b81526126936020840161173e565b60208201526126a46040840161173e565b60408201526126b56060840161173e565b60608201526080830151608082015260a083015160a08201526126da60c0840161264d565b60c08201526126eb60e0840161264d565b60e08201526101006126fe81850161264d565b908201529392505050565b81516001600160a01b0390811682526020808401519091169082015260408083015161012083019161273d90840182611470565b5060608301516127506060840182611470565b506080830151608083015260a083015160a083015260c083015161277c60c084018263ffffffff169052565b5060e083015161279460e084018263ffffffff169052565b506101008381015163ffffffff811684830152611581565b805160ff8116811461150d57600080fd5b600061014082840312156127d057600080fd5b6127d86116a6565b6127e18361173e565b81526127ef6020840161173e565b60208201526128006040840161173e565b6040820152612811606084016127ac565b6060820152612822608084016127ac565b608082015260a083015160a082015260c083015160c082015260e083015160e082015261010061285381850161173e565b908201526101206126fe848201611502565b600061014082019050612879828451611470565b602083015161288b6020840182611470565b50604083015161289e6040840182611470565b5060608301516128b3606084018260ff169052565b5060808301516128c8608084018260ff169052565b5060a083015160a083015260c083015160c083015260e083015160e0830152610100808401516128fa82850182611470565b50506101208381015180151584830152611581565b8051600f81900b811461150d57600080fd5b6000610120828403121561293457600080fd5b61293c611683565b6129458361173e565b81526129536020840161173e565b60208201526129646040840161173e565b60408201526129756060840161290f565b60608201526129866080840161290f565b608082015260a083015160a082015260c083015160c08201526129ab60e08401611502565b60e08201526101006126fe818501611502565b81516001600160a01b039081168252602080840151909116908201526040808301516101208301916129f290840182611470565b506060830151612a076060840182600f0b9052565b506080830151612a1c6080840182600f0b9052565b5060a083015160a083015260c083015160c083015260e0830151612a4460e084018215159052565b506101008381015180151584830152611581565b60006101008284031215612a6b57600080fd5b612a736116c9565b8251612a7e816112f1565b81526020830151612a8e816112f1565b6020820152612a9f6040840161173e565b6040820152612ab06060840161173e565b60608201526080830151608082015260a083015160a0820152612ad560c0840161173e565b60c0820152612ae660e08401611502565b60e08201529392505050565b600060c08284031215612b0457600080fd5b612b0c6116ec565b8251612b17816112f1565b8152602083810151908201526040830151612b31816112f1565b60408201526060830151612b44816112f1565b60608201526080838101519082015260a0928301519281019290925250919050565b60006101208284031215612b7957600080fd5b612b81611683565b612b8a8361173e565b8152612b986020840161173e565b6020820152612ba96040840161173e565b6040820152612bba6060840161173e565b60608201526080830151608082015260a083015160a0820152612bdf60c0840161173e565b60c08201526129ab60e08401611502565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191612c2490840182611470565b506060830151612c376060840182611470565b506080830151608083015260a083015160a083015260c0830151612c5e60c0840182611470565b5060e0830151612a4460e084018215159052565b600060c08284031215612c8457600080fd5b612c8c6116ec565b8251612c97816112f1565b81526020830151612ca7816112f1565b60208201526040830151612cba816112f1565b80604083015250606083015160608201526080830151608082015260a0830151612ce3816112f1565b60a08201529392505050565b60006101008284031215612d0257600080fd5b612d0a6116c9565b8251612d15816112f1565b81526020830151612d25816112f1565b6020820152612d366040840161173e565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152612ae660e0840161150256fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220a717afcba22867dca32ee7355a97b73febe95d6e29e23e6d09037bca2f20144564736f6c63430008110033";
76
+ "0x608060405234801561001057600080fd5b50613050806100206000396000f3fe60806040526004361061001e5760003560e01c80632bdb823c14610023575b600080fd5b6100366100313660046113f7565b610038565b005b6100518361004c6040840160208501611456565b610110565b61010a6100646080830160608401611481565b6100af57610075604083018361149e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506100d292505050565b6100d26100bf60208401846114eb565b6100cc604085018561149e565b866101d4565b6001600160a01b038516156100e85760006100ea565b835b6100fa6040850160208601611456565b6001600160a01b03169190610235565b50505050565b6001600160a01b038216610122575050565b61013460026001600160601b03611538565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa15801561018d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b1919061156b565b10156101d0576101c382826000610265565b6101d08282600019610265565b5050565b606060018560038111156101ea576101ea611584565b03610201576101fa848484610374565b905061022d565b600285600381111561021557610215611584565b03610225576101fa848484610548565b61022d61159a565b949350505050565b606061025b848484604051806060016040528060298152602001612ff260299139610793565b90505b9392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291516000928392908716916102c191906115d4565b6000604051808303816000865af19150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b509150915081801561032d57508051158061032d57508080602001905181019061032d91906115fb565b61036d5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064015b60405180910390fd5b5050505050565b606060006103856004828688611618565b61038e91611642565b9050631de02f1760e01b6001600160e01b031982160161044b5760006103b78560048189611618565b8101906103c49190611a4d565b90506103ed81606001518260400151866103e88560600151610120015160206108c4565b6108d0565b82606001836040018290528290525050818160405160240161040f9190611c98565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152925061025e915050565b63750fcc0560e01b6001600160e01b03198216016104f4576000808080610475886004818c611618565b8101906104829190611d19565b935093509350935061049783838960016108d0565b604051919450925085906104b5908690869086908690602401611db3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152955061025e945050505050565b60405162461bcd60e51b8152602060048201526024808201527f496e7075745363616c696e6748656c7065723a20496e76616c69642073656c6560448201526331ba37b960e11b6064820152608401610364565b606060006105596004828688611618565b61056291611642565b905060006105738560048189611618565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293505050506001600160e01b0319821663086fe1cb60e31b0161064c57600080600080848060200190518101906105dc9190611e58565b93509350935093506105ef82848a61093e565b9150879250858484848460405160240161060c9493929190611eb0565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152965061025e95505050505050565b63ed55c35160e01b6001600160e01b03198316016106be576000806000808480602001905181019061067e9190611f22565b93509350935093506106998360a0015184608001518a61093e565b60a084015260808301889052604051869061060c90869086908690869060240161201a565b6308723dad60e01b6001600160e01b0319831601610767576000806000806000858060200190518101906106f2919061209f565b9450945094509450945061070782848b61093e565b9150889250868585858585604051602401610726959493929190612117565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152975061025e9650505050505050565b60405163a7dd6a9560e01b8152600160048201526001600160e01b031983166024820152604401610364565b6060824710156107f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610364565b6001600160a01b0385163b61084b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610364565b600080866001600160a01b0316858760405161086791906115d4565b60006040518083038185875af1925050503d80600081146108a4576040519150601f19603f3d011682016040523d82523d6000602084013e6108a9565b606091505b50915091506108b9828286610955565b979650505050505050565b81811615155b92915050565b6108d861135a565b60e08501516060908481036108f35786869250925050610935565b83156109195761090487828761098e565b61090f878388610aed565b9250925050610935565b61092487828761098e565b61092f878388610c1a565b92509250505b94509492505050565b60008261094b8386612151565b61025b9190612168565b6060831561096457508161025e565b8251156109745782518084602001fd5b8160405162461bcd60e51b8152600401610364919061217c565b61099661135a565b610100840151836109a78483612151565b6109b19190612168565b61010086015280158015906109c95750610100850151155b156109d75760016101008601525b60e085018390526040850151516000036109f4578491505061025e565b6000805b866040015151811015610ae2576001876040015151610a17919061218f565b8103610a4e57610a27828661218f565b87606001518281518110610a3d57610a3d6121a2565b602002602001018181525050610aa5565b858588606001518381518110610a6657610a666121a2565b6020026020010151610a789190612151565b610a829190612168565b87606001518281518110610a9857610a986121a2565b6020026020010181815250505b86606001518181518110610abb57610abb6121a2565b602002602001015182610ace91906121b8565b915080610ada816121cb565b9150506109f8565b509495945050505050565b6060600084806020019051810190610b0591906122d2565b8051519091506000805b82811015610bed57610b2260018461218f565b8103610b5957610b32828761218f565b84602001518281518110610b4857610b486121a2565b602002602001018181525050610bb0565b868685602001518381518110610b7157610b716121a2565b6020026020010151610b839190612151565b610b8d9190612168565b84602001518281518110610ba357610ba36121a2565b6020026020010181815250505b83602001518181518110610bc657610bc66121a2565b602002602001015182610bd991906121b8565b915080610be5816121cb565b915050610b0f565b5082604051602001610bff91906123a5565b60405160208183030381529060405293505050509392505050565b6060600084806020019051810190610c3291906125de565b905083838260600151610c459190612151565b610c4f9190612168565b606082015260005b815151811015610f1557600082600001518281518110610c7957610c796121a2565b6020026020010151600081518110610c9357610c936121a2565b60209081029190910181015190810151909150630be1a7a360e21b6001600160e01b0319821601610cd2578151610ccb908888610f40565b8252610f00565b6301b966ef60e71b6001600160e01b0319821601610cf7578151610ccb908888610f8b565b633409dd2d60e01b6001600160e01b0319821601610d1c578151610ccb908888610fd6565b63b6bb37eb60e01b6001600160e01b0319821601610d41578151610ccb908888610f40565b63617556cb60e01b6001600160e01b0319821601610d66578151610ccb908888611021565b6308c49cdf60e11b6001600160e01b0319821601610d965760405162461bcd60e51b8152600401610364906126b5565b635a2f8d7160e01b6001600160e01b0319821601610dbb578151610ccb9088886110d4565b6375a256f160e01b6001600160e01b0319821601610de0578151610ccb908888611169565b63a7c1a92960e01b6001600160e01b0319821601610e05578151610ccb9088886111b4565b6360fabb9d60e01b6001600160e01b0319821601610e2a578151610ccb908888611220565b63873c52e160e01b6001600160e01b0319821601610e4f578151610ccb9088886112cf565b630590bce960e11b6001600160e01b0319821601610e7f5760405162461bcd60e51b8152600401610364906126b5565b6310262a3d60e01b6001600160e01b0319821601610ea4578151610ccb908888610f40565b60405162461bcd60e51b815260206004820152602b60248201527f4167677265676174696f6e4578656375746f723a204465782074797065206e6f60448201526a1d081cdd5c1c1bdc9d195960aa1b6064820152608401610364565b50508080610f0d906121cb565b915050610c57565b5080604051602001610f2791906126ff565b6040516020818303038152906040529150509392505050565b6060600084806020019051810190610f58919061284d565b905083838260800151610f6b9190612151565b610f759190612168565b6080820152604051610f279082906020016128f5565b6060600084806020019051810190610fa391906129a9565b905083838260a00151610fb69190612151565b610fc09190612168565b60a0820152604051610f27908290602001612a51565b6060600084806020019051810190610fee9190612b0d565b905083838260a001516110019190612151565b61100b9190612168565b60a0820152604051610f27908290602001612baa565b60606000848060200190518101906110399190612c44565b90508383826080015161104c9190612151565b6110569190612168565b6080820152604051610f2790829060200160006101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401526080840151608084015260a084015160a08401528060c08501511660c08401525060e0830151151560e083015292915050565b60606000848060200190518101906110ec9190612cde565b9050838382608001516110ff9190612151565b6111099190612168565b6080820152604051610f2790829060200181516001600160a01b03908116825260208084015190830152604080840151821690830152606080840151909116908201526080808301519082015260a0918201519181019190915260c00190565b60606000848060200190518101906111819190612d6f565b9050838382608001516111949190612151565b61119e9190612168565b6080820152604051610f27908290602001612df9565b60606000848060200190518101906111cc9190612e7b565b9050838382602001516111df9190612151565b6111e99190612168565b60208281019182526040805184516001600160a01b0316928101929092529151818301529082015115156060820152608001610f27565b60606000848060200190518101906112389190612ee3565b90508383826080015161124b9190612151565b6112559190612168565b6080820152604051610f2790829060200160006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151151560e083015292915050565b60606000848060200190518101906112e79190612f63565b9050838382606001516112fa9190612151565b6113049190612168565b6060820152604051610f2790829060200181516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608092830151169181019190915260a00190565b60405180610160016040528060006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160608152602001606081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001606081525090565b6001600160a01b03811681146113e457600080fd5b50565b80356113f2816113cf565b919050565b60008060006060848603121561140c57600080fd5b8335611417816113cf565b92506020840135915060408401356001600160401b0381111561143957600080fd5b84016080818703121561144b57600080fd5b809150509250925092565b60006020828403121561146857600080fd5b813561025e816113cf565b80151581146113e457600080fd5b60006020828403121561149357600080fd5b813561025e81611473565b6000808335601e198436030181126114b557600080fd5b8301803591506001600160401b038211156114cf57600080fd5b6020019150368190038213156114e457600080fd5b9250929050565b6000602082840312156114fd57600080fd5b81356004811061025e57600080fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160601b03838116806115525761155261150c565b92169190910492915050565b6001600160a01b03169052565b60006020828403121561157d57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60005b838110156115cb5781810151838201526020016115b3565b50506000910152565b600082516115e68184602087016115b0565b9190910192915050565b80516113f281611473565b60006020828403121561160d57600080fd5b815161025e81611473565b6000808585111561162857600080fd5b8386111561163557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561166a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156116ab576116ab611672565b60405290565b60405160a081016001600160401b03811182821017156116ab576116ab611672565b60405160e081016001600160401b03811182821017156116ab576116ab611672565b604080519081016001600160401b03811182821017156116ab576116ab611672565b60405161012081016001600160401b03811182821017156116ab576116ab611672565b60405161014081016001600160401b03811182821017156116ab576116ab611672565b60405161010081016001600160401b03811182821017156116ab576116ab611672565b604051601f8201601f191681016001600160401b03811182821017156117a8576117a8611672565b604052919050565b60006001600160401b038211156117c9576117c9611672565b50601f01601f191660200190565b600082601f8301126117e857600080fd5b81356117fb6117f6826117b0565b611780565b81815284602083860101111561181057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b0382111561184657611846611672565b5060051b60200190565b600082601f83011261186157600080fd5b813560206118716117f68361182d565b82815260059290921b8401810191818101908684111561189057600080fd5b8286015b848110156118b45780356118a7816113cf565b8352918301918301611894565b509695505050505050565b600082601f8301126118d057600080fd5b813560206118e06117f68361182d565b82815260059290921b840181019181810190868411156118ff57600080fd5b8286015b848110156118b45780358352918301918301611903565b6000610160828403121561192d57600080fd5b611935611688565b9050611940826113e7565b815261194e602083016113e7565b602082015260408201356001600160401b038082111561196d57600080fd5b61197985838601611850565b6040840152606084013591508082111561199257600080fd5b61199e858386016118bf565b606084015260808401359150808211156119b757600080fd5b6119c385838601611850565b608084015260a08401359150808211156119dc57600080fd5b6119e8858386016118bf565b60a08401526119f960c085016113e7565b60c084015260e084810135908401526101008085013590840152610120808501359084015261014091508184013581811115611a3457600080fd5b611a40868287016117d7565b8385015250505092915050565b600060208284031215611a5f57600080fd5b81356001600160401b0380821115611a7657600080fd5b9083019060a08286031215611a8a57600080fd5b611a926116b1565b611a9b836113e7565b8152611aa9602084016113e7565b6020820152604083013582811115611ac057600080fd5b611acc878286016117d7565b604083015250606083013582811115611ae457600080fd5b611af08782860161191a565b606083015250608083013582811115611b0857600080fd5b611b14878286016117d7565b60808301525095945050505050565b60008151808452611b3b8160208601602086016115b0565b601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b83811015610ae25781516001600160a01b031687529582019590820190600101611b63565b600081518084526020808501945080840160005b83811015610ae257815187529582019590820190600101611b9c565b6000610160611bc884845161155e565b6020830151611bda602086018261155e565b506040830151816040860152611bf282860182611b4f565b91505060608301518482036060860152611c0c8282611b88565b91505060808301518482036080860152611c268282611b4f565b91505060a083015184820360a0860152611c408282611b88565b91505060c0830151611c5560c086018261155e565b5060e08381015190850152610100808401519085015261012080840151908501526101408084015185830382870152611c8e8382611b23565b9695505050505050565b60208152600060018060a01b0380845116602084015280602085015116604084015250604083015160a06060840152611cd460c0840182611b23565b90506060840151601f1980858403016080860152611cf28383611bb8565b925060808601519150808584030160a086015250611d108282611b23565b95945050505050565b60008060008060808587031215611d2f57600080fd5b8435611d3a816113cf565b935060208501356001600160401b0380821115611d5657600080fd5b611d628883890161191a565b94506040870135915080821115611d7857600080fd5b611d84888389016117d7565b93506060870135915080821115611d9a57600080fd5b50611da7878288016117d7565b91505092959194509250565b6001600160a01b0385168152608060208201819052600090611dd790830186611bb8565b8281036040840152611de98186611b23565b905082810360608401526108b98185611b23565b600082601f830112611e0e57600080fd5b81516020611e1e6117f68361182d565b82815260059290921b84018101918181019086841115611e3d57600080fd5b8286015b848110156118b45780518352918301918301611e41565b60008060008060808587031215611e6e57600080fd5b8451611e79816113cf565b60208601516040870151606088015192965090945092506001600160401b03811115611ea457600080fd5b611da787828801611dfd565b60018060a01b0385168152836020820152826040820152608060608201526000611c8e6080830184611b88565b600082601f830112611eee57600080fd5b8151611efc6117f6826117b0565b818152846020838601011115611f1157600080fd5b61022d8260208301602087016115b0565b600080600080848603610140811215611f3a57600080fd5b8551611f45816113cf565b945060e0601f1982011215611f5957600080fd5b50611f626116d3565b6020860151611f70816113cf565b81526040860151611f80816113cf565b60208201526060860151611f93816113cf565b60408201526080860151611fa6816113cf565b606082015260a086810151608083015260c0808801519183019190915260e0870151908201526101008601519093506001600160401b0380821115611fea57600080fd5b611ff688838901611edd565b935061012087015191508082111561200d57600080fd5b50611da787828801611edd565b600061014060018060a01b03808816845280875116602085015280602088015116604085015280604088015116606085015280606088015116608085015250608086015160a084015260a086015160c084015260c086015160e08401528061010084015261208a81840186611b23565b90508281036101208401526108b98185611b23565b600080600080600060a086880312156120b757600080fd5b85516120c2816113cf565b60208701519095506120d3816113cf565b60408701516060880151608089015192965090945092506001600160401b038111156120fe57600080fd5b61210a88828901611dfd565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906108b990830184611b88565b80820281158282048414176108ca576108ca611522565b6000826121775761217761150c565b500490565b60208152600061025e6020830184611b23565b818103818111156108ca576108ca611522565b634e487b7160e01b600052603260045260246000fd5b808201808211156108ca576108ca611522565b6000600182016121dd576121dd611522565b5060010190565b80516113f2816113cf565b600082601f83011261220057600080fd5b815160206122106117f68361182d565b82815260059290921b8401810191818101908684111561222f57600080fd5b8286015b848110156118b4578051612246816113cf565b8352918301918301612233565b600082601f83011261226457600080fd5b815160206122746117f68361182d565b82815260059290921b8401810191818101908684111561229357600080fd5b8286015b848110156118b45780516001600160401b038111156122b65760008081fd5b6122c48986838b0101611edd565b845250918301918301612297565b6000602082840312156122e457600080fd5b81516001600160401b03808211156122fb57600080fd5b9083019060a0828603121561230f57600080fd5b6123176116b1565b82518281111561232657600080fd5b612332878286016121ef565b82525060208301518281111561234757600080fd5b61235387828601611dfd565b60208301525060408301518281111561236b57600080fd5b61237787828601612253565b6040830152506060830151606082015260808301518281111561239957600080fd5b611b1487828601611edd565b60006020808352835160a0828501526123c160c0850182611b4f565b905081850151601f19808684030160408701526123de8383611b88565b60408801518782038301606089015280518083529194508501925084840190600581901b8501860160005b828110156124355784878303018452612423828751611b23565b95880195938801939150600101612409565b5060608a015160808a015260808a01519650838982030160a08a015261245b8188611b23565b9a9950505050505050505050565b600082601f83011261247a57600080fd5b81516124886117f68261182d565b808282526020820191508560208460051b87010111156124a757600080fd5b602085015b60208460051b8701018110156125d45780516001600160401b038111156124d257600080fd5b8601603f810188136124e357600080fd5b60208101516124f46117f68261182d565b808282526020820191508a60408460051b860101111561251357600080fd5b604084015b60408460051b8601018110156125be5780516001600160401b0381111561253e57600080fd5b60408682018e03603f1901121561255457600080fd5b61255c6116f5565b868201604001516001600160401b0381111561257757600080fd5b6125888f604083868c010101611edd565b82525090860160600151906001600160e01b0319821682146125a957600080fd5b60208181019290925284529283019201612518565b50865250506020938401939190910190506124ac565b5095945050505050565b6000602082840312156125f057600080fd5b81516001600160401b038082111561260757600080fd5b9083019060e0828603121561261b57600080fd5b6126236116d3565b82518281111561263257600080fd5b61263e87828601612469565b82525061264d602084016121e4565b602082015261265e604084016121e4565b604082015260608301516060820152612679608084016121e4565b608082015260a083015160a082015260c08301518281111561269a57600080fd5b6126a687828601611edd565b60c08301525095945050505050565b6020808252602a908201527f496e7075745363616c696e6748656c7065723a2043616e206e6f74207363616c6040820152690652052465120737761760b41b606082015260800190565b6020808252825160e0838301528051610100840181905260009291600582811b860161012090810193928501929087019186805b838110156127c75789870361011f1901855285518051808952908901908989019080861b8a018b01855b828110156127b157601f198c830301845284516040815181855261278382860182611b23565b91505063ffffffff60e01b8f830151168f85015280935050508c850194508c8401935060018101905061275d565b5099505050958801955093870193600101612733565b5050505050508185015191506127e0604085018361155e565b604085015191506127f4606085018361155e565b606085015160808501526080850151915061281260a085018361155e565b60a085015160c085015260c08501519150601f198482030160e0850152611d108183611b23565b805163ffffffff811681146113f257600080fd5b6000610120828403121561286057600080fd5b612868611717565b612871836121e4565b815261287f602084016121e4565b6020820152612890604084016121e4565b60408201526128a1606084016121e4565b60608201526080830151608082015260a083015160a08201526128c660c08401612839565b60c08201526128d760e08401612839565b60e08201526101006128ea818501612839565b908201529392505050565b81516001600160a01b039081168252602080840151909116908201526040808301516101208301916129299084018261155e565b50606083015161293c606084018261155e565b506080830151608083015260a083015160a083015260c083015161296860c084018263ffffffff169052565b5060e083015161298060e084018263ffffffff169052565b506101008381015163ffffffff81168483015261166a565b805160ff811681146113f257600080fd5b600061014082840312156129bc57600080fd5b6129c461173a565b6129cd836121e4565b81526129db602084016121e4565b60208201526129ec604084016121e4565b60408201526129fd60608401612998565b6060820152612a0e60808401612998565b608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100612a3f8185016121e4565b908201526101206128ea8482016115f0565b600061014082019050612a6582845161155e565b6020830151612a77602084018261155e565b506040830151612a8a604084018261155e565b506060830151612a9f606084018260ff169052565b506080830151612ab4608084018260ff169052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151612ae68285018261155e565b5050610120838101518015158483015261166a565b8051600f81900b81146113f257600080fd5b60006101208284031215612b2057600080fd5b612b28611717565b612b31836121e4565b8152612b3f602084016121e4565b6020820152612b50604084016121e4565b6040820152612b6160608401612afb565b6060820152612b7260808401612afb565b608082015260a083015160a082015260c083015160c0820152612b9760e084016115f0565b60e08201526101006128ea8185016115f0565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191612bde9084018261155e565b506060830151612bf36060840182600f0b9052565b506080830151612c086080840182600f0b9052565b5060a083015160a083015260c083015160c083015260e0830151612c3060e084018215159052565b50610100838101518015158483015261166a565b60006101008284031215612c5757600080fd5b612c5f61175d565b8251612c6a816113cf565b81526020830151612c7a816113cf565b6020820152612c8b604084016121e4565b6040820152612c9c606084016121e4565b60608201526080830151608082015260a083015160a0820152612cc160c084016121e4565b60c0820152612cd260e084016115f0565b60e08201529392505050565b600060c08284031215612cf057600080fd5b60405160c081016001600160401b0381118282101715612d1257612d12611672565b6040528251612d20816113cf565b8152602083810151908201526040830151612d3a816113cf565b60408201526060830151612d4d816113cf565b60608201526080838101519082015260a0928301519281019290925250919050565b60006101208284031215612d8257600080fd5b612d8a611717565b612d93836121e4565b8152612da1602084016121e4565b6020820152612db2604084016121e4565b6040820152612dc3606084016121e4565b60608201526080830151608082015260a083015160a0820152612de860c084016121e4565b60c0820152612b9760e084016115f0565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191612e2d9084018261155e565b506060830151612e40606084018261155e565b506080830151608083015260a083015160a083015260c0830151612e6760c084018261155e565b5060e0830151612c3060e084018215159052565b600060608284031215612e8d57600080fd5b604051606081016001600160401b0381118282101715612eaf57612eaf611672565b6040528251612ebd816113cf565b8152602083810151908201526040830151612ed781611473565b60408201529392505050565b60006101008284031215612ef657600080fd5b612efe61175d565b8251612f09816113cf565b81526020830151612f19816113cf565b6020820152612f2a604084016121e4565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152612cd260e084016115f0565b600060a08284031215612f7557600080fd5b60405160a081016001600160401b0381118282101715612f9757612f97611672565b6040528251612fa5816113cf565b81526020830151612fb5816113cf565b60208201526040830151612fc8816113cf565b6040820152606083810151908201526080830151612fe5816113cf565b6080820152939250505056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a264697066735822122052caf9d00931ffe51cfe0c1c9e560e4f517eec2333f8aedff5edc3b734fafec464736f6c63430008110033";
77
77
 
78
78
  type PendleSwapAggregatorConstructorParams =
79
79
  | [signer?: Signer]
@@ -0,0 +1,226 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ Overrides,
10
+ BigNumberish,
11
+ } from "ethers";
12
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
13
+ import type {
14
+ PtFraxUsdcOracle,
15
+ PtFraxUsdcOracleInterface,
16
+ } from "../PtFraxUsdcOracle";
17
+
18
+ const _abi = [
19
+ {
20
+ inputs: [
21
+ {
22
+ internalType: "address",
23
+ name: "_market",
24
+ type: "address",
25
+ },
26
+ {
27
+ internalType: "uint32",
28
+ name: "_twapDuration",
29
+ type: "uint32",
30
+ },
31
+ {
32
+ internalType: "uint16",
33
+ name: "_numSlotRequired",
34
+ type: "uint16",
35
+ },
36
+ {
37
+ internalType: "address",
38
+ name: "_crvPool",
39
+ type: "address",
40
+ },
41
+ {
42
+ internalType: "address",
43
+ name: "_usdcFeed",
44
+ type: "address",
45
+ },
46
+ {
47
+ internalType: "address",
48
+ name: "_fraxFeed",
49
+ type: "address",
50
+ },
51
+ ],
52
+ stateMutability: "nonpayable",
53
+ type: "constructor",
54
+ },
55
+ {
56
+ inputs: [],
57
+ name: "crvPool",
58
+ outputs: [
59
+ {
60
+ internalType: "address",
61
+ name: "",
62
+ type: "address",
63
+ },
64
+ ],
65
+ stateMutability: "view",
66
+ type: "function",
67
+ },
68
+ {
69
+ inputs: [],
70
+ name: "fraxFeed",
71
+ outputs: [
72
+ {
73
+ internalType: "address",
74
+ name: "",
75
+ type: "address",
76
+ },
77
+ ],
78
+ stateMutability: "view",
79
+ type: "function",
80
+ },
81
+ {
82
+ inputs: [],
83
+ name: "getAssetPrice",
84
+ outputs: [
85
+ {
86
+ internalType: "uint256",
87
+ name: "",
88
+ type: "uint256",
89
+ },
90
+ ],
91
+ stateMutability: "view",
92
+ type: "function",
93
+ },
94
+ {
95
+ inputs: [],
96
+ name: "getPtPrice",
97
+ outputs: [
98
+ {
99
+ internalType: "uint256",
100
+ name: "ptPrice",
101
+ type: "uint256",
102
+ },
103
+ ],
104
+ stateMutability: "view",
105
+ type: "function",
106
+ },
107
+ {
108
+ inputs: [],
109
+ name: "market",
110
+ outputs: [
111
+ {
112
+ internalType: "address",
113
+ name: "",
114
+ type: "address",
115
+ },
116
+ ],
117
+ stateMutability: "view",
118
+ type: "function",
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: "twapDuration",
123
+ outputs: [
124
+ {
125
+ internalType: "uint32",
126
+ name: "",
127
+ type: "uint32",
128
+ },
129
+ ],
130
+ stateMutability: "view",
131
+ type: "function",
132
+ },
133
+ {
134
+ inputs: [],
135
+ name: "usdcFeed",
136
+ outputs: [
137
+ {
138
+ internalType: "address",
139
+ name: "",
140
+ type: "address",
141
+ },
142
+ ],
143
+ stateMutability: "view",
144
+ type: "function",
145
+ },
146
+ ];
147
+
148
+ const _bytecode =
149
+ "0x6101206040523480156200001257600080fd5b5060405162001018380380620010188339810160408190526200003591620000ec565b6001600160a01b03861660a081905263ffffffff8616608052604051631bea2f1d60e11b815261ffff86166004820152879187918791906337d45e3a90602401600060405180830381600087803b1580156200009057600080fd5b505af1158015620000a5573d6000803e3d6000fd5b5050506001600160a01b0396871660c0525050505090821660e05216610100525062000180915050565b80516001600160a01b0381168114620000e757600080fd5b919050565b60008060008060008060c087890312156200010657600080fd5b6200011187620000cf565b9550602087015163ffffffff811681146200012b57600080fd5b604088015190955061ffff811681146200014457600080fd5b93506200015460608801620000cf565b92506200016460808801620000cf565b91506200017460a08801620000cf565b90509295509295509295565b60805160a05160c05160e05161010051610e25620001f36000396000818161016301526101cd01526000818160f701526101f601526000818161011e015261022501526000818160b8015281816102bf01526105460152600081816077015281816104e501526105c40152610e256000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c806326d895451461007257806380f55605146100b3578063a4e7d977146100f2578063b20fdc0d14610119578063bc3ff1dc14610140578063e54f088014610156578063e90b592f1461015e575b600080fd5b6100997f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100aa565b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b610148610185565b6040519081526020016100aa565b6101486101c2565b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b6000806101906101c2565b9050600061019c6102ba565b9050806101b1670de0b6b3a764000084610ac5565b6101bb9190610af2565b9250505090565b60008061021f6101f17f0000000000000000000000000000000000000000000000000000000000000000610383565b61021a7f0000000000000000000000000000000000000000000000000000000000000000610383565b6104a4565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa158015610281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a59190610b06565b9050670de0b6b3a76400006101b18284610ac5565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561031b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033f9190610b06565b905042811061035757670de0b6b3a764000091505090565b60006103616104be565b9050600061036f4284610b1f565b905061037b8282610643565b935050505090565b600080826001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e89190610b06565b90506000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e9190610b32565b60ff169050601281101561048457610467816012610b1f565b61047290600a610c40565b61047c9083610ac5565b949350505050565b61048f601282610b1f565b61049a90600a610c40565b61047c9083610af2565b60008183106104b357816104b5565b825b90505b92915050565b604080516002808252606082018352600092839291906020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061051757610517610c62565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063883bdbfd9061057b908590600401610c78565b600060405180830381865afa158015610598573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c09190810190610cde565b90507f000000000000000000000000000000000000000000000000000000000000000063ffffffff16816000815181106105fc576105fc610c62565b60200260200101518260018151811061061757610617610c62565b60200260200101516106299190610da2565b6106339190610dc9565b6001600160d81b03169250505090565b6000806106556201518061016d610ac5565b61065f8486610ac5565b6106699190610af2565b905061047c6106778261067c565b610696565b60006001600160ff1b0382111561069257600080fd5b5090565b6000680238fd42c5cf03ffff1982121580156106bb575068070c1cc73b00c800008213155b6106fe5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640160405180910390fd5b60008212156107365761071382600003610696565b6a0c097ce7bc90715b34b9f160241b8161072f5761072f610adc565b0592915050565b60006806f05b59d3b2000000831261077457506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6107aa565b6803782dace9d900000083126107a657506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806107aa565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126107fa5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610836576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261087057682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126108aa576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126108e357680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261091c5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610955576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261098e5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104b8576104b8610aaf565b634e487b7160e01b600052601260045260246000fd5b600082610b0157610b01610adc565b500490565b600060208284031215610b1857600080fd5b5051919050565b818103818111156104b8576104b8610aaf565b600060208284031215610b4457600080fd5b815160ff81168114610b5557600080fd5b9392505050565b600181815b80851115610b97578160001904821115610b7d57610b7d610aaf565b80851615610b8a57918102915b93841c9390800290610b61565b509250929050565b600082610bae575060016104b8565b81610bbb575060006104b8565b8160018114610bd15760028114610bdb57610bf7565b60019150506104b8565b60ff841115610bec57610bec610aaf565b50506001821b6104b8565b5060208310610133831016604e8410600b8410161715610c1a575081810a6104b8565b610c248383610b5c565b8060001904821115610c3857610c38610aaf565b029392505050565b60006104b58383610b9f565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015610cb657835163ffffffff1683529284019291840191600101610c94565b50909695505050505050565b80516001600160d81b0381168114610cd957600080fd5b919050565b60006020808385031215610cf157600080fd5b82516001600160401b0380821115610d0857600080fd5b818501915085601f830112610d1c57600080fd5b815181811115610d2e57610d2e610c4c565b8060051b604051601f19603f83011681018181108582111715610d5357610d53610c4c565b604052918252848201925083810185019188831115610d7157600080fd5b938501935b82851015610d9657610d8785610cc2565b84529385019392850192610d76565b98975050505050505050565b6001600160d81b03828116828216039080821115610dc257610dc2610aaf565b5092915050565b60006001600160d81b0383811680610de357610de3610adc565b9216919091049291505056fea26469706673582212206dffd3943ff42709e489f73b92e99695b14cc7e51bc00bb8fec59cbd3c9d1ac464736f6c63430008110033";
150
+
151
+ type PtFraxUsdcOracleConstructorParams =
152
+ | [signer?: Signer]
153
+ | ConstructorParameters<typeof ContractFactory>;
154
+
155
+ const isSuperArgs = (
156
+ xs: PtFraxUsdcOracleConstructorParams
157
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
158
+
159
+ export class PtFraxUsdcOracle__factory extends ContractFactory {
160
+ constructor(...args: PtFraxUsdcOracleConstructorParams) {
161
+ if (isSuperArgs(args)) {
162
+ super(...args);
163
+ } else {
164
+ super(_abi, _bytecode, args[0]);
165
+ }
166
+ this.contractName = "PtFraxUsdcOracle";
167
+ }
168
+
169
+ deploy(
170
+ _market: string,
171
+ _twapDuration: BigNumberish,
172
+ _numSlotRequired: BigNumberish,
173
+ _crvPool: string,
174
+ _usdcFeed: string,
175
+ _fraxFeed: string,
176
+ overrides?: Overrides & { from?: string | Promise<string> }
177
+ ): Promise<PtFraxUsdcOracle> {
178
+ return super.deploy(
179
+ _market,
180
+ _twapDuration,
181
+ _numSlotRequired,
182
+ _crvPool,
183
+ _usdcFeed,
184
+ _fraxFeed,
185
+ overrides || {}
186
+ ) as Promise<PtFraxUsdcOracle>;
187
+ }
188
+ getDeployTransaction(
189
+ _market: string,
190
+ _twapDuration: BigNumberish,
191
+ _numSlotRequired: BigNumberish,
192
+ _crvPool: string,
193
+ _usdcFeed: string,
194
+ _fraxFeed: string,
195
+ overrides?: Overrides & { from?: string | Promise<string> }
196
+ ): TransactionRequest {
197
+ return super.getDeployTransaction(
198
+ _market,
199
+ _twapDuration,
200
+ _numSlotRequired,
201
+ _crvPool,
202
+ _usdcFeed,
203
+ _fraxFeed,
204
+ overrides || {}
205
+ );
206
+ }
207
+ attach(address: string): PtFraxUsdcOracle {
208
+ return super.attach(address) as PtFraxUsdcOracle;
209
+ }
210
+ connect(signer: Signer): PtFraxUsdcOracle__factory {
211
+ return super.connect(signer) as PtFraxUsdcOracle__factory;
212
+ }
213
+ static readonly contractName: "PtFraxUsdcOracle";
214
+ public readonly contractName: "PtFraxUsdcOracle";
215
+ static readonly bytecode = _bytecode;
216
+ static readonly abi = _abi;
217
+ static createInterface(): PtFraxUsdcOracleInterface {
218
+ return new utils.Interface(_abi) as PtFraxUsdcOracleInterface;
219
+ }
220
+ static connect(
221
+ address: string,
222
+ signerOrProvider: Signer | Provider
223
+ ): PtFraxUsdcOracle {
224
+ return new Contract(address, _abi, signerOrProvider) as PtFraxUsdcOracle;
225
+ }
226
+ }
@@ -0,0 +1,201 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ Overrides,
10
+ BigNumberish,
11
+ } from "ethers";
12
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
13
+ import type { PtStETHOracle, PtStETHOracleInterface } from "../PtStETHOracle";
14
+
15
+ const _abi = [
16
+ {
17
+ inputs: [
18
+ {
19
+ internalType: "address",
20
+ name: "_market",
21
+ type: "address",
22
+ },
23
+ {
24
+ internalType: "uint32",
25
+ name: "_twapDuration",
26
+ type: "uint32",
27
+ },
28
+ {
29
+ internalType: "uint16",
30
+ name: "_numSlotRequired",
31
+ type: "uint16",
32
+ },
33
+ {
34
+ internalType: "address",
35
+ name: "_stEthFeed",
36
+ type: "address",
37
+ },
38
+ {
39
+ internalType: "address",
40
+ name: "_ethFeed",
41
+ type: "address",
42
+ },
43
+ ],
44
+ stateMutability: "nonpayable",
45
+ type: "constructor",
46
+ },
47
+ {
48
+ inputs: [],
49
+ name: "ethFeed",
50
+ outputs: [
51
+ {
52
+ internalType: "address",
53
+ name: "",
54
+ type: "address",
55
+ },
56
+ ],
57
+ stateMutability: "view",
58
+ type: "function",
59
+ },
60
+ {
61
+ inputs: [],
62
+ name: "getAssetPrice",
63
+ outputs: [
64
+ {
65
+ internalType: "uint256",
66
+ name: "",
67
+ type: "uint256",
68
+ },
69
+ ],
70
+ stateMutability: "view",
71
+ type: "function",
72
+ },
73
+ {
74
+ inputs: [],
75
+ name: "getPtPrice",
76
+ outputs: [
77
+ {
78
+ internalType: "uint256",
79
+ name: "ptPrice",
80
+ type: "uint256",
81
+ },
82
+ ],
83
+ stateMutability: "view",
84
+ type: "function",
85
+ },
86
+ {
87
+ inputs: [],
88
+ name: "market",
89
+ outputs: [
90
+ {
91
+ internalType: "address",
92
+ name: "",
93
+ type: "address",
94
+ },
95
+ ],
96
+ stateMutability: "view",
97
+ type: "function",
98
+ },
99
+ {
100
+ inputs: [],
101
+ name: "stEthFeed",
102
+ outputs: [
103
+ {
104
+ internalType: "address",
105
+ name: "",
106
+ type: "address",
107
+ },
108
+ ],
109
+ stateMutability: "view",
110
+ type: "function",
111
+ },
112
+ {
113
+ inputs: [],
114
+ name: "twapDuration",
115
+ outputs: [
116
+ {
117
+ internalType: "uint32",
118
+ name: "",
119
+ type: "uint32",
120
+ },
121
+ ],
122
+ stateMutability: "view",
123
+ type: "function",
124
+ },
125
+ ];
126
+
127
+ const _bytecode =
128
+ "0x61010060405234801561001157600080fd5b50604051610f13380380610f13833981016040819052610030916100dc565b6001600160a01b03851660a081905263ffffffff8516608052604051631bea2f1d60e11b815261ffff85166004820152869186918691906337d45e3a90602401600060405180830381600087803b15801561008a57600080fd5b505af115801561009e573d6000803e3d6000fd5b5050506001600160a01b0395861660c052505050501660e05250610156915050565b80516001600160a01b03811681146100d757600080fd5b919050565b600080600080600060a086880312156100f457600080fd5b6100fd866100c0565b9450602086015163ffffffff8116811461011657600080fd5b604087015190945061ffff8116811461012e57600080fd5b925061013c606087016100c0565b915061014a608087016100c0565b90509295509295909350565b60805160a05160c05160e051610d5d6101b66000396000818160ad01526101a001526000818161012901526101c901526000818160ec0152818161020b0152610478015260008181606c0152818161041701526104f60152610d5d6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806326d89545146100675780635e19d05c146100a857806380f55605146100e7578063bc3ff1dc1461010e578063dcaddc6714610124578063e54f08801461014b575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b6100cf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009f565b6100cf7f000000000000000000000000000000000000000000000000000000000000000081565b610116610153565b60405190815260200161009f565b6100cf7f000000000000000000000000000000000000000000000000000000000000000081565b610116610190565b60008061015e610190565b9050600061016a610206565b90508061017f670de0b6b3a7640000846109f7565b6101899190610a2a565b9250505090565b6000670de0b6b3a76400006101c47f00000000000000000000000000000000000000000000000000000000000000006102cf565b6101ed7f00000000000000000000000000000000000000000000000000000000000000006102cf565b6101f791906109f7565b6102019190610a2a565b905090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b9190610a3e565b90504281106102a357670de0b6b3a764000091505090565b60006102ad6103f0565b905060006102bb4284610a57565b90506102c78282610575565b935050505090565b600080826001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610310573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103349190610a3e565b90506000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610376573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039a9190610a6a565b60ff16905060128110156103d0576103b3816012610a57565b6103be90600a610b78565b6103c890836109f7565b949350505050565b6103db601282610a57565b6103e690600a610b78565b6103c89083610a2a565b604080516002808252606082018352600092839291906020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061044957610449610b9a565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063883bdbfd906104ad908590600401610bb0565b600060405180830381865afa1580156104ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104f29190810190610c16565b90507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168160008151811061052e5761052e610b9a565b60200260200101518260018151811061054957610549610b9a565b602002602001015161055b9190610cda565b6105659190610d01565b6001600160d81b03169250505090565b6000806105876201518061016d6109f7565b61059184866109f7565b61059b9190610a2a565b90506103c86105a9826105ae565b6105c8565b60006001600160ff1b038211156105c457600080fd5b5090565b6000680238fd42c5cf03ffff1982121580156105ed575068070c1cc73b00c800008213155b6106305760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640160405180910390fd5b600082121561066857610645826000036105c8565b6a0c097ce7bc90715b34b9f160241b8161066157610661610a14565b0592915050565b60006806f05b59d3b200000083126106a657506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6106dc565b6803782dace9d900000083126106d857506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806106dc565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261072c5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610768576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126107a257682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126107dc576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261081557680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261084e5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610887576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126108c05768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a0e57610a0e6109e1565b92915050565b634e487b7160e01b600052601260045260246000fd5b600082610a3957610a39610a14565b500490565b600060208284031215610a5057600080fd5b5051919050565b81810381811115610a0e57610a0e6109e1565b600060208284031215610a7c57600080fd5b815160ff81168114610a8d57600080fd5b9392505050565b600181815b80851115610acf578160001904821115610ab557610ab56109e1565b80851615610ac257918102915b93841c9390800290610a99565b509250929050565b600082610ae657506001610a0e565b81610af357506000610a0e565b8160018114610b095760028114610b1357610b2f565b6001915050610a0e565b60ff841115610b2457610b246109e1565b50506001821b610a0e565b5060208310610133831016604e8410600b8410161715610b52575081810a610a0e565b610b5c8383610a94565b8060001904821115610b7057610b706109e1565b029392505050565b6000610a8d8383610ad7565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015610bee57835163ffffffff1683529284019291840191600101610bcc565b50909695505050505050565b80516001600160d81b0381168114610c1157600080fd5b919050565b60006020808385031215610c2957600080fd5b82516001600160401b0380821115610c4057600080fd5b818501915085601f830112610c5457600080fd5b815181811115610c6657610c66610b84565b8060051b604051601f19603f83011681018181108582111715610c8b57610c8b610b84565b604052918252848201925083810185019188831115610ca957600080fd5b938501935b82851015610cce57610cbf85610bfa565b84529385019392850192610cae565b98975050505050505050565b6001600160d81b03828116828216039080821115610cfa57610cfa6109e1565b5092915050565b60006001600160d81b0383811680610d1b57610d1b610a14565b9216919091049291505056fea2646970667358221220628cf0346c0675aff7c54c7ff11df032160d7ee230d045dc4ff38152c22c542b64736f6c63430008110033";
129
+
130
+ type PtStETHOracleConstructorParams =
131
+ | [signer?: Signer]
132
+ | ConstructorParameters<typeof ContractFactory>;
133
+
134
+ const isSuperArgs = (
135
+ xs: PtStETHOracleConstructorParams
136
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
137
+
138
+ export class PtStETHOracle__factory extends ContractFactory {
139
+ constructor(...args: PtStETHOracleConstructorParams) {
140
+ if (isSuperArgs(args)) {
141
+ super(...args);
142
+ } else {
143
+ super(_abi, _bytecode, args[0]);
144
+ }
145
+ this.contractName = "PtStETHOracle";
146
+ }
147
+
148
+ deploy(
149
+ _market: string,
150
+ _twapDuration: BigNumberish,
151
+ _numSlotRequired: BigNumberish,
152
+ _stEthFeed: string,
153
+ _ethFeed: string,
154
+ overrides?: Overrides & { from?: string | Promise<string> }
155
+ ): Promise<PtStETHOracle> {
156
+ return super.deploy(
157
+ _market,
158
+ _twapDuration,
159
+ _numSlotRequired,
160
+ _stEthFeed,
161
+ _ethFeed,
162
+ overrides || {}
163
+ ) as Promise<PtStETHOracle>;
164
+ }
165
+ getDeployTransaction(
166
+ _market: string,
167
+ _twapDuration: BigNumberish,
168
+ _numSlotRequired: BigNumberish,
169
+ _stEthFeed: string,
170
+ _ethFeed: string,
171
+ overrides?: Overrides & { from?: string | Promise<string> }
172
+ ): TransactionRequest {
173
+ return super.getDeployTransaction(
174
+ _market,
175
+ _twapDuration,
176
+ _numSlotRequired,
177
+ _stEthFeed,
178
+ _ethFeed,
179
+ overrides || {}
180
+ );
181
+ }
182
+ attach(address: string): PtStETHOracle {
183
+ return super.attach(address) as PtStETHOracle;
184
+ }
185
+ connect(signer: Signer): PtStETHOracle__factory {
186
+ return super.connect(signer) as PtStETHOracle__factory;
187
+ }
188
+ static readonly contractName: "PtStETHOracle";
189
+ public readonly contractName: "PtStETHOracle";
190
+ static readonly bytecode = _bytecode;
191
+ static readonly abi = _abi;
192
+ static createInterface(): PtStETHOracleInterface {
193
+ return new utils.Interface(_abi) as PtStETHOracleInterface;
194
+ }
195
+ static connect(
196
+ address: string,
197
+ signerOrProvider: Signer | Provider
198
+ ): PtStETHOracle {
199
+ return new Contract(address, _abi, signerOrProvider) as PtStETHOracle;
200
+ }
201
+ }
@@ -476,6 +476,10 @@ declare module "hardhat/types/runtime" {
476
476
  name: "IPInterestManagerYTV2",
477
477
  signerOrOptions?: ethers.Signer | FactoryOptions
478
478
  ): Promise<Contracts.IPInterestManagerYTV2__factory>;
479
+ getContractFactory(
480
+ name: "IPLiquidityMigrator",
481
+ signerOrOptions?: ethers.Signer | FactoryOptions
482
+ ): Promise<Contracts.IPLiquidityMigrator__factory>;
479
483
  getContractFactory(
480
484
  name: "IPMarket",
481
485
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -708,6 +712,10 @@ declare module "hardhat/types/runtime" {
708
712
  name: "PendleRouter",
709
713
  signerOrOptions?: ethers.Signer | FactoryOptions
710
714
  ): Promise<Contracts.PendleRouter__factory>;
715
+ getContractFactory(
716
+ name: "PendleRouterHelper",
717
+ signerOrOptions?: ethers.Signer | FactoryOptions
718
+ ): Promise<Contracts.PendleRouterHelper__factory>;
711
719
  getContractFactory(
712
720
  name: "I1inchAggregationRouterV5",
713
721
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -1341,6 +1349,11 @@ declare module "hardhat/types/runtime" {
1341
1349
  address: string,
1342
1350
  signer?: ethers.Signer
1343
1351
  ): Promise<Contracts.IPInterestManagerYTV2>;
1352
+ getContractAt(
1353
+ name: "IPLiquidityMigrator",
1354
+ address: string,
1355
+ signer?: ethers.Signer
1356
+ ): Promise<Contracts.IPLiquidityMigrator>;
1344
1357
  getContractAt(
1345
1358
  name: "IPMarket",
1346
1359
  address: string,
@@ -1631,6 +1644,11 @@ declare module "hardhat/types/runtime" {
1631
1644
  address: string,
1632
1645
  signer?: ethers.Signer
1633
1646
  ): Promise<Contracts.PendleRouter>;
1647
+ getContractAt(
1648
+ name: "PendleRouterHelper",
1649
+ address: string,
1650
+ signer?: ethers.Signer
1651
+ ): Promise<Contracts.PendleRouterHelper>;
1634
1652
  getContractAt(
1635
1653
  name: "I1inchAggregationRouterV5",
1636
1654
  address: string,
@@ -116,6 +116,7 @@ export type { IPGaugeController } from "./IPGaugeController";
116
116
  export type { IPGaugeControllerMainchain } from "./IPGaugeControllerMainchain";
117
117
  export type { IPInterestManagerYT } from "./IPInterestManagerYT";
118
118
  export type { IPInterestManagerYTV2 } from "./IPInterestManagerYTV2";
119
+ export type { IPLiquidityMigrator } from "./IPLiquidityMigrator";
119
120
  export type { IPMarket } from "./IPMarket";
120
121
  export type { IPMarketFactory } from "./IPMarketFactory";
121
122
  export type { IPMarketSwapCallback } from "./IPMarketSwapCallback";
@@ -174,6 +175,7 @@ export type { ActionSwapPT } from "./ActionSwapPT";
174
175
  export type { ActionSwapYT } from "./ActionSwapYT";
175
176
  export type { ActionBaseCallback } from "./ActionBaseCallback";
176
177
  export type { PendleRouter } from "./PendleRouter";
178
+ export type { PendleRouterHelper } from "./PendleRouterHelper";
177
179
  export type { I1inchAggregationRouterV5 } from "./I1inchAggregationRouterV5";
178
180
  export type { IPSwapAggregator } from "./IPSwapAggregator";
179
181
  export type { IAggregationExecutor } from "./IAggregationExecutor";
@@ -300,6 +302,7 @@ export { IPGaugeController__factory } from "./factories/IPGaugeController__facto
300
302
  export { IPGaugeControllerMainchain__factory } from "./factories/IPGaugeControllerMainchain__factory";
301
303
  export { IPInterestManagerYT__factory } from "./factories/IPInterestManagerYT__factory";
302
304
  export { IPInterestManagerYTV2__factory } from "./factories/IPInterestManagerYTV2__factory";
305
+ export { IPLiquidityMigrator__factory } from "./factories/IPLiquidityMigrator__factory";
303
306
  export { IPMarket__factory } from "./factories/IPMarket__factory";
304
307
  export { IPMarketFactory__factory } from "./factories/IPMarketFactory__factory";
305
308
  export { IPMarketSwapCallback__factory } from "./factories/IPMarketSwapCallback__factory";
@@ -358,6 +361,7 @@ export { ActionSwapPT__factory } from "./factories/ActionSwapPT__factory";
358
361
  export { ActionSwapYT__factory } from "./factories/ActionSwapYT__factory";
359
362
  export { ActionBaseCallback__factory } from "./factories/ActionBaseCallback__factory";
360
363
  export { PendleRouter__factory } from "./factories/PendleRouter__factory";
364
+ export { PendleRouterHelper__factory } from "./factories/PendleRouterHelper__factory";
361
365
  export { I1inchAggregationRouterV5__factory } from "./factories/I1inchAggregationRouterV5__factory";
362
366
  export { IPSwapAggregator__factory } from "./factories/IPSwapAggregator__factory";
363
367
  export { IAggregationExecutor__factory } from "./factories/IAggregationExecutor__factory";