@pendle/core-v2 5.8.2 → 5.8.3

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 (72) hide show
  1. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  3. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  6. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  7. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  8. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  9. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  10. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  11. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  12. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  14. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  16. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  17. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.json +34 -0
  18. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  19. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  20. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +320 -2
  21. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  22. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +75 -3
  23. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  24. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  25. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  26. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  27. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  28. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  29. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  30. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  31. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  32. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  33. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  34. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  35. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  36. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  37. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  38. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  39. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  40. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  41. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  42. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  43. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  44. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  45. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  46. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  47. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  48. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  49. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  52. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  53. package/contracts/interfaces/IPCommonSYFactory.sol +7 -0
  54. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +55 -0
  55. package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +36 -1
  56. package/package.json +1 -1
  57. package/typechain-types/ERC1967Proxy.ts +97 -0
  58. package/typechain-types/IPCommonSYFactory.ts +49 -0
  59. package/typechain-types/ITransparentUpgradeableProxy.ts +235 -0
  60. package/typechain-types/MarketSwapNSeed.ts +222 -0
  61. package/typechain-types/PendleCommonPoolDeployHelperV2.ts +267 -0
  62. package/typechain-types/PendleCommonSYFactory.ts +96 -0
  63. package/typechain-types/TransparentUpgradeableProxy.ts +97 -0
  64. package/typechain-types/factories/ERC1967Proxy__factory.ts +145 -0
  65. package/typechain-types/factories/IPCommonSYFactory__factory.ts +34 -0
  66. package/typechain-types/factories/ITransparentUpgradeableProxy__factory.ts +145 -0
  67. package/typechain-types/factories/MarketSwapNSeed__factory.ts +287 -0
  68. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +319 -1
  69. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +81 -4
  70. package/typechain-types/factories/TransparentUpgradeableProxy__factory.ts +160 -0
  71. package/typechain-types/hardhat.d.ts +45 -0
  72. package/typechain-types/index.ts +10 -0
@@ -4,7 +4,13 @@
4
4
  "sourceName": "contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol",
5
5
  "abi": [
6
6
  {
7
- "inputs": [],
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_proxyAdmin",
11
+ "type": "address"
12
+ }
13
+ ],
8
14
  "stateMutability": "nonpayable",
9
15
  "type": "constructor"
10
16
  },
@@ -225,6 +231,59 @@
225
231
  "stateMutability": "nonpayable",
226
232
  "type": "function"
227
233
  },
