@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.
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.json +34 -0
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +320 -2
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +75 -3
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/contracts/interfaces/IPCommonSYFactory.sol +7 -0
- package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +55 -0
- package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +36 -1
- package/package.json +1 -1
- package/typechain-types/ERC1967Proxy.ts +97 -0
- package/typechain-types/IPCommonSYFactory.ts +49 -0
- package/typechain-types/ITransparentUpgradeableProxy.ts +235 -0
- package/typechain-types/MarketSwapNSeed.ts +222 -0
- package/typechain-types/PendleCommonPoolDeployHelperV2.ts +267 -0
- package/typechain-types/PendleCommonSYFactory.ts +96 -0
- package/typechain-types/TransparentUpgradeableProxy.ts +97 -0
- package/typechain-types/factories/ERC1967Proxy__factory.ts +145 -0
- package/typechain-types/factories/IPCommonSYFactory__factory.ts +34 -0
- package/typechain-types/factories/ITransparentUpgradeableProxy__factory.ts +145 -0
- package/typechain-types/factories/MarketSwapNSeed__factory.ts +287 -0
- package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +319 -1
- package/typechain-types/factories/PendleCommonSYFactory__factory.ts +81 -4
- package/typechain-types/factories/TransparentUpgradeableProxy__factory.ts +160 -0
- package/typechain-types/hardhat.d.ts +45 -0
- 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
|
}
|
|
@@ -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
|
-
|
|
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
|
}
|