234
+ {
235
+ "inputs": [
236
+ {
237
+ "internalType": "bytes32",
238
+ "name": "id",
239
+ "type": "bytes32"
240
+ },
241
+ {
242
+ "internalType": "bytes",
243
+ "name": "constructorParams",
244
+ "type": "bytes"
245
+ },
246
+ {
247
+ "internalType": "bytes",
248
+ "name": "initData",
249
+ "type": "bytes"
250
+ },
251
+ {
252
+ "internalType": "address",
253
+ "name": "syOwner",
254
+ "type": "address"
255
+ }
256
+ ],
257
+ "name": "deployUpgradableSY",
258
+ "outputs": [
259
+ {
260
+ "internalType": "address",
261
+ "name": "",
262
+ "type": "address"
263
+ }
264
+ ],
265
+ "stateMutability": "nonpayable",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [
270
+ {
271
+ "internalType": "bytes32",
272
+ "name": "",
273
+ "type": "bytes32"
274
+ }
275
+ ],
276
+ "name": "implementations",
277
+ "outputs": [
278
+ {
279
+ "internalType": "address",
280
+ "name": "",
281
+ "type": "address"
282
+ }
283
+ ],
284
+ "stateMutability": "view",
285
+ "type": "function"
286
+ },
228
287
  {
229
288
  "inputs": [
230
289
  {
@@ -277,6 +336,19 @@
277
336
  "stateMutability": "view",
278
337
  "type": "function"
279
338
  },
339
+ {
340
+ "inputs": [],
341
+ "name": "proxyAdmin",
342
+ "outputs": [
343
+ {
344
+ "internalType": "address",
345
+ "name": "",
346
+ "type": "address"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
280
352
  {
281
353
  "inputs": [
282
354
  {
@@ -341,8 +413,8 @@
341
413
  "type": "function"
342
414
  }
343
415
  ],
344
- "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100ea565b600154600160a81b900460ff161561008c5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100e8576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b610ce2806100f96000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c8063078dfbe7146100885780631aad829a1461009d5780634d0bccc5146100b05780634e71e0c8146101315780638da5cb5b14610139578063affed0e014610164578063c4d66de81461017b578063e1bfd4771461018e578063e30c3978146101a1575b600080fd5b61009b610096366004610999565b6101b4565b005b61009b6100ab366004610a22565b6102ba565b6100f36100be366004610aae565b60326020526000908152604090208054600182015460028301546003909301546001600160a01b039283169391929091169084565b60405161012894939291906001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b60405180910390f35b61009b6103d5565b60005461014c906001600160a01b031681565b6040516001600160a01b039091168152602001610128565b61016d60335481565b604051908152602001610128565b61009b610189366004610ac7565b610480565b61014c61019c366004610ae2565b6105a6565b60015461014c906001600160a01b031681565b6000546001600160a01b031633146101e75760405162461bcd60e51b81526004016101de90610b87565b60405180910390fd5b8115610298576001600160a01b0383161515806102015750805b6102455760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016101de565b600080546040516001600160a01b0380871693921691600080516020610c8d83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6000546001600160a01b031633146102e45760405162461bcd60e51b81526004016101de90610b87565b80516001600160a01b03161580610306575060408101516001600160a01b0316155b8061031357506020810151155b8061032057506060810151155b156103425781816040516303b417d360e31b81526004016101de929190610bbc565b600082815260326020908152604091829020835181546001600160a01b03199081166001600160a01b03928316178355928501516001830155848401516002830180549094169116179091556060830151600390910155517f5f419bdcef2cdc4cdb667c8d94e4b419b1d6beec9dfb92d205a530c54f0de3cc906103c99084908490610bbc565b60405180910390a15050565b6001546001600160a01b03163381146104305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016101de565b600080546040516001600160a01b0380851693921691600080516020610c8d83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600154600160a81b900460ff16158080156104a6575060018054600160a01b900460ff16105b806104c65750303b1580156104c6575060018054600160a01b900460ff16145b6105295760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101de565b6001805460ff60a01b1916600160a01b1790558015610556576001805460ff60a81b1916600160a81b1790555b61055f8261071d565b80156105a2576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016103c9565b5050565b6000838152603260209081526040808320815160808101835281546001600160a01b03908116808352600184015495830195909552600283015416928101929092526003015460608201529061061257604051639661f39160e01b8152600481018690526024016101de565b6033805461066f9160009146918361062983610bfb565b90915550604080516020810193909352820152606001604051602081830303815290604052805190602001208684600001518560200151866040015187606001516107ac565b91507f07a80415c524a669398df01e97c487fc00986190468c09e2741b44181c5dc8c38585846040516106a493929190610c22565b60405180910390a160405163078dfbe760e01b81526001600160a01b038481166004830152600160248301526000604483015283169063078dfbe790606401600060405180830381600087803b1580156106fd57600080fd5b505af1158015610711573d6000803e3d6000fd5b50505050509392505050565b600154600160a81b900460ff1661078a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101de565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806107bc87878787876107d6565b90506107c9898983610828565b9998505050505050505050565b8451604080516020848701808501808401830190945283835291939192908401876000828b3c856000898301893c506020898101908585010161081a81838661092f565b505050505095945050505050565b60008347101561087a5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016101de565b81516000036108cb5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101de565b8282516020840186f590506001600160a01b0381166109285760405162461bcd60e51b8152602060048201526019602482015278437265617465323a204661696c6564206f6e206465706c6f7960381b60448201526064016101de565b9392505050565b5b6020811061094f578151835260209283019290910190601f1901610930565b905182516020929092036101000a6000190180199091169116179052565b80356001600160a01b038116811461098457600080fd5b919050565b8035801515811461098457600080fd5b6000806000606084860312156109ae57600080fd5b6109b78461096d565b92506109c560208501610989565b91506109d360408501610989565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610a1a57610a1a6109dc565b604052919050565b60008082840360a0811215610a3657600080fd5b833592506080601f1982011215610a4c57600080fd5b50604051608081016001600160401b0381118282101715610a6f57610a6f6109dc565b604052610a7e6020850161096d565b815260408401356020820152610a966060850161096d565b60408201526080939093013560608401525092909150565b600060208284031215610ac057600080fd5b5035919050565b600060208284031215610ad957600080fd5b6109288261096d565b600080600060608486031215610af757600080fd5b833592506020808501356001600160401b0380821115610b1657600080fd5b818701915087601f830112610b2a57600080fd5b813581811115610b3c57610b3c6109dc565b610b4e601f8201601f191685016109f2565b91508082528884828501011115610b6457600080fd5b80848401858401376000848284010152508094505050506109d36040850161096d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b91825280516001600160a01b03908116602080850191909152820151604080850191909152820151166060808401919091520151608082015260a00190565b600060018201610c1b57634e487b7160e01b600052601160045260246000fd5b5060010190565b8381526000602060606020840152845180606085015260005b81811015610c5757868101830151858201608001528201610c3b565b5060008482016080908101919091526001600160a01b03959095166040850152601f01601f191690920190920194935050505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220b21006f3d8e477c9ac1f3524fe39c46a04384d244390a8f88dbd5f3867c96ffd64736f6c63430008170033",
345
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c8063078dfbe7146100885780631aad829a1461009d5780634d0bccc5146100b05780634e71e0c8146101315780638da5cb5b14610139578063affed0e014610164578063c4d66de81461017b578063e1bfd4771461018e578063e30c3978146101a1575b600080fd5b61009b610096366004610999565b6101b4565b005b61009b6100ab366004610a22565b6102ba565b6100f36100be366004610aae565b60326020526000908152604090208054600182015460028301546003909301546001600160a01b039283169391929091169084565b60405161012894939291906001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b60405180910390f35b61009b6103d5565b60005461014c906001600160a01b031681565b6040516001600160a01b039091168152602001610128565b61016d60335481565b604051908152602001610128565b61009b610189366004610ac7565b610480565b61014c61019c366004610ae2565b6105a6565b60015461014c906001600160a01b031681565b6000546001600160a01b031633146101e75760405162461bcd60e51b81526004016101de90610b87565b60405180910390fd5b8115610298576001600160a01b0383161515806102015750805b6102455760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016101de565b600080546040516001600160a01b0380871693921691600080516020610c8d83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6000546001600160a01b031633146102e45760405162461bcd60e51b81526004016101de90610b87565b80516001600160a01b03161580610306575060408101516001600160a01b0316155b8061031357506020810151155b8061032057506060810151155b156103425781816040516303b417d360e31b81526004016101de929190610bbc565b600082815260326020908152604091829020835181546001600160a01b03199081166001600160a01b03928316178355928501516001830155848401516002830180549094169116179091556060830151600390910155517f5f419bdcef2cdc4cdb667c8d94e4b419b1d6beec9dfb92d205a530c54f0de3cc906103c99084908490610bbc565b60405180910390a15050565b6001546001600160a01b03163381146104305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016101de565b600080546040516001600160a01b0380851693921691600080516020610c8d83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600154600160a81b900460ff16158080156104a6575060018054600160a01b900460ff16105b806104c65750303b1580156104c6575060018054600160a01b900460ff16145b6105295760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101de565b6001805460ff60a01b1916600160a01b1790558015610556576001805460ff60a81b1916600160a81b1790555b61055f8261071d565b80156105a2576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016103c9565b5050565b6000838152603260209081526040808320815160808101835281546001600160a01b03908116808352600184015495830195909552600283015416928101929092526003015460608201529061061257604051639661f39160e01b8152600481018690526024016101de565b6033805461066f9160009146918361062983610bfb565b90915550604080516020810193909352820152606001604051602081830303815290604052805190602001208684600001518560200151866040015187606001516107ac565b91507f07a80415c524a669398df01e97c487fc00986190468c09e2741b44181c5dc8c38585846040516106a493929190610c22565b60405180910390a160405163078dfbe760e01b81526001600160a01b038481166004830152600160248301526000604483015283169063078dfbe790606401600060405180830381600087803b1580156106fd57600080fd5b505af1158015610711573d6000803e3d6000fd5b50505050509392505050565b600154600160a81b900460ff1661078a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101de565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806107bc87878787876107d6565b90506107c9898983610828565b9998505050505050505050565b8451604080516020848701808501808401830190945283835291939192908401876000828b3c856000898301893c506020898101908585010161081a81838661092f565b505050505095945050505050565b60008347101561087a5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016101de565b81516000036108cb5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101de565b8282516020840186f590506001600160a01b0381166109285760405162461bcd60e51b8152602060048201526019602482015278437265617465323a204661696c6564206f6e206465706c6f7960381b60448201526064016101de565b9392505050565b5b6020811061094f578151835260209283019290910190601f1901610930565b905182516020929092036101000a6000190180199091169116179052565b80356001600160a01b038116811461098457600080fd5b919050565b8035801515811461098457600080fd5b6000806000606084860312156109ae57600080fd5b6109b78461096d565b92506109c560208501610989565b91506109d360408501610989565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610a1a57610a1a6109dc565b604052919050565b60008082840360a0811215610a3657600080fd5b833592506080601f1982011215610a4c57600080fd5b50604051608081016001600160401b0381118282101715610a6f57610a6f6109dc565b604052610a7e6020850161096d565b815260408401356020820152610a966060850161096d565b60408201526080939093013560608401525092909150565b600060208284031215610ac057600080fd5b5035919050565b600060208284031215610ad957600080fd5b6109288261096d565b600080600060608486031215610af757600080fd5b833592506020808501356001600160401b0380821115610b1657600080fd5b818701915087601f830112610b2a57600080fd5b813581811115610b3c57610b3c6109dc565b610b4e601f8201601f191685016109f2565b91508082528884828501011115610b6457600080fd5b80848401858401376000848284010152508094505050506109d36040850161096d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b91825280516001600160a01b03908116602080850191909152820151604080850191909152820151166060808401919091520151608082015260a00190565b600060018201610c1b57634e487b7160e01b600052601160045260246000fd5b5060010190565b8381526000602060606020840152845180606085015260005b81811015610c5757868101830151858201608001528201610c3b565b5060008482016080908101919091526001600160a01b03959095166040850152601f01601f191690920190920194935050505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220b21006f3d8e477c9ac1f3524fe39c46a04384d244390a8f88dbd5f3867c96ffd64736f6c63430008170033",
416
+ "bytecode": "0x60a060405234801561001057600080fd5b5060405161208938038061208983398101604081905261002f91610116565b6001600160a01b03811660805261004461004a565b50610146565b600154600160a81b900460ff16156100b85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff90811614610114576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561012857600080fd5b81516001600160a01b038116811461013f57600080fd5b9392505050565b608051611f216101686000396000818161013601526106200152611f216000f3fe60806040523480156200001157600080fd5b5060043610620000b25760003560e01c806302cfeaca14620000b7578063078dfbe714620001005780631aad829a14620001195780633e47158c14620001305780634d0bccc514620001585780634e71e0c814620001d457806389c5163314620001de5780638da5cb5b14620001f5578063affed0e01462000209578063c4d66de81462000222578063e1bfd4771462000239578063e30c39781462000250575b600080fd5b620000e3620000c836600462000c27565b6034602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b620001176200011136600462000c6f565b62000264565b005b620001176200012a36600462000ccf565b62000372565b620000e37f000000000000000000000000000000000000000000000000000000000000000081565b6200019e6200016936600462000c27565b60326020526000908152604090208054600182015460028301546003909301546001600160a01b039283169391929091169084565b604051620000f794939291906001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b6200011762000498565b620000e3620001ef36600462000df8565b62000546565b600054620000e3906001600160a01b031681565b6200021360335481565b604051908152602001620000f7565b620001176200023336600462000e7e565b6200071c565b620000e36200024a36600462000e9c565b6200084c565b600154620000e3906001600160a01b031681565b6000546001600160a01b031633146200029a5760405162461bcd60e51b8152600401620002919062000eef565b60405180910390fd5b811562000350576001600160a01b038316151580620002b65750805b620002fc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015260640162000291565b600080546040516001600160a01b038087169392169160008051602062001eac83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6000546001600160a01b031633146200039f5760405162461bcd60e51b8152600401620002919062000eef565b80516001600160a01b03161580620003c2575060408101516001600160a01b0316155b80620003d057506020810151155b80620003de57506060810151155b15620004035781816040516303b417d360e31b81526004016200029192919062000f24565b600082815260326020908152604091829020835181546001600160a01b03199081166001600160a01b03928316178355928501516001830155848401516002830180549094169116179091556060830151600390910155517f5f419bdcef2cdc4cdb667c8d94e4b419b1d6beec9dfb92d205a530c54f0de3cc906200048c908490849062000f24565b60405180910390a15050565b6001546001600160a01b0316338114620004f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015260640162000291565b600080546040516001600160a01b038085169392169160008051602062001eac83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000848152603260209081526040808320815160808101835281546001600160a01b039081168083526001840154958301959095526002830154169281019290925260030154606082015290620005b457604051639661f39160e01b81526004810187905260240162000291565b60006200061960004660336000815480929190620005d29062000f63565b9091555060408051602081019390935282015260600160405160208183030381529060405280519060200120888560000151866020015187604001518860600151620009b9565b90506000817f0000000000000000000000000000000000000000000000000000000000000000876040516200064e9062000c19565b6200065c9392919062000fd3565b604051809103906000f08015801562000679573d6000803e3d6000fd5b50905060008051602062001ecc833981519152888883604051620006a0939291906200100a565b60405180910390a160405163078dfbe760e01b81526001600160a01b0382169063078dfbe790620006dc9088906001906000906004016200103d565b600060405180830381600087803b158015620006f757600080fd5b505af11580156200070c573d6000803e3d6000fd5b50929a9950505050505050505050565b600154600160a81b900460ff161580801562000743575060018054600160a01b900460ff16105b80620007655750303b15801562000765575060018054600160a01b900460ff16145b620007ca5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000291565b6001805460ff60a01b1916600160a01b1790558015620007f8576001805460ff60a81b1916600160a81b1790555b6200080382620009e7565b801562000848576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016200048c565b5050565b6000838152603260209081526040808320815160808101835281546001600160a01b039081168083526001840154958301959095526002830154169281019290925260030154606082015290620008ba57604051639661f39160e01b81526004810186905260240162000291565b603380546200091b91600091469183620008d48362000f63565b9091555060408051602081019390935282015260600160405160208183030381529060405280519060200120868460000151856020015186604001518760600151620009b9565b915060008051602062001ecc83398151915285858460405162000941939291906200100a565b60405180910390a160405163078dfbe760e01b81526001600160a01b0383169063078dfbe7906200097d9086906001906000906004016200103d565b600060405180830381600087803b1580156200099857600080fd5b505af1158015620009ad573d6000803e3d6000fd5b50505050509392505050565b600080620009cb878787878762000a78565b9050620009da89898362000acc565b9998505050505050505050565b600154600160a81b900460ff1662000a565760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000291565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b8451604080516020848701808501808401830190945283835291939192908401876000828b3c856000898301893c506020898101908585010162000abe81838662000bd9565b505050505095945050505050565b60008347101562000b205760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640162000291565b815160000362000b735760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000291565b8282516020840186f590506001600160a01b03811662000bd25760405162461bcd60e51b8152602060048201526019602482015278437265617465323a204661696c6564206f6e206465706c6f7960381b604482015260640162000291565b9392505050565b5b6020811062000bfb578151835260209283019290910190601f190162000bda565b905182516020929092036101000a6000190180199091169116179052565b610e4b806200106183390190565b60006020828403121562000c3a57600080fd5b5035919050565b80356001600160a01b038116811462000c5957600080fd5b919050565b8035801515811462000c5957600080fd5b60008060006060848603121562000c8557600080fd5b62000c908462000c41565b925062000ca06020850162000c5e565b915062000cb06040850162000c5e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008082840360a081121562000ce457600080fd5b833592506080601f198201121562000cfb57600080fd5b50604051608081016001600160401b038111828210171562000d215762000d2162000cb9565b60405262000d326020850162000c41565b81526040840135602082015262000d4c6060850162000c41565b60408201526080939093013560608401525092909150565b600082601f83011262000d7657600080fd5b81356001600160401b038082111562000d935762000d9362000cb9565b604051601f8301601f19908116603f0116810190828211818310171562000dbe5762000dbe62000cb9565b8160405283815286602085880101111562000dd857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121562000e0f57600080fd5b8435935060208501356001600160401b038082111562000e2e57600080fd5b62000e3c8883890162000d64565b9450604087013591508082111562000e5357600080fd5b5062000e628782880162000d64565b92505062000e736060860162000c41565b905092959194509250565b60006020828403121562000e9157600080fd5b62000bd28262000c41565b60008060006060848603121562000eb257600080fd5b8335925060208401356001600160401b0381111562000ed057600080fd5b62000ede8682870162000d64565b92505062000cb06040850162000c41565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b91825280516001600160a01b03908116602080850191909152820151604080850191909152820151166060808401919091520151608082015260a00190565b60006001820162000f8457634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b8181101562000fb35760208185018101518683018201520162000f95565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03848116825283166020820152606060408201819052600090620010019083018462000f8b565b95945050505050565b83815260606020820152600062001025606083018562000f8b565b905060018060a01b0383166040830152949350505050565b6001600160a01b039390931683529015156020830152151560408201526060019056fe608060405260405162000e4b38038062000e4b833981016040819052620000269162000433565b828162000036828260006200004d565b50620000449050826200007f565b50505062000566565b6200005883620000f1565b600082511180620000665750805b156200007a5762000078838362000133565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000c160008051602062000e04833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000ee8162000162565b50565b620000fc8162000200565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200015b838360405180606001604052806027815260200162000e246027913962000297565b9392505050565b6001600160a01b038116620001cd5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b8060008051602062000e048339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200020b8162000316565b6200026f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001c4565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc620001df565b6060600080856001600160a01b031685604051620002b6919062000513565b600060405180830381855af49150503d8060008114620002f3576040519150601f19603f3d011682016040523d82523d6000602084013e620002f8565b606091505b5090925090506200030c8683838762000325565b9695505050505050565b6001600160a01b03163b151590565b60608315620003995782516000036200039157620003438562000316565b620003915760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001c4565b5081620003a5565b620003a58383620003ad565b949350505050565b815115620003be5781518083602001fd5b8060405162461bcd60e51b8152600401620001c4919062000531565b80516001600160a01b0381168114620003f257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200042a57818101518382015260200162000410565b50506000910152565b6000806000606084860312156200044957600080fd5b6200045484620003da565b92506200046460208501620003da565b60408501519092506001600160401b03808211156200048257600080fd5b818601915086601f8301126200049757600080fd5b815181811115620004ac57620004ac620003f7565b604051601f8201601f19908116603f01168101908382118183101715620004d757620004d7620003f7565b81604052828152896020848701011115620004f157600080fd5b620005048360208301602088016200040d565b80955050505050509250925092565b60008251620005278184602087016200040d565b9190910192915050565b6020815260008251806020840152620005528160408501602087016200040d565b601f01601f19169190910160400192915050565b61088e80620005766000396000f3fe60806040523661001357610011610017565b005b6100115b61001f610169565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a5761005361018a565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a576100536101e1565b63070d7c6960e41b6001600160e01b031982160161009a57610053610227565b621eb96f60e61b6001600160e01b03198216016100b957610053610258565b63a39f25e560e01b6001600160e01b03198216016100d957610053610298565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102ac565b565b60006000805160206107f28339815191525b546001600160a01b0316919050565b60606101946102bc565b60006101a33660048184610646565b8101906101b0919061068c565b90506101cd816040518060200160405280600081525060006102c7565b505060408051602081019091526000815290565b60606000806101f33660048184610646565b81019061020091906106bd565b91509150610210828260016102c7565b604051806020016040528060008152509250505090565b60606102316102bc565b60006102403660048184610646565b81019061024d919061068c565b90506101cd816102f3565b60606102626102bc565b600061026c610169565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102a26102bc565b600061026c61034a565b6101676102b761034a565b610359565b341561016757600080fd5b6102d08361037d565b6000825111806102dd5750805b156102ee576102ec83836103bd565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61031c610169565b604080516001600160a01b03928316815291841660208301520160405180910390a1610347816103e9565b50565b6000610354610480565b905090565b3660008037600080366000845af43d6000803e808015610378573d6000f35b3d6000fd5b61038681610496565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606103e2838360405180606001604052806027815260200161083260279139610516565b9392505050565b6001600160a01b03811661044e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b806000805160206107f28339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b600060008051602061081283398151915261017b565b61049f8161058e565b6105015760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b8060008051602061081283398151915261045f565b6060600080856001600160a01b03168560405161053391906107a2565b600060405180830381855af49150503d806000811461056e576040519150601f19603f3d011682016040523d82523d6000602084013e610573565b606091505b50915091506105848683838761059d565b9695505050505050565b6001600160a01b03163b151590565b6060831561060a578251600003610603576105b78561058e565b6106035760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b5081610614565b610614838361061c565b949350505050565b81511561062c5781518083602001fd5b8060405162461bcd60e51b815260040161014e91906107be565b6000808585111561065657600080fd5b8386111561066357600080fd5b5050820193919092039150565b80356001600160a01b038116811461068757600080fd5b919050565b60006020828403121561069e57600080fd5b6103e282610670565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156106d057600080fd5b6106d983610670565b915060208301356001600160401b03808211156106f557600080fd5b818501915085601f83011261070957600080fd5b81358181111561071b5761071b6106a7565b604051601f8201601f19908116603f01168101908382118183101715610743576107436106a7565b8160405282815288602084870101111561075c57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610799578181015183820152602001610781565b50506000910152565b600082516107b481846020870161077e565b9190910192915050565b60208152600082518060208401526107dd81604085016020870161077e565b601f01601f1916919091016040019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209be0e30e344d3a108dfd392f23df9e6c6c828538613d6f2b0f6fb65e2259d9d364736f6c63430008170033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e007a80415c524a669398df01e97c487fc00986190468c09e2741b44181c5dc8c3a264697066735822122003d2d910eec680fb0306f93f360a6a51e23eaebf6120387e715fe8a9a4b2f6fb64736f6c63430008170033",
417
+ "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620000b25760003560e01c806302cfeaca14620000b7578063078dfbe714620001005780631aad829a14620001195780633e47158c14620001305780634d0bccc514620001585780634e71e0c814620001d457806389c5163314620001de5780638da5cb5b14620001f5578063affed0e01462000209578063c4d66de81462000222578063e1bfd4771462000239578063e30c39781462000250575b600080fd5b620000e3620000c836600462000c27565b6034602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b620001176200011136600462000c6f565b62000264565b005b620001176200012a36600462000ccf565b62000372565b620000e37f000000000000000000000000000000000000000000000000000000000000000081565b6200019e6200016936600462000c27565b60326020526000908152604090208054600182015460028301546003909301546001600160a01b039283169391929091169084565b604051620000f794939291906001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b6200011762000498565b620000e3620001ef36600462000df8565b62000546565b600054620000e3906001600160a01b031681565b6200021360335481565b604051908152602001620000f7565b620001176200023336600462000e7e565b6200071c565b620000e36200024a36600462000e9c565b6200084c565b600154620000e3906001600160a01b031681565b6000546001600160a01b031633146200029a5760405162461bcd60e51b8152600401620002919062000eef565b60405180910390fd5b811562000350576001600160a01b038316151580620002b65750805b620002fc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015260640162000291565b600080546040516001600160a01b038087169392169160008051602062001eac83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6000546001600160a01b031633146200039f5760405162461bcd60e51b8152600401620002919062000eef565b80516001600160a01b03161580620003c2575060408101516001600160a01b0316155b80620003d057506020810151155b80620003de57506060810151155b15620004035781816040516303b417d360e31b81526004016200029192919062000f24565b600082815260326020908152604091829020835181546001600160a01b03199081166001600160a01b03928316178355928501516001830155848401516002830180549094169116179091556060830151600390910155517f5f419bdcef2cdc4cdb667c8d94e4b419b1d6beec9dfb92d205a530c54f0de3cc906200048c908490849062000f24565b60405180910390a15050565b6001546001600160a01b0316338114620004f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015260640162000291565b600080546040516001600160a01b038085169392169160008051602062001eac83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000848152603260209081526040808320815160808101835281546001600160a01b039081168083526001840154958301959095526002830154169281019290925260030154606082015290620005b457604051639661f39160e01b81526004810187905260240162000291565b60006200061960004660336000815480929190620005d29062000f63565b9091555060408051602081019390935282015260600160405160208183030381529060405280519060200120888560000151866020015187604001518860600151620009b9565b90506000817f0000000000000000000000000000000000000000000000000000000000000000876040516200064e9062000c19565b6200065c9392919062000fd3565b604051809103906000f08015801562000679573d6000803e3d6000fd5b50905060008051602062001ecc833981519152888883604051620006a0939291906200100a565b60405180910390a160405163078dfbe760e01b81526001600160a01b0382169063078dfbe790620006dc9088906001906000906004016200103d565b600060405180830381600087803b158015620006f757600080fd5b505af11580156200070c573d6000803e3d6000fd5b50929a9950505050505050505050565b600154600160a81b900460ff161580801562000743575060018054600160a01b900460ff16105b80620007655750303b15801562000765575060018054600160a01b900460ff16145b620007ca5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000291565b6001805460ff60a01b1916600160a01b1790558015620007f8576001805460ff60a81b1916600160a81b1790555b6200080382620009e7565b801562000848576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016200048c565b5050565b6000838152603260209081526040808320815160808101835281546001600160a01b039081168083526001840154958301959095526002830154169281019290925260030154606082015290620008ba57604051639661f39160e01b81526004810186905260240162000291565b603380546200091b91600091469183620008d48362000f63565b9091555060408051602081019390935282015260600160405160208183030381529060405280519060200120868460000151856020015186604001518760600151620009b9565b915060008051602062001ecc83398151915285858460405162000941939291906200100a565b60405180910390a160405163078dfbe760e01b81526001600160a01b0383169063078dfbe7906200097d9086906001906000906004016200103d565b600060405180830381600087803b1580156200099857600080fd5b505af1158015620009ad573d6000803e3d6000fd5b50505050509392505050565b600080620009cb878787878762000a78565b9050620009da89898362000acc565b9998505050505050505050565b600154600160a81b900460ff1662000a565760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000291565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b8451604080516020848701808501808401830190945283835291939192908401876000828b3c856000898301893c506020898101908585010162000abe81838662000bd9565b505050505095945050505050565b60008347101562000b205760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640162000291565b815160000362000b735760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000291565b8282516020840186f590506001600160a01b03811662000bd25760405162461bcd60e51b8152602060048201526019602482015278437265617465323a204661696c6564206f6e206465706c6f7960381b604482015260640162000291565b9392505050565b5b6020811062000bfb578151835260209283019290910190601f190162000bda565b905182516020929092036101000a6000190180199091169116179052565b610e4b806200106183390190565b60006020828403121562000c3a57600080fd5b5035919050565b80356001600160a01b038116811462000c5957600080fd5b919050565b8035801515811462000c5957600080fd5b60008060006060848603121562000c8557600080fd5b62000c908462000c41565b925062000ca06020850162000c5e565b915062000cb06040850162000c5e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008082840360a081121562000ce457600080fd5b833592506080601f198201121562000cfb57600080fd5b50604051608081016001600160401b038111828210171562000d215762000d2162000cb9565b60405262000d326020850162000c41565b81526040840135602082015262000d4c6060850162000c41565b60408201526080939093013560608401525092909150565b600082601f83011262000d7657600080fd5b81356001600160401b038082111562000d935762000d9362000cb9565b604051601f8301601f19908116603f0116810190828211818310171562000dbe5762000dbe62000cb9565b8160405283815286602085880101111562000dd857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121562000e0f57600080fd5b8435935060208501356001600160401b038082111562000e2e57600080fd5b62000e3c8883890162000d64565b9450604087013591508082111562000e5357600080fd5b5062000e628782880162000d64565b92505062000e736060860162000c41565b905092959194509250565b60006020828403121562000e9157600080fd5b62000bd28262000c41565b60008060006060848603121562000eb257600080fd5b8335925060208401356001600160401b0381111562000ed057600080fd5b62000ede8682870162000d64565b92505062000cb06040850162000c41565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b91825280516001600160a01b03908116602080850191909152820151604080850191909152820151166060808401919091520151608082015260a00190565b60006001820162000f8457634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b8181101562000fb35760208185018101518683018201520162000f95565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03848116825283166020820152606060408201819052600090620010019083018462000f8b565b95945050505050565b83815260606020820152600062001025606083018562000f8b565b905060018060a01b0383166040830152949350505050565b6001600160a01b039390931683529015156020830152151560408201526060019056fe608060405260405162000e4b38038062000e4b833981016040819052620000269162000433565b828162000036828260006200004d565b50620000449050826200007f565b50505062000566565b6200005883620000f1565b600082511180620000665750805b156200007a5762000078838362000133565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000c160008051602062000e04833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000ee8162000162565b50565b620000fc8162000200565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200015b838360405180606001604052806027815260200162000e246027913962000297565b9392505050565b6001600160a01b038116620001cd5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b8060008051602062000e048339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200020b8162000316565b6200026f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001c4565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc620001df565b6060600080856001600160a01b031685604051620002b6919062000513565b600060405180830381855af49150503d8060008114620002f3576040519150601f19603f3d011682016040523d82523d6000602084013e620002f8565b606091505b5090925090506200030c8683838762000325565b9695505050505050565b6001600160a01b03163b151590565b60608315620003995782516000036200039157620003438562000316565b620003915760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001c4565b5081620003a5565b620003a58383620003ad565b949350505050565b815115620003be5781518083602001fd5b8060405162461bcd60e51b8152600401620001c4919062000531565b80516001600160a01b0381168114620003f257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200042a57818101518382015260200162000410565b50506000910152565b6000806000606084860312156200044957600080fd5b6200045484620003da565b92506200046460208501620003da565b60408501519092506001600160401b03808211156200048257600080fd5b818601915086601f8301126200049757600080fd5b815181811115620004ac57620004ac620003f7565b604051601f8201601f19908116603f01168101908382118183101715620004d757620004d7620003f7565b81604052828152896020848701011115620004f157600080fd5b620005048360208301602088016200040d565b80955050505050509250925092565b60008251620005278184602087016200040d565b9190910192915050565b6020815260008251806020840152620005528160408501602087016200040d565b601f01601f19169190910160400192915050565b61088e80620005766000396000f3fe60806040523661001357610011610017565b005b6100115b61001f610169565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a5761005361018a565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a576100536101e1565b63070d7c6960e41b6001600160e01b031982160161009a57610053610227565b621eb96f60e61b6001600160e01b03198216016100b957610053610258565b63a39f25e560e01b6001600160e01b03198216016100d957610053610298565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102ac565b565b60006000805160206107f28339815191525b546001600160a01b0316919050565b60606101946102bc565b60006101a33660048184610646565b8101906101b0919061068c565b90506101cd816040518060200160405280600081525060006102c7565b505060408051602081019091526000815290565b60606000806101f33660048184610646565b81019061020091906106bd565b91509150610210828260016102c7565b604051806020016040528060008152509250505090565b60606102316102bc565b60006102403660048184610646565b81019061024d919061068c565b90506101cd816102f3565b60606102626102bc565b600061026c610169565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102a26102bc565b600061026c61034a565b6101676102b761034a565b610359565b341561016757600080fd5b6102d08361037d565b6000825111806102dd5750805b156102ee576102ec83836103bd565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61031c610169565b604080516001600160a01b03928316815291841660208301520160405180910390a1610347816103e9565b50565b6000610354610480565b905090565b3660008037600080366000845af43d6000803e808015610378573d6000f35b3d6000fd5b61038681610496565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606103e2838360405180606001604052806027815260200161083260279139610516565b9392505050565b6001600160a01b03811661044e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b806000805160206107f28339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b600060008051602061081283398151915261017b565b61049f8161058e565b6105015760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b8060008051602061081283398151915261045f565b6060600080856001600160a01b03168560405161053391906107a2565b600060405180830381855af49150503d806000811461056e576040519150601f19603f3d011682016040523d82523d6000602084013e610573565b606091505b50915091506105848683838761059d565b9695505050505050565b6001600160a01b03163b151590565b6060831561060a578251600003610603576105b78561058e565b6106035760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b5081610614565b610614838361061c565b949350505050565b81511561062c5781518083602001fd5b8060405162461bcd60e51b815260040161014e91906107be565b6000808585111561065657600080fd5b8386111561066357600080fd5b5050820193919092039150565b80356001600160a01b038116811461068757600080fd5b919050565b60006020828403121561069e57600080fd5b6103e282610670565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156106d057600080fd5b6106d983610670565b915060208301356001600160401b03808211156106f557600080fd5b818501915085601f83011261070957600080fd5b81358181111561071b5761071b6106a7565b604051601f8201601f19908116603f01168101908382118183101715610743576107436106a7565b8160405282815288602084870101111561075c57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610799578181015183820152602001610781565b50506000910152565b600082516107b481846020870161077e565b9190910192915050565b60208152600082518060208401526107dd81604085016020870161077e565b601f01601f1916919091016040019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209be0e30e344d3a108dfd392f23df9e6c6c828538613d6f2b0f6fb65e2259d9d364736f6c63430008170033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e007a80415c524a669398df01e97c487fc00986190468c09e2741b44181c5dc8c3a264697066735822122003d2d910eec680fb0306f93f360a6a51e23eaebf6120387e715fe8a9a4b2f6fb64736f6c63430008170033",
346
418
  "linkReferences": {},
347
419
  "deployedLinkReferences": {}
348
420
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4429c89380c6efdf32578c1cde66d01a.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dcbabd457397536f0d024e14cbca864f.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dcbabd457397536f0d024e14cbca864f.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dcbabd457397536f0d024e14cbca864f.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dcbabd457397536f0d024e14cbca864f.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dcbabd457397536f0d024e14cbca864f.json"
3
+ "buildInfo": "../../../../build-info/4d25414379cd41283922452ea5c868ed.json"
4
4
  }
@@ -3,4 +3,11 @@ pragma solidity ^0.8.0;
3
3
 
4
4
  interface IPCommonSYFactory {
5
5
  function deploySY(bytes32 id, bytes memory constructorParams, address syOwner) external returns (address SY);
6
+
7
+ function deployUpgradableSY(
8
+ bytes32 id,
9
+ bytes memory constructorParams,
10
+ bytes memory initData,
11
+ address syOwner
12
+ ) external returns (address SY);
6
13
  }
@@ -11,6 +11,10 @@ contract PendleCommonPoolDeployHelperV2 is PendlePoolDeployHelperV2, BoringOwnab
11
11
  bytes32 public constant ERC4626_NOT_REDEEMABLE_DEPLOY_ID = keccak256("PendleERC4626NotRedeemableToAssetSYV2");
12
12
  bytes32 public constant ERC20_DEPLOY_ID = keccak256("PendleERC20SY");
13
13
 
14
+ bytes32 public constant ERC4626_WITH_ADAPTER_ID = keccak256("PendleERC4626WithAdapterSY");
15
+ bytes32 public constant ERC4626_NO_REDEEM_WITH_ADAPTER_ID = keccak256("PendleERC4626NoRedeemWithAdapterSY");
16
+ bytes32 public constant ERC20_WITH_ADAPTER_ID = keccak256("PendleERC20WithAdapterSY");
17
+
14
18
  address public immutable syFactory;
15
19
 
16
20
  constructor(
@@ -65,4 +69,55 @@ contract PendleCommonPoolDeployHelperV2 is PendlePoolDeployHelperV2, BoringOwnab
65
69
  address SY = IPCommonSYFactory(syFactory).deploySY(ERC20_DEPLOY_ID, constructorParams, syOwner);
66
70
  return deploy5115MarketAndSeedLiquidity(SY, config, tokenToSeedLiqudity, amountToSeed);
67
71
  }
72
+
73
+ function deployERC4626WithAdapterMarket(
74
+ bytes memory constructorParams,
75
+ bytes memory initData,
76
+ PoolConfig memory config,
77
+ address tokenToSeedLiqudity,
78
+ uint256 amountToSeed,
79
+ address syOwner
80
+ ) external returns (PoolDeploymentAddrs memory) {
81
+ address SY = IPCommonSYFactory(syFactory).deployUpgradableSY(
82
+ ERC4626_WITH_ADAPTER_ID,
83
+ constructorParams,
84
+ initData,
85
+ syOwner
86
+ );
87
+ return deploy5115MarketAndSeedLiquidity(SY, config, tokenToSeedLiqudity, amountToSeed);
88
+ }
89
+
90
+ function deployERC4626NoRedeemWithAdapterMarket(
91
+ bytes memory constructorParams,
92
+ bytes memory initData,
93
+ PoolConfig memory config,
94
+ address tokenToSeedLiqudity,
95
+ uint256 amountToSeed,
96
+ address syOwner
97
+ ) external returns (PoolDeploymentAddrs memory) {
98
+ address SY = IPCommonSYFactory(syFactory).deployUpgradableSY(
99
+ ERC4626_NO_REDEEM_WITH_ADAPTER_ID,
100
+ constructorParams,
101
+ initData,
102
+ syOwner
103
+ );
104
+ return deploy5115MarketAndSeedLiquidity(SY, config, tokenToSeedLiqudity, amountToSeed);
105
+ }
106
+
107
+ function deployERC20WithAdapterMarket(
108
+ bytes memory constructorParams,
109
+ bytes memory initData,
110
+ PoolConfig memory config,
111
+ address tokenToSeedLiqudity,
112
+ uint256 amountToSeed,
113
+ address syOwner
114
+ ) external returns (PoolDeploymentAddrs memory) {
115
+ address SY = IPCommonSYFactory(syFactory).deployUpgradableSY(
116
+ ERC20_WITH_ADAPTER_ID,
117
+ constructorParams,
118
+ initData,
119
+ syOwner
120
+ );
121
+ return deploy5115MarketAndSeedLiquidity(SY, config, tokenToSeedLiqudity, amountToSeed);
122
+ }
68
123
  }
@@ -4,6 +4,7 @@ pragma solidity ^0.8.17;
4
4
  import "../../core/libraries/BoringOwnableUpgradeableV2.sol";
5
5
  import "../../core/libraries/BaseSplitCodeFactory.sol";
6
6
  import "../../interfaces/IOwnable.sol";
7
+ import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
7
8
 
8
9
  contract PendleCommonSYFactory is BoringOwnableUpgradeableV2 {
9
10
  error InvalidCreationCode(bytes32 id, CreationCode code);
@@ -21,11 +22,16 @@ contract PendleCommonSYFactory is BoringOwnableUpgradeableV2 {
21
22
 
22
23
  event DeployedSY(bytes32 id, bytes constructorParams, address SY);
23
24
 
25
+ address public immutable proxyAdmin;
26
+
24
27
  mapping(bytes32 => CreationCode) public creationCodes;
25
28
 
26
29
  uint256 public nonce;
27
30
 
28
- constructor() {
31
+ mapping(bytes32 => address) public implementations;
32
+
33
+ constructor(address _proxyAdmin) {
34
+ proxyAdmin = _proxyAdmin;
29
35
  _disableInitializers();
30
36
  }
31
37
 
@@ -66,4 +72,33 @@ contract PendleCommonSYFactory is BoringOwnableUpgradeableV2 {
66
72
  emit DeployedSY(id, constructorParams, SY);
67
73
  IOwnable(SY).transferOwnership(syOwner, true, false);
68
74
  }
75
+
76
+ function deployUpgradableSY(
77
+ bytes32 id,
78
+ bytes memory constructorParams,
79
+ bytes memory initData,
80
+ address syOwner
81
+ ) external returns (address) {
82
+ CreationCode memory code = creationCodes[id];
83
+
84
+ if (code.creationCodeContractA == address(0)) {
85
+ revert InvalidSYId(id);
86
+ }
87
+
88
+ address implementation = BaseSplitCodeFactory._create2(
89
+ 0,
90
+ keccak256(abi.encode(block.chainid, nonce++)),
91
+ constructorParams,
92
+ code.creationCodeContractA,
93
+ code.creationCodeSizeA,
94
+ code.creationCodeContractB,
95
+ code.creationCodeSizeB
96
+ );
97
+ address proxy = address(new TransparentUpgradeableProxy(implementation, proxyAdmin, initData));
98
+
99
+ emit DeployedSY(id, constructorParams, proxy);
100
+
101
+ IOwnable(proxy).transferOwnership(syOwner, true, false);
102
+ return proxy;
103
+ }
69
104
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "5.8.2",
5
+ "version": "5.8.3",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",