@pendle/core-v2 0.3.0 → 0.5.0
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/contracts/SuperComposableYield/ISuperComposableYield.sol +14 -0
- package/contracts/SuperComposableYield/implementations/IRewardManager.sol +16 -0
- package/contracts/SuperComposableYield/implementations/RewardManager.sol +24 -5
- package/contracts/SuperComposableYield/implementations/SCYBase.sol +21 -1
- package/contracts/core/PendleMarket.sol +10 -18
- package/contracts/core/PendleMarketFactory.sol +49 -22
- package/contracts/core/PendleRouter.sol +74 -0
- package/contracts/core/PendleYieldToken.sol +20 -12
- package/contracts/core/{router/PendleRouterStaticUpg.sol → RouterStatic.sol} +6 -6
- package/contracts/core/actions/ActionCallback.sol +101 -0
- package/contracts/core/{router/PendleRouterCoreUpg.sol → actions/ActionCore.sol} +6 -10
- package/contracts/core/{router/PendleRouterYTUpg.sol → actions/ActionYT.sol} +6 -11
- package/contracts/core/{router/base/PendleRouterOTBaseUpg.sol → actions/base/ActionSCYAndOTBase.sol} +1 -5
- package/contracts/core/{router/base/PendleRouterSCYAndForgeBaseUpg.sol → actions/base/ActionSCYAndYOBase.sol} +6 -8
- package/contracts/core/{router/base/PendleRouterYTBaseUpg.sol → actions/base/ActionSCYAndYTBase.sol} +7 -99
- package/contracts/core/actions/base/ActionType.sol +11 -0
- package/contracts/interfaces/{IPRouterCore.sol → IPActionCore.sol} +1 -1
- package/contracts/interfaces/{IPRouterYT.sol → IPActionYT.sol} +1 -3
- package/contracts/interfaces/IPAllAction.sol +9 -0
- package/contracts/interfaces/IPMarketFactory.sol +11 -0
- package/contracts/interfaces/IPYieldToken.sol +21 -3
- package/contracts/libraries/math/MarketMathCore.sol +3 -2
- package/package.json +1 -1
- package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
- package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
- package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
- package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
- package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
- package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
- package/typechain-types/IPActionAll.ts +1431 -0
- package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
- package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
- package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
- package/typechain-types/IPAllAction.ts +1431 -0
- package/typechain-types/IPMarket.ts +3 -0
- package/typechain-types/IPMarketFactory.ts +46 -0
- package/typechain-types/IPYieldToken.ts +342 -14
- package/typechain-types/IRewardManager.ts +178 -0
- package/typechain-types/ISuperComposableYield.ts +97 -2
- package/typechain-types/PendleAaveV3SCY.ts +167 -66
- package/typechain-types/PendleBenQiErc20SCY.ts +167 -66
- package/typechain-types/PendleBtrflyScy.ts +97 -2
- package/typechain-types/PendleMarket.ts +3 -59
- package/typechain-types/PendleMarketFactory.ts +150 -24
- package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
- package/typechain-types/PendleYearnVaultScy.ts +97 -2
- package/typechain-types/PendleYieldToken.ts +116 -101
- package/typechain-types/RewardManager.ts +48 -42
- package/typechain-types/RouterStatic.ts +828 -0
- package/typechain-types/SCYBase.ts +97 -2
- package/typechain-types/SCYBaseWithRewards.ts +167 -66
- package/typechain-types/factories/ActionCallback__factory.ts +116 -0
- package/typechain-types/factories/ActionCore__factory.ts +632 -0
- package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
- package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
- package/typechain-types/factories/ActionStatic__factory.ts +308 -0
- package/typechain-types/factories/ActionYT__factory.ts +370 -0
- package/typechain-types/factories/IPActionAll__factory.ts +983 -0
- package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
- package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
- package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
- package/typechain-types/factories/IPAllAction__factory.ts +983 -0
- package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
- package/typechain-types/factories/IPMarket__factory.ts +7 -2
- package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
- package/typechain-types/factories/IRewardManager__factory.ts +92 -0
- package/typechain-types/factories/ISuperComposableYield__factory.ts +68 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +102 -34
- package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +102 -34
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +69 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
- package/typechain-types/factories/PendleMarket__factory.ts +8 -69
- package/typechain-types/factories/PendleRouter__factory.ts +282 -0
- package/typechain-types/factories/PendleYearnVaultScy__factory.ts +69 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
- package/typechain-types/factories/RewardManager__factory.ts +18 -18
- package/typechain-types/factories/RouterStatic__factory.ts +883 -0
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +101 -33
- package/typechain-types/factories/SCYBase__factory.ts +68 -0
- package/typechain-types/hardhat.d.ts +93 -75
- package/typechain-types/index.ts +22 -18
- package/contracts/core/router/PendleRouterProxy.sol +0 -84
- package/contracts/interfaces/IPFlashCallBack.sol +0 -10
- package/typechain-types/BoringOwnable.ts +0 -194
- package/typechain-types/BoringOwnableUpg.ts +0 -194
- package/typechain-types/BoringOwnableUpgData.ts +0 -100
- package/typechain-types/IPFlashCallback.ts +0 -115
- package/typechain-types/IPermissionsV2.ts +0 -87
- package/typechain-types/PendleRouterViewUpg.ts +0 -307
- package/typechain-types/PermissionsV2.ts +0 -87
- package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
- package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
- package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
- package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
- package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
- package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
- package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
- package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
- package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
- package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
- package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
- package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
- package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
|
@@ -20,16 +20,6 @@ const _abi = [
|
|
|
20
20
|
name: "_OT",
|
|
21
21
|
type: "address",
|
|
22
22
|
},
|
|
23
|
-
{
|
|
24
|
-
internalType: "uint256",
|
|
25
|
-
name: "_rateOracleTimeWindow",
|
|
26
|
-
type: "uint256",
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
internalType: "uint256",
|
|
30
|
-
name: "_feeRateRoot",
|
|
31
|
-
type: "uint256",
|
|
32
|
-
},
|
|
33
23
|
{
|
|
34
24
|
internalType: "int256",
|
|
35
25
|
name: "_scalarRoot",
|
|
@@ -40,11 +30,6 @@ const _abi = [
|
|
|
40
30
|
name: "_initialAnchor",
|
|
41
31
|
type: "int256",
|
|
42
32
|
},
|
|
43
|
-
{
|
|
44
|
-
internalType: "uint8",
|
|
45
|
-
name: "_reserveFeePercent",
|
|
46
|
-
type: "uint8",
|
|
47
|
-
},
|
|
48
33
|
],
|
|
49
34
|
stateMutability: "nonpayable",
|
|
50
35
|
type: "constructor",
|
|
@@ -312,19 +297,6 @@ const _abi = [
|
|
|
312
297
|
stateMutability: "view",
|
|
313
298
|
type: "function",
|
|
314
299
|
},
|
|
315
|
-
{
|
|
316
|
-
inputs: [],
|
|
317
|
-
name: "feeRateRoot",
|
|
318
|
-
outputs: [
|
|
319
|
-
{
|
|
320
|
-
internalType: "uint256",
|
|
321
|
-
name: "",
|
|
322
|
-
type: "uint256",
|
|
323
|
-
},
|
|
324
|
-
],
|
|
325
|
-
stateMutability: "view",
|
|
326
|
-
type: "function",
|
|
327
|
-
},
|
|
328
300
|
{
|
|
329
301
|
inputs: [
|
|
330
302
|
{
|
|
@@ -421,19 +393,6 @@ const _abi = [
|
|
|
421
393
|
stateMutability: "view",
|
|
422
394
|
type: "function",
|
|
423
395
|
},
|
|
424
|
-
{
|
|
425
|
-
inputs: [],
|
|
426
|
-
name: "rateOracleTimeWindow",
|
|
427
|
-
outputs: [
|
|
428
|
-
{
|
|
429
|
-
internalType: "uint256",
|
|
430
|
-
name: "",
|
|
431
|
-
type: "uint256",
|
|
432
|
-
},
|
|
433
|
-
],
|
|
434
|
-
stateMutability: "view",
|
|
435
|
-
type: "function",
|
|
436
|
-
},
|
|
437
396
|
{
|
|
438
397
|
inputs: [
|
|
439
398
|
{
|
|
@@ -466,6 +425,11 @@ const _abi = [
|
|
|
466
425
|
name: "oracleRate",
|
|
467
426
|
type: "uint256",
|
|
468
427
|
},
|
|
428
|
+
{
|
|
429
|
+
internalType: "address",
|
|
430
|
+
name: "treasury",
|
|
431
|
+
type: "address",
|
|
432
|
+
},
|
|
469
433
|
{
|
|
470
434
|
internalType: "int256",
|
|
471
435
|
name: "scalarRoot",
|
|
@@ -487,9 +451,9 @@ const _abi = [
|
|
|
487
451
|
type: "uint256",
|
|
488
452
|
},
|
|
489
453
|
{
|
|
490
|
-
internalType: "
|
|
454
|
+
internalType: "uint256",
|
|
491
455
|
name: "reserveFeePercent",
|
|
492
|
-
type: "
|
|
456
|
+
type: "uint256",
|
|
493
457
|
},
|
|
494
458
|
{
|
|
495
459
|
internalType: "uint256",
|
|
@@ -580,19 +544,6 @@ const _abi = [
|
|
|
580
544
|
stateMutability: "nonpayable",
|
|
581
545
|
type: "function",
|
|
582
546
|
},
|
|
583
|
-
{
|
|
584
|
-
inputs: [],
|
|
585
|
-
name: "reserveFeePercent",
|
|
586
|
-
outputs: [
|
|
587
|
-
{
|
|
588
|
-
internalType: "int8",
|
|
589
|
-
name: "",
|
|
590
|
-
type: "int8",
|
|
591
|
-
},
|
|
592
|
-
],
|
|
593
|
-
stateMutability: "view",
|
|
594
|
-
type: "function",
|
|
595
|
-
},
|
|
596
547
|
{
|
|
597
548
|
inputs: [],
|
|
598
549
|
name: "scalarRoot",
|
|
@@ -779,7 +730,7 @@ const _abi = [
|
|
|
779
730
|
];
|
|
780
731
|
|
|
781
732
|
const _bytecode =
|
|
782
|
-
"0x6102006040523480156200001257600080fd5b50604051620042bc380380620042bc8339810160408190526200003591620003d9565b6040518060400160405280600d81526020016c14195b991b194813585c9ad95d609a1b8152506040518060400160405280600a8152602001691411539113114b53141560b21b8152506012886001600160a01b031663e184c9be6040518163ffffffff1660e01b815260040160206040518083038186803b158015620000ba57600080fd5b505afa158015620000cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f591906200043f565b8351849084906200010e90600390602085019062000316565b5080516200012490600490602084019062000316565b5050504281116200016d5760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f45585049525960901b60448201526064015b60405180910390fd5b60ff9091166080524260a05260c05250503360e05260016005556001600160a01b038616610100819052604080516323dfd63160e11b815290516347bfac6291600480820192602092909190829003018186803b158015620001ce57600080fd5b505afa158015620001e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000209919062000459565b6001600160a01b0316610120816001600160a01b031681525050856001600160a01b031663781c18db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025d57600080fd5b505afa15801562000272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000298919062000459565b6001600160a01b0316610140526101808490526101608390526101c0859052606460ff82161115620003005760405162461bcd60e51b815260206004820152601060248201526f696e76616c696420666565207261746560801b604482015260640162000164565b60000b6101e0526101a05250620004bb92505050565b82805462000324906200047e565b90600052602060002090601f01602090048101928262000348576000855562000393565b82601f106200036357805160ff191683800117855562000393565b8280016001018555821562000393579182015b828111156200039357825182559160200191906001019062000376565b50620003a1929150620003a5565b5090565b5b80821115620003a15760008155600101620003a6565b80516001600160a01b0381168114620003d457600080fd5b919050565b60008060008060008060c08789031215620003f357600080fd5b620003fe87620003bc565b95506020870151945060408701519350606087015192506080870151915060a087015160ff811681146200043157600080fd5b809150509295509295509295565b6000602082840312156200045257600080fd5b5051919050565b6000602082840312156200046c57600080fd5b6200047782620003bc565b9392505050565b600181811c908216806200049357607f821691505b60208210811415620004b557634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051613cb26200060a6000396000818161022401526109230152600081816101c001526109990152600081816105850152610de20152600081816101f501526109730152600081816105ed015261094d0152600081816102dc015261054b01526000818161028f01528181610498015281816107aa01528181610aa001528181610bec01528181610c9c01528181610d9601528181610f490152818161105c015281816111ce01526112560152600081816102b40152818161063b01528181610b2701528181610e9701528181611090015261136201526000818161061401528181610b53015261128201526000818161030d01528181610675015281816109bf01528181610a4d015261117b0152600061069c0152600061033b0152613cb26000f3fe608060405234801561001057600080fd5b50600436106101755760003560e01c806306fdde031461017a578063095ea7b314610198578063156d8be3146101bb5780631648b34e146101f057806318160ddd146102175780631feec2441461021f57806323b872dd146102595780632b20096c1461026c5780632c8ce6bc146102815780632f13b60c1461030b578063313ce56714610334578063395093511461036557806339e718f61461037857806341af07091461041057806347bfac62146104935780634f7b3d2f146104c75780635308fcb1146104ef57806370a082311461051d578063781c18db14610546578063863cb94e1461056d57806391e7c0151461058057806395d89b41146105a757806399bc9998146105af578063a457c2d7146105c2578063a9059cbb146105d5578063af247da3146105e8578063c45a01551461060f578063c836545a14610636578063dd62ed3e1461065d578063e184c9be14610670578063f1653f6e14610697575b600080fd5b6101826106be565b60405161018f9190613547565b60405180910390f35b6101ab6101a6366004613592565b610750565b604051901515815260200161018f565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161018f565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6002546101e2565b6102467f000000000000000000000000000000000000000000000000000000000000000081565b60405160009190910b815260200161018f565b6101ab6102673660046135be565b61076a565b610274610790565b60405161018f91906135ff565b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f0000000000000000000000000000000000000000000000000000000000000000811660208301527f0000000000000000000000000000000000000000000000000000000000000000169181019190915260600161018f565b7f00000000000000000000000000000000000000000000000000000000000000004210156101ab565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161018f565b6101ab610373366004613592565b61083a565b61038b610386366004613651565b610879565b60405161018f9190600061016082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525092915050565b60065460075461045291600f81810b92600160801b909204900b906001600160701b0380821691600160701b810490911690600160e01b900463ffffffff1685565b60408051600f96870b81529490950b60208501526001600160701b039283169484019490945216606082015263ffffffff909116608082015260a00161018f565b6104ba7f000000000000000000000000000000000000000000000000000000000000000081565b60405161018f919061366e565b6104da6104d53660046136ca565b610a17565b6040805192835260208301919091520161018f565b6105026104fd3660046136ca565b610d54565b6040805193845260208401929092529082015260600161018f565b6101e261052b366004613733565b6001600160a01b031660009081526020819052604090205490565b6104ba7f000000000000000000000000000000000000000000000000000000000000000081565b6104da61057b366004613750565b611005565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b61018261113f565b6104da6105bd3660046136ca565b61114e565b6101ab6105d0366004613592565b6113f2565b6101ab6105e3366004613592565b61148f565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6104ba7f000000000000000000000000000000000000000000000000000000000000000081565b6104ba7f000000000000000000000000000000000000000000000000000000000000000081565b6101e261066b3660046137ab565b61149d565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6060600380546106cd906137e4565b80601f01602080910402602001604051908101604052809291908181526020018280546106f9906137e4565b80156107465780601f1061071b57610100808354040283529160200191610746565b820191906000526020600020905b81548152906001019060200180831161072957829003601f168201915b5050505050905090565b60003361075e8185856114c8565b60019150505b92915050565b6000336107788582856115ec565b610783858585611666565b60019150505b9392505050565b6040516359436f3b60e11b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b286de76906107df90309060040161366e565b600060405180830381600087803b1580156107f957600080fd5b505af115801561080d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610835919081019061382f565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061075e90829086906108749087906138f6565b6114c8565b6108d660405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60068054600f81810b8452600160801b909104900b60208301526109016108fc60025490565b611822565b604083015260018101546001600160701b03600160701b8204811660608501527f000000000000000000000000000000000000000000000000000000000000000060000b6101008501527f000000000000000000000000000000000000000000000000000000000000000060808501527f000000000000000000000000000000000000000000000000000000000000000060a08501527f000000000000000000000000000000000000000000000000000000000000000060c08501527f000000000000000000000000000000000000000000000000000000000000000060e0850152811661012084015263ffffffff600160e01b909104166101408301528215610a1157610a0f8242611838565b505b50919050565b60008060026005541415610a465760405162461bcd60e51b8152600401610a3d9061390e565b60405180910390fd5b60026005557f00000000000000000000000000000000000000000000000000000000000000004210610a8a5760405162461bcd60e51b8152600401610a3d90613945565b6000610a966001610879565b9050610acf610ac47f0000000000000000000000000000000000000000000000000000000000000000611906565b82908942600161197b565b909350915085831115610b1a5760405162461bcd60e51b81526020600482015260136024820152721cd8de481a5b88195e18d95959081b1a5b5a5d606a1b6044820152606401610a3d565b610b4e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001689896119c4565b610c137f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015610baa57600080fd5b505afa158015610bbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be2919061396d565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690846119c4565b8315610c85573363fa483e72610c2889611822565b610c3186611a1b565b88886040518563ffffffff1660e01b8152600401610c5294939291906139b3565b600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610cd190309060040161366e565b60206040518083038186803b158015610ce957600080fd5b505afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2191906139dd565b610d2e8260200151611a2f565b1115610d3957600080fd5b610d4281611a3e565b50600160055590969095509350505050565b600080600060026005541415610d7c5760405162461bcd60e51b8152600401610a3d9061390e565b60026005556000610d8d6001610879565b90506000610dba7f0000000000000000000000000000000000000000000000000000000000000000611906565b90506000610dcc83838c8c6001611b28565b9198509650945090508015610e1257610e0783837f000000000000000000000000000000000000000000000000000000000000000042611b95565b610e12600182611c27565b610e1c8b87611c27565b8615610e805760405163096006e960e11b815233906312c00dd290610e4d908990899089908e908e906004016139f6565b600060405180830381600087803b158015610e6757600080fd5b505af1158015610e7b573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610ecc90309060040161366e565b60206040518083038186803b158015610ee457600080fd5b505afa158015610ef8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1c91906139dd565b8351610f2790611a2f565b1115610f3257600080fd5b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610f7e90309060040161366e565b60206040518083038186803b158015610f9657600080fd5b505afa158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fce91906139dd565b610fdb8460200151611a2f565b1115610fe657600080fd5b610fef83611a3e565b5050506001600581905550955095509592505050565b6000806002600554141561102b5760405162461bcd60e51b8152600401610a3d9061390e565b6002600555600061103c6001610879565b905061104a81876001611cf4565b90935091506110836001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001688856119c4565b6110b76001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001688846119c4565b831561111b5760405163c70cd41360e01b8152339063c70cd413906110e8908990879087908b908b906004016139f6565b600060405180830381600087803b15801561110257600080fd5b505af1158015611116573d6000803e3d6000fd5b505050505b6111253087611d31565b61112e81611a3e565b506001600555909590945092505050565b6060600480546106cd906137e4565b600080600260055414156111745760405162461bcd60e51b8152600401610a3d9061390e565b60026005557f000000000000000000000000000000000000000000000000000000000000000042106111b85760405162461bcd60e51b8152600401610a3d90613945565b60006111c46001610879565b90506111fd6111f27f0000000000000000000000000000000000000000000000000000000000000000611906565b829089426001611e6d565b9093509150858310156112495760405162461bcd60e51b81526020600482015260146024820152731a5b9cdd59999a58da595b9d081cd8de481bdd5d60621b6044820152606401610a3d565b61127d6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001689856119c4565b6112d97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015610baa57600080fd5b831561134b573363fa483e726112ee89611a1b565b6112f786611822565b88886040518563ffffffff1660e01b815260040161131894939291906139b3565b600060405180830381600087803b15801561133257600080fd5b505af1158015611346573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061139790309060040161366e565b60206040518083038186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e791906139dd565b8151610d2e90611a2f565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156114775760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a3d565b61148482868684036114c8565b506001949350505050565b60003361075e818585611666565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661152a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a3d565b6001600160a01b03821661158b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a3d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006115f8848461149d565b9050600019811461166057818110156116535760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a3d565b61166084848484036114c8565b50505050565b6001600160a01b0383166116ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a3d565b6001600160a01b03821661172c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a3d565b6001600160a01b038316600090815260208190526040902054818110156117a45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a3d565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906117db9084906138f6565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613c5d8339815191528460405161181591815260200190565b60405180910390a3611660565b6000600160ff1b821061183457600080fd5b5090565b600081836101400151111561185a575061012082015160608301819052610764565b60008361014001518361186d9190613a1c565b90508360c0015181111561188f57505061012082015160608301819052610764565b60006118a88560c0015183611e8e90919063ffffffff16565b905060006118be82670de0b6b3a7640000613a1c565b905060006118d9828860600151611ebd90919063ffffffff16565b6101408801516118e99085611ebd565b6118f391906138f6565b6060880181905294505050505092915050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561194357600080fd5b505af1158015611957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076491906139dd565b600080600080611996898961198f8a611822565b8989611edb565b915091506119ab6119a683611fa5565b611a2f565b93506119b681611a2f565b925050509550959350505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611a16908490611fb0565b505050565b6000611a2682611822565b61076490613a33565b60008082121561183457600080fd5b8051600690611a4c90612082565b81546001600160801b0319166001600160801b03919091161781556020820151611a7590612082565b81546001600160801b03918216600160801b029116178155610120820151611a9c90612094565b6001820180546001600160701b0319166001600160701b03929092169190911790556060820151611acc90612094565b81600101600e6101000a8154816001600160701b0302191690836001600160701b03160217905550611b028261014001516120a6565b81600101601c6101000a81548163ffffffff021916908363ffffffff1602179055505050565b600080600080600080600080611b518d8d611b428e611822565b611b4b8e611822565b8d6120b8565b9350935093509350611b6284611a2f565b9750611b6d83611a2f565b9650611b7882611a2f565b9550611b8381611a2f565b94505050505095509550955095915050565b8360e001518110611bb85760405162461bcd60e51b8152600401610a3d90613a50565b6000611bd185602001518561228790919063ffffffff16565b90506000828660e00151611be59190613a1c565b90506000611bf387836122c6565b9050611c158760000151848388888c60e00151611c109190613a1c565b612345565b61012090970196909652505050505050565b6001600160a01b038216611c7d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a3d565b8060026000828254611c8f91906138f6565b90915550506001600160a01b03821660009081526020819052604081208054839290611cbc9084906138f6565b90915550506040518181526001600160a01b03831690600090600080516020613c5d8339815191529060200160405180910390a35050565b600080600080611d0d87611d0788611822565b87612398565b91509150611d1a82611a2f565b9350611d2581611a2f565b92505050935093915050565b6001600160a01b038216611d915760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a3d565b6001600160a01b03821660009081526020819052604090205481811015611e055760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a3d565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611e34908490613a1c565b90915550506040518281526000906001600160a01b03851690600080516020613c5d8339815191529060200160405180910390a3505050565b600080600080611e81898961198f8a611a1b565b915091506119ab82611a2f565b600080611ea3670de0b6b3a764000085613a78565b9050828181611eb457611eb4613a97565b04949350505050565b600080611eca8385613a78565b9050670de0b6b3a764000081611eb4565b6000808660e001518410611f015760405162461bcd60e51b8152600401610a3d90613a50565b86518512611f4a5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401610a3d565b6000611f57888887612463565b9050600080611f678a848a61257b565b9092509050611f768983612681565b9450611f828982612681565b93508515611f9857611f988a848b8b898c6126ae565b5050509550959350505050565b600061076482613a33565b6000612005826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661275d9092919063ffffffff16565b805190915015611a1657808060200190518101906120239190613aad565b611a165760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610a3d565b60006001607f1b821261183457600080fd5b6000600160701b821061183457600080fd5b6000600160201b821061183457600080fd5b6000806000806000871380156120ce5750600086135b6121095760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401610a3d565b604089015161213a576121286103e86121228a8a612287565b9061276c565b92506103e893508691508590506121dd565b885160408a01516000919061214f9089613aca565b6121599190613b4f565b905060008a602001518b604001518a6121729190613aca565b61217c9190613b4f565b9050808212156121b2578194508792508a60400151858c602001516121a19190613aca565b6121ab9190613b4f565b93506121da565b8094508893508a60400151858c600001516121cd9190613aca565b6121d79190613b4f565b92505b50505b6000831361222d5760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401610a3d565b841561227b5781896020018181516122459190613b7d565b905250885181908a90612259908390613b7d565b9052506122668484613b7d565b896040018181516122779190613b7d565b9052505b95509550955095915050565b6000806000831261229957600161229d565b6000195b90506122b46108fc856122af866127af565b6127c6565b6122be9082613aca565b949350505050565b60006122d182611822565b6122e36108fc62015180610168613a78565b84608001516122f29190613aca565b6122fc9190613b4f565b9050600081136107645760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401610a3d565b6000806123568787878760006127e5565b905060006123666119a6836128b6565b90508361237862015180610168613a78565b6123829083613a78565b61238c9190613bbe565b98975050505050505050565b600080600084136123df5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401610a3d565b604085015160208601516123f39086613aca565b6123fd9190613b4f565b60408601518651919350906124129086613aca565b61241c9190613b4f565b9050821561245b576040850151612433908561276c565b60408601528451612444908261276c565b85526020850151612455908361276c565b60208601525b935093915050565b61248e6040518060800160405280600081526020016000815260200160008152602001600081525090565b8360e0015182106124b15760405162461bcd60e51b8152600401610a3d90613a50565b6000828560e001516124c39190613a1c565b90506124cf85826122c6565b825260208501516124e1908590612287565b60208301528451158015906124f95750602082015115155b61253c5760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401610a3d565b61255a85600001518661012001518460200151856000015185612949565b604083015260a085015161256e90826129c6565b6060830152509392505050565b600080600061259d8660000151866020015187600001518860400151886127e5565b905060006125b36125ae86846129ff565b611fa5565b6060870151909150600086131561261e5760006125d084836129ff565b9050670de0b6b3a76400008112156125fa5760405162461bcd60e51b8152600401610a3d90613bd2565b61261661260f83670de0b6b3a7640000613c01565b8490612a2e565b91505061264b565b6126488161263481670de0b6b3a7640000613c01565b61263e9085613aca565b6125ae9190613b4f565b90505b60648861010001518261265e9190613aca565b6126689190613b4f565b93506126748183613c01565b9450505050935093915050565b60008060008312612693576001612697565b6000195b90506122b46108fc856126a9866127af565b612a4c565b6000818760e001516126c09190613a1c565b610140880183905287519091506126d7908561276c565b875260208701516126e8908461276c565b60208801819052875161270d91612700908890612287565b885160408a015185612345565b61012088018190526127545760405162461bcd60e51b815260206004820152601060248201526f7a65726f20696d706c6965645261746560801b6044820152606401610a3d565b50505050505050565b60606122be8484600085612a61565b6000818312156127a95760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401610a3d565b50900390565b6000808213611834576127c182613a33565b610764565b6000670de0b6b3a76400006127db8484613a78565b6107899190613bbe565b6000806127f2878461276c565b9050600061280a612803888a613b7d565b83906129ff565b9050670d529ae9e860000081131561285e5760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401610a3d565b600061286982612b92565b90508561287682896129ff565b6128809190613b7d565b9350670de0b6b3a76400008412156128aa5760405162461bcd60e51b8152600401610a3d90613bd2565b50505095945050505050565b60008082136128f75760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610a3d565b670c7d713b49da0000821380156129155750670f43fc2c04ee000082125b1561294057670de0b6b3a764000061292c83612c12565b8161293957612939613a97565b0592915050565b61076482612d31565b60008061295686846129c6565b9050670de0b6b3a76400008112156129805760405162461bcd60e51b8152600401610a3d90613bd2565b600061299661298f878a613b7d565b89906129ff565b905060006129a382612b92565b90506129af81876129ff565b6129b99084613c01565b9998505050505050505050565b6000806129d862015180610168613a78565b6129e28486613a78565b6129ec9190613bbe565b90506122be6129fa82611822565b6130d4565b600080612a14670de0b6b3a764000085613aca565b9050828181612a2557612a25613a97565b05949350505050565b600080612a3b8385613aca565b9050670de0b6b3a764000081612a25565b6000826127db670de0b6b3a764000084613a78565b606082471015612ac25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610a3d565b6001600160a01b0385163b612b195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a3d565b600080866001600160a01b03168587604051612b359190613c40565b60006040518083038185875af1925050503d8060008114612b72576040519150601f19603f3d011682016040523d82523d6000602084013e612b77565b606091505b5091509150612b878282866134e2565b979650505050505050565b6000670de0b6b3a7640000821415612be95760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401610a3d565b6000612c07612c0084670de0b6b3a7640000613c01565b84906129ff565b9050610789816128b6565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612c5357612c53613a97565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612d7257612d69826a0c097ce7bc90715b34b9f160241b81612d6357612d63613a97565b05612d31565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612dbd5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612df4576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612e3c576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612e77576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612eae57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612ee557690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612f1a5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612f4557680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612f7a576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612faf576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612fe3576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312613017576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161304057613040613a97565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff1982121580156130f9575068070c1cc73b00c800008213155b6131385760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610a3d565b60008212156131695761314d826000036130d4565b6a0c097ce7bc90715b34b9f160241b8161293957612939613a97565b60006806f05b59d3b200000083126131a757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6131dd565b6803782dace9d900000083126131d957506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806131dd565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261322d5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613269576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126132a357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126132dd576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261331657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261334f5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613388576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126133c15768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b606083156134f1575081610789565b8251156135015782518084602001fd5b8160405162461bcd60e51b8152600401610a3d9190613547565b60005b8381101561353657818101518382015260200161351e565b838111156116605750506000910152565b602081526000825180602084015261356681604085016020870161351b565b601f01601f19169190910160400192915050565b6001600160a01b038116811461358f57600080fd5b50565b600080604083850312156135a557600080fd5b82356135b08161357a565b946020939093013593505050565b6000806000606084860312156135d357600080fd5b83356135de8161357a565b925060208401356135ee8161357a565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b818110156136375783518352928401929184019160010161361b565b50909695505050505050565b801515811461358f57600080fd5b60006020828403121561366357600080fd5b813561078981613643565b6001600160a01b0391909116815260200190565b60008083601f84011261369457600080fd5b5081356001600160401b038111156136ab57600080fd5b6020830191508360208285010111156136c357600080fd5b9250929050565b6000806000806000608086880312156136e257600080fd5b85356136ed8161357a565b9450602086013593506040860135925060608601356001600160401b0381111561371657600080fd5b61372288828901613682565b969995985093965092949392505050565b60006020828403121561374557600080fd5b81356107898161357a565b6000806000806060858703121561376657600080fd5b84356137718161357a565b93506020850135925060408501356001600160401b0381111561379357600080fd5b61379f87828801613682565b95989497509550505050565b600080604083850312156137be57600080fd5b82356137c98161357a565b915060208301356137d98161357a565b809150509250929050565b600181811c908216806137f857607f821691505b60208210811415610a1157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561384257600080fd5b82516001600160401b038082111561385957600080fd5b818501915085601f83011261386d57600080fd5b81518181111561387f5761387f613819565b8060051b604051601f19603f830116810181811085821117156138a4576138a4613819565b6040529182528482019250838101850191888311156138c257600080fd5b938501935b8285101561238c578451845293850193928501926138c7565b634e487b7160e01b600052601160045260246000fd5b60008219821115613909576139096138e0565b500190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600e908201526d13505492d15517d156141254915160921b604082015260600190565b60006020828403121561397f57600080fd5b81516107898161357a565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8481528360208201526060604082015260006139d360608301848661398a565b9695505050505050565b6000602082840312156139ef57600080fd5b5051919050565b858152846020820152836040820152608060608201526000612b8760808301848661398a565b600082821015613a2e57613a2e6138e0565b500390565b6000600160ff1b821415613a4957613a496138e0565b5060000390565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b6000816000190483118215151615613a9257613a926138e0565b500290565b634e487b7160e01b600052601260045260246000fd5b600060208284031215613abf57600080fd5b815161078981613643565b60006001600160ff1b0381841382841380821686840486111615613af057613af06138e0565b600160ff1b6000871282811687830589121615613b0f57613b0f6138e0565b60008712925087820587128484161615613b2b57613b2b6138e0565b87850587128184161615613b4157613b416138e0565b505050929093029392505050565b600082613b5e57613b5e613a97565b600160ff1b821460001984141615613b7857613b786138e0565b500590565b600080821280156001600160ff1b0384900385131615613b9f57613b9f6138e0565b600160ff1b8390038412811615613bb857613bb86138e0565b50500190565b600082613bcd57613bcd613a97565b500490565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613c1f57613c1f6138e0565b6001600160ff1b0384018313811615613c3a57613c3a6138e0565b50500390565b60008251613c5281846020870161351b565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220dcb4fd72e832aeed73cc9466bfb2a605b11d3fb368e12ce423784427fb8372c464736f6c63430008090033";
|
|
733
|
+
"0x6101a06040523480156200001257600080fd5b506040516200419c3803806200419c833981016040819052620000359162000379565b6040518060400160405280600d81526020016c14195b991b194813585c9ad95d609a1b8152506040518060400160405280600a8152602001691411539113114b53141560b21b8152506012856001600160a01b031663e184c9be6040518163ffffffff1660e01b815260040160206040518083038186803b158015620000ba57600080fd5b505afa158015620000cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f59190620003b1565b8351849084906200010e906003906020850190620002b6565b50805162000124906004906020840190620002b6565b5050504281116200016c5760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f45585049525960901b604482015260640160405180910390fd5b60ff9091166080524260a05260c05250503360e05260016005556001600160a01b038316610100819052604080516323dfd63160e11b815290516347bfac6291600480820192602092909190829003018186803b158015620001cd57600080fd5b505afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002089190620003cb565b6001600160a01b0316610120816001600160a01b031681525050826001600160a01b031663781c18db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025c57600080fd5b505afa15801562000271573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002979190620003cb565b6001600160a01b0316610140526101609190915261018052506200042d565b828054620002c490620003f0565b90600052602060002090601f016020900481019282620002e8576000855562000333565b82601f106200030357805160ff191683800117855562000333565b8280016001018555821562000333579182015b828111156200033357825182559160200191906001019062000316565b506200034192915062000345565b5090565b5b8082111562000341576000815560010162000346565b80516001600160a01b03811681146200037457600080fd5b919050565b6000806000606084860312156200038f57600080fd5b6200039a846200035c565b925060208401519150604084015190509250925092565b600060208284031215620003c457600080fd5b5051919050565b600060208284031215620003de57600080fd5b620003e9826200035c565b9392505050565b600181811c908216806200040557607f821691505b602082108114156200042757634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e0516101005161012051610140516101605161018051613c5662000546600039600081816104600152610ca30152600081816104c801526108dd01526000818161022f01526104260152600081816101e20152818161037301528181610685015281816109ec01528181610aad01528181610b5d01528181610c5701528181610e0a01528181610f1d0152818161108f0152818161111701526111510152600081816102070152818161051601528181610a7301528181610d5801528181610f5101526112010152600081816104ef015261081f015260008181610260015281816105500152818161090301528181610999015261103c015260006105770152600061028e0152613c566000f3fe608060405234801561001057600080fd5b50600436106101545760003560e01c806306fdde0314610159578063095ea7b31461017757806318160ddd1461019a57806323b872dd146101ac5780632b20096c146101bf5780632c8ce6bc146101d45780632f13b60c1461025e578063313ce5671461028757806339509351146102b857806339e718f6146102cb57806341af0709146102eb57806347bfac621461036e5780634f7b3d2f146103a25780635308fcb1146103ca57806370a08231146103f8578063781c18db14610421578063863cb94e1461044857806391e7c0151461045b57806395d89b411461048257806399bc99981461048a578063a457c2d71461049d578063a9059cbb146104b0578063af247da3146104c3578063c45a0155146104ea578063c836545a14610511578063dd62ed3e14610538578063e184c9be1461054b578063f1653f6e14610572575b600080fd5b610161610599565b60405161016e91906133f4565b60405180910390f35b61018a61018536600461343f565b61062b565b604051901515815260200161016e565b6002545b60405190815260200161016e565b61018a6101ba36600461346b565b610645565b6101c761066b565b60405161016e91906134ac565b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f0000000000000000000000000000000000000000000000000000000000000000811660208301527f0000000000000000000000000000000000000000000000000000000000000000169181019190915260600161016e565b7f000000000000000000000000000000000000000000000000000000000000000042101561018a565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161016e565b61018a6102c636600461343f565b610715565b6102de6102d93660046134fe565b610754565b60405161016e919061351b565b60065460075461032d91600f81810b92600160801b909204900b906001600160701b0380821691600160701b810490911690600160e01b900463ffffffff1685565b60408051600f96870b81529490950b60208501526001600160701b039283169484019490945216606082015263ffffffff909116608082015260a00161016e565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b60405161016e91906135b5565b6103b56103b0366004613611565b610963565b6040805192835260208301919091520161016e565b6103dd6103d8366004613611565b610c15565b6040805193845260208401929092529082015260600161016e565b61019e61040636600461367a565b6001600160a01b031660009081526020819052604090205490565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b6103b5610456366004613697565b610ec6565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b610161611000565b6103b5610498366004613611565b61100f565b61018a6104ab36600461343f565b611291565b61018a6104be36600461343f565b61132e565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b61019e6105463660046136f2565b61133c565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b6060600380546105a89061372b565b80601f01602080910402602001604051908101604052809291908181526020018280546105d49061372b565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b5050505050905090565b600033610639818585611367565b60019150505b92915050565b60003361065385828561148b565b61065e858585611505565b60019150505b9392505050565b6040516359436f3b60e11b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b286de76906106ba9030906004016135b5565b600060405180830381600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107109190810190613776565b905090565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190610639908290869061074f90879061383d565b611367565b6107c16040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60068054600f81810b8452600160801b909104900b60208301526107ec6107e760025490565b6116c1565b6040838101919091526001820154600160701b90046001600160701b0316606084015280516308f044f760e21b815290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916323c113dc916004808301926080929190829003018186803b15801561086d57600080fd5b505afa158015610881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a59190613855565b60ff1661012086015263ffffffff90811660e08601526001600160601b0390911660c08501526001600160a01b0390911660808401527f000000000000000000000000000000000000000000000000000000000000000060a08401527f000000000000000000000000000000000000000000000000000000000000000061010084015260018201546001600160701b038116610140850152600160e01b900416610160830152821561095d5761095b82426116d7565b505b50919050565b600080600260055414156109925760405162461bcd60e51b8152600401610989906138cf565b60405180910390fd5b60026005557f000000000000000000000000000000000000000000000000000000000000000042106109d65760405162461bcd60e51b815260040161098990613906565b60006109e26001610754565b9050610a1b610a107f00000000000000000000000000000000000000000000000000000000000000006117a5565b82908942600161181a565b909350915085831115610a665760405162461bcd60e51b81526020600482015260136024820152721cd8de481a5b88195e18d95959081b1a5b5a5d606a1b6044820152606401610989565b610a9a6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168989611863565b6080810151610ad4906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084611863565b8315610b46573363fa483e72610ae9896116c1565b610af2866118ba565b88886040518563ffffffff1660e01b8152600401610b139493929190613957565b600060405180830381600087803b158015610b2d57600080fd5b505af1158015610b41573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610b929030906004016135b5565b60206040518083038186803b158015610baa57600080fd5b505afa158015610bbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be29190613981565b610bef82602001516118ce565b1115610bfa57600080fd5b610c03816118dd565b50600160055590969095509350505050565b600080600060026005541415610c3d5760405162461bcd60e51b8152600401610989906138cf565b60026005556000610c4e6001610754565b90506000610c7b7f00000000000000000000000000000000000000000000000000000000000000006117a5565b90506000610c8d83838c8c60016119c7565b9198509650945090508015610cd357610cc883837f000000000000000000000000000000000000000000000000000000000000000042611a34565b610cd3600182611ac9565b610cdd8b87611ac9565b8615610d415760405163096006e960e11b815233906312c00dd290610d0e908990899089908e908e9060040161399a565b600060405180830381600087803b158015610d2857600080fd5b505af1158015610d3c573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610d8d9030906004016135b5565b60206040518083038186803b158015610da557600080fd5b505afa158015610db9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddd9190613981565b8351610de8906118ce565b1115610df357600080fd5b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610e3f9030906004016135b5565b60206040518083038186803b158015610e5757600080fd5b505afa158015610e6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8f9190613981565b610e9c84602001516118ce565b1115610ea757600080fd5b610eb0836118dd565b5050506001600581905550955095509592505050565b60008060026005541415610eec5760405162461bcd60e51b8152600401610989906138cf565b60026005556000610efd6001610754565b9050610f0b81876001611b96565b9093509150610f446001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168885611863565b610f786001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168884611863565b8315610fdc5760405163c70cd41360e01b8152339063c70cd41390610fa9908990879087908b908b9060040161399a565b600060405180830381600087803b158015610fc357600080fd5b505af1158015610fd7573d6000803e3d6000fd5b505050505b610fe63087611bd3565b610fef816118dd565b506001600555909590945092505050565b6060600480546105a89061372b565b600080600260055414156110355760405162461bcd60e51b8152600401610989906138cf565b60026005557f000000000000000000000000000000000000000000000000000000000000000042106110795760405162461bcd60e51b815260040161098990613906565b60006110856001610754565b90506110be6110b37f00000000000000000000000000000000000000000000000000000000000000006117a5565b829089426001611d0f565b90935091508583101561110a5760405162461bcd60e51b81526020600482015260146024820152731a5b9cdd59999a58da595b9d081cd8de481bdd5d60621b6044820152606401610989565b61113e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168985611863565b6080810151611178906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084611863565b83156111ea573363fa483e7261118d896118ba565b611196866116c1565b88886040518563ffffffff1660e01b81526004016111b79493929190613957565b600060405180830381600087803b1580156111d157600080fd5b505af11580156111e5573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906112369030906004016135b5565b60206040518083038186803b15801561124e57600080fd5b505afa158015611262573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112869190613981565b8151610bef906118ce565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156113165760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610989565b6113238286868403611367565b506001949350505050565b600033610639818585611505565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166113c95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610989565b6001600160a01b03821661142a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610989565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611497848461133c565b905060001981146114ff57818110156114f25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610989565b6114ff8484848403611367565b50505050565b6001600160a01b0383166115695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610989565b6001600160a01b0382166115cb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610989565b6001600160a01b038316600090815260208190526040902054818110156116435760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610989565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061167a90849061383d565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613c01833981519152846040516116b491815260200190565b60405180910390a36114ff565b6000600160ff1b82106116d357600080fd5b5090565b60008183610160015111156116f957506101408201516060830181905261063f565b60008361016001518361170c91906139c0565b90508360e0015181111561172e5750506101408201516060830181905261063f565b60006117478560e0015183611d3090919063ffffffff16565b9050600061175d82670de0b6b3a76400006139c0565b90506000611778828860600151611d5f90919063ffffffff16565b6101608801516117889085611d5f565b611792919061383d565b6060880181905294505050505092915050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156117e257600080fd5b505af11580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063f9190613981565b600080600080611835898961182e8a6116c1565b8989611d7d565b9150915061184a61184583611e48565b6118ce565b9350611855816118ce565b925050509550959350505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526118b5908490611e53565b505050565b60006118c5826116c1565b61063f906139d7565b6000808212156116d357600080fd5b80516006906118eb90611f25565b81546001600160801b0319166001600160801b0391909116178155602082015161191490611f25565b81546001600160801b03918216600160801b02911617815561014082015161193b90611f37565b6001820180546001600160701b0319166001600160701b0392909216919091179055606082015161196b90611f37565b81600101600e6101000a8154816001600160701b0302191690836001600160701b031602179055506119a1826101600151611f49565b81600101601c6101000a81548163ffffffff021916908363ffffffff1602179055505050565b6000806000806000806000806119f08d8d6119e18e6116c1565b6119ea8e6116c1565b8d611f5b565b9350935093509350611a01846118ce565b9750611a0c836118ce565b9650611a17826118ce565b9550611a22816118ce565b94505050505095509550955095915050565b8361010001518110611a585760405162461bcd60e51b8152600401610989906139f4565b6000611a7185602001518561212a90919063ffffffff16565b9050600082866101000151611a8691906139c0565b90506000611a948783612169565b9050611ab78760000151848388888c6101000151611ab291906139c0565b6121e8565b61014090970196909652505050505050565b6001600160a01b038216611b1f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610989565b8060026000828254611b31919061383d565b90915550506001600160a01b03821660009081526020819052604081208054839290611b5e90849061383d565b90915550506040518181526001600160a01b03831690600090600080516020613c018339815191529060200160405180910390a35050565b600080600080611baf87611ba9886116c1565b8761223b565b91509150611bbc826118ce565b9350611bc7816118ce565b92505050935093915050565b6001600160a01b038216611c335760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610989565b6001600160a01b03821660009081526020819052604090205481811015611ca75760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610989565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611cd69084906139c0565b90915550506040518281526000906001600160a01b03851690600080516020613c018339815191529060200160405180910390a3505050565b600080600080611d23898961182e8a6118ba565b9150915061184a826118ce565b600080611d45670de0b6b3a764000085613a1c565b9050828181611d5657611d56613a3b565b04949350505050565b600080611d6c8385613a1c565b9050670de0b6b3a764000081611d56565b6000808661010001518410611da45760405162461bcd60e51b8152600401610989906139f4565b86518512611ded5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401610989565b6000611dfa888887612306565b9050600080611e0a8a848a612420565b9092509050611e19898361252d565b9450611e25898261252d565b93508515611e3b57611e3b8a848b8b898c61255a565b5050509550959350505050565b600061063f826139d7565b6000611ea8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661260a9092919063ffffffff16565b8051909150156118b55780806020019051810190611ec69190613a51565b6118b55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610989565b60006001607f1b82126116d357600080fd5b6000600160701b82106116d357600080fd5b6000600160201b82106116d357600080fd5b600080600080600087138015611f715750600086135b611fac5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401610989565b6040890151611fdd57611fcb6103e8611fc58a8a61212a565b90612619565b92506103e89350869150859050612080565b885160408a015160009190611ff29089613a6e565b611ffc9190613af3565b905060008a602001518b604001518a6120159190613a6e565b61201f9190613af3565b905080821215612055578194508792508a60400151858c602001516120449190613a6e565b61204e9190613af3565b935061207d565b8094508893508a60400151858c600001516120709190613a6e565b61207a9190613af3565b92505b50505b600083136120d05760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401610989565b841561211e5781896020018181516120e89190613b21565b905250885181908a906120fc908390613b21565b9052506121098484613b21565b8960400181815161211a9190613b21565b9052505b95509550955095915050565b6000806000831261213c576001612140565b6000195b90506121576107e7856121528661265c565b612673565b6121619082613a6e565b949350505050565b6000612174826116c1565b6121866107e762015180610168613a1c565b8460a001516121959190613a6e565b61219f9190613af3565b90506000811361063f5760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401610989565b6000806121f9878787876000612692565b9050600061220961184583612763565b90508361221b62015180610168613a1c565b6122259083613a1c565b61222f9190613b62565b98975050505050505050565b600080600084136122825760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401610989565b604085015160208601516122969086613a6e565b6122a09190613af3565b60408601518651919350906122b59086613a6e565b6122bf9190613af3565b905082156122fe5760408501516122d69085612619565b604086015284516122e79082612619565b855260208501516122f89083612619565b60208601525b935093915050565b6123316040518060800160405280600081526020016000815260200160008152602001600081525090565b83610100015182106123555760405162461bcd60e51b8152600401610989906139f4565b60008285610100015161236891906139c0565b90506123748582612169565b8252602085015161238690859061212a565b602083015284511580159061239e5750602082015115155b6123e15760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401610989565b6123ff856000015186610140015184602001518560000151856127f6565b604083015260c08501516124139082612873565b6060830152509392505050565b6000806000612442866000015186602001518760000151886040015188612692565b9050600061245861245386846128ac565b611e48565b606087015190915060008613156124c357600061247584836128ac565b9050670de0b6b3a764000081121561249f5760405162461bcd60e51b815260040161098990613b76565b6124bb6124b483670de0b6b3a7640000613ba5565b84906128db565b9150506124f0565b6124ed816124d981670de0b6b3a7640000613ba5565b6124e39085613a6e565b6124539190613af3565b90505b60646125008961012001516116c1565b61250a9083613a6e565b6125149190613af3565b93506125208183613ba5565b9450505050935093915050565b6000806000831261253f576001612543565b6000195b90506121576107e7856125558661265c565b6128f9565b60008187610100015161256d91906139c0565b610160880183905287519091506125849085612619565b875260208701516125959084612619565b6020880181905287516125ba916125ad90889061212a565b885160408a0151856121e8565b61014088018190526126015760405162461bcd60e51b815260206004820152601060248201526f7a65726f20696d706c6965645261746560801b6044820152606401610989565b50505050505050565b6060612161848460008561290e565b6000818312156126565760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401610989565b50900390565b60008082136116d35761266e826139d7565b61063f565b6000670de0b6b3a76400006126888484613a1c565b6106649190613b62565b60008061269f8784612619565b905060006126b76126b0888a613b21565b83906128ac565b9050670d529ae9e860000081131561270b5760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401610989565b600061271682612a3f565b90508561272382896128ac565b61272d9190613b21565b9350670de0b6b3a76400008412156127575760405162461bcd60e51b815260040161098990613b76565b50505095945050505050565b60008082136127a45760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610989565b670c7d713b49da0000821380156127c25750670f43fc2c04ee000082125b156127ed57670de0b6b3a76400006127d983612abf565b816127e6576127e6613a3b565b0592915050565b61063f82612bde565b6000806128038684612873565b9050670de0b6b3a764000081121561282d5760405162461bcd60e51b815260040161098990613b76565b600061284361283c878a613b21565b89906128ac565b9050600061285082612a3f565b905061285c81876128ac565b6128669084613ba5565b9998505050505050505050565b60008061288562015180610168613a1c565b61288f8486613a1c565b6128999190613b62565b90506121616128a7826116c1565b612f81565b6000806128c1670de0b6b3a764000085613a6e565b90508281816128d2576128d2613a3b565b05949350505050565b6000806128e88385613a6e565b9050670de0b6b3a7640000816128d2565b600082612688670de0b6b3a764000084613a1c565b60608247101561296f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610989565b6001600160a01b0385163b6129c65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610989565b600080866001600160a01b031685876040516129e29190613be4565b60006040518083038185875af1925050503d8060008114612a1f576040519150601f19603f3d011682016040523d82523d6000602084013e612a24565b606091505b5091509150612a3482828661338f565b979650505050505050565b6000670de0b6b3a7640000821415612a965760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401610989565b6000612ab4612aad84670de0b6b3a7640000613ba5565b84906128ac565b905061066481612763565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612b0057612b00613a3b565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612c1f57612c16826a0c097ce7bc90715b34b9f160241b81612c1057612c10613a3b565b05612bde565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612c6a5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612ca1576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612ce9576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612d24576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612d5b57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612d9257690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612dc75768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612df257680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612e27576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612e5c576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612e90576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612ec4576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612eed57612eed613a3b565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015612fa6575068070c1cc73b00c800008213155b612fe55760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610989565b600082121561301657612ffa82600003612f81565b6a0c097ce7bc90715b34b9f160241b816127e6576127e6613a3b565b60006806f05b59d3b2000000831261305457506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61308a565b6803782dace9d9000000831261308657506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061308a565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126130da5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613116576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261315057682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261318a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126131c357680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126131fc5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613235576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261326e5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6060831561339e575081610664565b8251156133ae5782518084602001fd5b8160405162461bcd60e51b815260040161098991906133f4565b60005b838110156133e35781810151838201526020016133cb565b838111156114ff5750506000910152565b60208152600082518060208401526134138160408501602087016133c8565b601f01601f19169190910160400192915050565b6001600160a01b038116811461343c57600080fd5b50565b6000806040838503121561345257600080fd5b823561345d81613427565b946020939093013593505050565b60008060006060848603121561348057600080fd5b833561348b81613427565b9250602084013561349b81613427565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b818110156134e4578351835292840192918401916001016134c8565b50909695505050505050565b801515811461343c57600080fd5b60006020828403121561351057600080fd5b8135610664816134f0565b60006101808201905082518252602083015160208301526040830151604083015260608301516060830152608083015161356060808401826001600160a01b03169052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151818401525092915050565b6001600160a01b0391909116815260200190565b60008083601f8401126135db57600080fd5b5081356001600160401b038111156135f257600080fd5b60208301915083602082850101111561360a57600080fd5b9250929050565b60008060008060006080868803121561362957600080fd5b853561363481613427565b9450602086013593506040860135925060608601356001600160401b0381111561365d57600080fd5b613669888289016135c9565b969995985093965092949392505050565b60006020828403121561368c57600080fd5b813561066481613427565b600080600080606085870312156136ad57600080fd5b84356136b881613427565b93506020850135925060408501356001600160401b038111156136da57600080fd5b6136e6878288016135c9565b95989497509550505050565b6000806040838503121561370557600080fd5b823561371081613427565b9150602083013561372081613427565b809150509250929050565b600181811c9082168061373f57607f821691505b6020821081141561095d57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561378957600080fd5b82516001600160401b03808211156137a057600080fd5b818501915085601f8301126137b457600080fd5b8151818111156137c6576137c6613760565b8060051b604051601f19603f830116810181811085821117156137eb576137eb613760565b60405291825284820192508381018501918883111561380957600080fd5b938501935b8285101561222f5784518452938501939285019261380e565b634e487b7160e01b600052601160045260246000fd5b6000821982111561385057613850613827565b500190565b6000806000806080858703121561386b57600080fd5b845161387681613427565b60208601519094506001600160601b038116811461389357600080fd5b604086015190935063ffffffff811681146138ad57600080fd5b606086015190925060ff811681146138c457600080fd5b939692955090935050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600e908201526d13505492d15517d156141254915160921b604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b84815283602082015260606040820152600061397760608301848661392e565b9695505050505050565b60006020828403121561399357600080fd5b5051919050565b858152846020820152836040820152608060608201526000612a3460808301848661392e565b6000828210156139d2576139d2613827565b500390565b6000600160ff1b8214156139ed576139ed613827565b5060000390565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b6000816000190483118215151615613a3657613a36613827565b500290565b634e487b7160e01b600052601260045260246000fd5b600060208284031215613a6357600080fd5b8151610664816134f0565b60006001600160ff1b0381841382841380821686840486111615613a9457613a94613827565b600160ff1b6000871282811687830589121615613ab357613ab3613827565b60008712925087820587128484161615613acf57613acf613827565b87850587128184161615613ae557613ae5613827565b505050929093029392505050565b600082613b0257613b02613a3b565b600160ff1b821460001984141615613b1c57613b1c613827565b500590565b600080821280156001600160ff1b0384900385131615613b4357613b43613827565b600160ff1b8390038412811615613b5c57613b5c613827565b50500190565b600082613b7157613b71613a3b565b500490565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613bc357613bc3613827565b6001600160ff1b0384018313811615613bde57613bde613827565b50500390565b60008251613bf68184602087016133c8565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e27bc4faeb9c68251600d30624966a487edb64f21913ea8aa97e79636ac68a5a64736f6c63430008090033";
|
|
783
734
|
|
|
784
735
|
type PendleMarketConstructorParams =
|
|
785
736
|
| [signer?: Signer]
|
|
@@ -801,39 +752,27 @@ export class PendleMarket__factory extends ContractFactory {
|
|
|
801
752
|
|
|
802
753
|
deploy(
|
|
803
754
|
_OT: string,
|
|
804
|
-
_rateOracleTimeWindow: BigNumberish,
|
|
805
|
-
_feeRateRoot: BigNumberish,
|
|
806
755
|
_scalarRoot: BigNumberish,
|
|
807
756
|
_initialAnchor: BigNumberish,
|
|
808
|
-
_reserveFeePercent: BigNumberish,
|
|
809
757
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
810
758
|
): Promise<PendleMarket> {
|
|
811
759
|
return super.deploy(
|
|
812
760
|
_OT,
|
|
813
|
-
_rateOracleTimeWindow,
|
|
814
|
-
_feeRateRoot,
|
|
815
761
|
_scalarRoot,
|
|
816
762
|
_initialAnchor,
|
|
817
|
-
_reserveFeePercent,
|
|
818
763
|
overrides || {}
|
|
819
764
|
) as Promise<PendleMarket>;
|
|
820
765
|
}
|
|
821
766
|
getDeployTransaction(
|
|
822
767
|
_OT: string,
|
|
823
|
-
_rateOracleTimeWindow: BigNumberish,
|
|
824
|
-
_feeRateRoot: BigNumberish,
|
|
825
768
|
_scalarRoot: BigNumberish,
|
|
826
769
|
_initialAnchor: BigNumberish,
|
|
827
|
-
_reserveFeePercent: BigNumberish,
|
|
828
770
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
829
771
|
): TransactionRequest {
|
|
830
772
|
return super.getDeployTransaction(
|
|
831
773
|
_OT,
|
|
832
|
-
_rateOracleTimeWindow,
|
|
833
|
-
_feeRateRoot,
|
|
834
774
|
_scalarRoot,
|
|
835
775
|
_initialAnchor,
|
|
836
|
-
_reserveFeePercent,
|
|
837
776
|
overrides || {}
|
|
838
777
|
);
|
|
839
778
|
}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
|
|
5
|
+
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
6
|
+
import type { PendleRouter, PendleRouterInterface } from "../PendleRouter";
|
|
7
|
+
|
|
8
|
+
const _abi = [
|
|
9
|
+
{
|
|
10
|
+
inputs: [
|
|
11
|
+
{
|
|
12
|
+
internalType: "address",
|
|
13
|
+
name: "_ACTION_CORE",
|
|
14
|
+
type: "address",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
internalType: "address",
|
|
18
|
+
name: "_ACTION_YT",
|
|
19
|
+
type: "address",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
internalType: "address",
|
|
23
|
+
name: "_ACTION_CALLBACK",
|
|
24
|
+
type: "address",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
internalType: "address",
|
|
28
|
+
name: "_governanceManager",
|
|
29
|
+
type: "address",
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
stateMutability: "nonpayable",
|
|
33
|
+
type: "constructor",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
anonymous: false,
|
|
37
|
+
inputs: [
|
|
38
|
+
{
|
|
39
|
+
indexed: false,
|
|
40
|
+
internalType: "address",
|
|
41
|
+
name: "previousAdmin",
|
|
42
|
+
type: "address",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
indexed: false,
|
|
46
|
+
internalType: "address",
|
|
47
|
+
name: "newAdmin",
|
|
48
|
+
type: "address",
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
name: "AdminChanged",
|
|
52
|
+
type: "event",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
anonymous: false,
|
|
56
|
+
inputs: [
|
|
57
|
+
{
|
|
58
|
+
indexed: true,
|
|
59
|
+
internalType: "address",
|
|
60
|
+
name: "beacon",
|
|
61
|
+
type: "address",
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
name: "BeaconUpgraded",
|
|
65
|
+
type: "event",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
anonymous: false,
|
|
69
|
+
inputs: [
|
|
70
|
+
{
|
|
71
|
+
indexed: true,
|
|
72
|
+
internalType: "address",
|
|
73
|
+
name: "implementation",
|
|
74
|
+
type: "address",
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
name: "Upgraded",
|
|
78
|
+
type: "event",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
stateMutability: "payable",
|
|
82
|
+
type: "fallback",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
inputs: [],
|
|
86
|
+
name: "ACTION_CALLBACK",
|
|
87
|
+
outputs: [
|
|
88
|
+
{
|
|
89
|
+
internalType: "address",
|
|
90
|
+
name: "",
|
|
91
|
+
type: "address",
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
stateMutability: "view",
|
|
95
|
+
type: "function",
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
inputs: [],
|
|
99
|
+
name: "ACTION_CORE",
|
|
100
|
+
outputs: [
|
|
101
|
+
{
|
|
102
|
+
internalType: "address",
|
|
103
|
+
name: "",
|
|
104
|
+
type: "address",
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
stateMutability: "view",
|
|
108
|
+
type: "function",
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
inputs: [],
|
|
112
|
+
name: "ACTION_YT",
|
|
113
|
+
outputs: [
|
|
114
|
+
{
|
|
115
|
+
internalType: "address",
|
|
116
|
+
name: "",
|
|
117
|
+
type: "address",
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
stateMutability: "view",
|
|
121
|
+
type: "function",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
inputs: [
|
|
125
|
+
{
|
|
126
|
+
internalType: "bytes4",
|
|
127
|
+
name: "sig",
|
|
128
|
+
type: "bytes4",
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
name: "getRouterImplementation",
|
|
132
|
+
outputs: [
|
|
133
|
+
{
|
|
134
|
+
internalType: "address",
|
|
135
|
+
name: "",
|
|
136
|
+
type: "address",
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
stateMutability: "view",
|
|
140
|
+
type: "function",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
inputs: [],
|
|
144
|
+
name: "governanceManager",
|
|
145
|
+
outputs: [
|
|
146
|
+
{
|
|
147
|
+
internalType: "address",
|
|
148
|
+
name: "",
|
|
149
|
+
type: "address",
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
stateMutability: "view",
|
|
153
|
+
type: "function",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
inputs: [],
|
|
157
|
+
name: "initialize",
|
|
158
|
+
outputs: [],
|
|
159
|
+
stateMutability: "nonpayable",
|
|
160
|
+
type: "function",
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
inputs: [],
|
|
164
|
+
name: "proxiableUUID",
|
|
165
|
+
outputs: [
|
|
166
|
+
{
|
|
167
|
+
internalType: "bytes32",
|
|
168
|
+
name: "",
|
|
169
|
+
type: "bytes32",
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
stateMutability: "view",
|
|
173
|
+
type: "function",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
inputs: [
|
|
177
|
+
{
|
|
178
|
+
internalType: "address",
|
|
179
|
+
name: "newImplementation",
|
|
180
|
+
type: "address",
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
name: "upgradeTo",
|
|
184
|
+
outputs: [],
|
|
185
|
+
stateMutability: "nonpayable",
|
|
186
|
+
type: "function",
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
inputs: [
|
|
190
|
+
{
|
|
191
|
+
internalType: "address",
|
|
192
|
+
name: "newImplementation",
|
|
193
|
+
type: "address",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
internalType: "bytes",
|
|
197
|
+
name: "data",
|
|
198
|
+
type: "bytes",
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
name: "upgradeToAndCall",
|
|
202
|
+
outputs: [],
|
|
203
|
+
stateMutability: "payable",
|
|
204
|
+
type: "function",
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
stateMutability: "payable",
|
|
208
|
+
type: "receive",
|
|
209
|
+
},
|
|
210
|
+
];
|
|
211
|
+
|
|
212
|
+
const _bytecode =
|
|
213
|
+
"0x610120604052306080523480156200001657600080fd5b50604051620012c8380380620012c88339810160408190526200003991620001c2565b806001600160a01b038116620000855760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064015b60405180910390fd5b6001600160a01b031660a052600054610100900460ff16620000ae5760005460ff1615620000b8565b620000b862000178565b6200011d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200007c565b600054610100900460ff1615801562000140576000805461ffff19166101011790555b6001600160a01b0380861660c05284811660e05283166101005280156200016d576000805461ff00191690555b50505050506200021f565b600062000190306200019660201b620007ac1760201c565b15905090565b6001600160a01b03163b151590565b80516001600160a01b0381168114620001bd57600080fd5b919050565b60008060008060808587031215620001d957600080fd5b620001e485620001a5565b9350620001f460208601620001a5565b92506200020460408601620001a5565b91506200021460608601620001a5565b905092959194509250565b60805160a05160c05160e0516101005161102d6200029b600039600081816101b3015261068701526000818160a3015261064701526000818161017f015261059b0152600081816101e70152610a700152600081816102260152818161026f015281816102f80152818161033801526103b4015261102d6000f3fe60806040526004361061007a5760003560e01c806320e21c00146100915780633659cfe6146100e25780634f1ef2861461010257806352d1902d1461011557806376e1df48146101385780638129fc1c146101585780638d94cf0f1461016d578063a25228c9146101a1578063d2e6d1c3146101d557610089565b3661008957610087610209565b005b610087610209565b34801561009d57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ee57600080fd5b506100876100fd366004610d4b565b61021b565b610087610110366004610d7e565b6102ed565b34801561012157600080fd5b5061012a6103a7565b6040519081526020016100d9565b34801561014457600080fd5b506100c5610153366004610e41565b610455565b34801561016457600080fd5b506100876106e8565b34801561017957600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156101ad57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e157600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6102196102146107bb565b6107d7565b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561026d5760405162461bcd60e51b815260040161026490610e6b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661029f610800565b6001600160a01b0316146102c55760405162461bcd60e51b815260040161026490610ea5565b6102ce8161081c565b604080516000808252602082019092526102ea91839190610876565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103365760405162461bcd60e51b815260040161026490610e6b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610368610800565b6001600160a01b03161461038e5760405162461bcd60e51b815260040161026490610ea5565b6103978261081c565b6103a382826001610876565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104425760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610264565b50600080516020610fb183398151915290565b60006001600160e01b0319821663ab308f7960e01b148061048657506001600160e01b031982166361d67b9f60e01b145b806104a157506001600160e01b03198216630f15f71560e11b145b806104bb57506001600160e01b03198216623905e760e01b145b806104d657506001600160e01b031982166348e4c51560e11b145b806104f157506001600160e01b031982166338b7217760e21b145b8061050c57506001600160e01b03198216631aa18c8560e11b145b8061052757506001600160e01b03198216631d4b2e4560e31b145b8061054257506001600160e01b03198216637a6d749b60e01b145b8061055d57506001600160e01b03198216637fbd7fc760e01b145b8061057857506001600160e01b03198216633df3d5f160e11b145b8061059357506001600160e01b0319821663f6fb26e360e01b145b156105bf57507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216636c66135560e11b14806105ee57506001600160e01b031982166321aab85960e01b145b8061060957506001600160e01b03198216630109d6b960e21b145b8061062457506001600160e01b03198216635d18993360e11b145b8061063f57506001600160e01b0319821663066657e160e31b145b1561066b57507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216637d241f3960e11b14156106ab57507f0000000000000000000000000000000000000000000000000000000000000000919050565b60405162461bcd60e51b8152602060048201526012602482015271696e76616c6964206d61726b65742073696760701b6044820152606401610264565b600054610100900460ff166107035760005460ff161561070b565b61070b6109f0565b61076e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610264565b600054610100900460ff16158015610790576000805461ffff19166101011790555b610798610a01565b80156102ea576000805461ff001916905550565b6001600160a01b03163b151590565b60006107d26000356001600160e01b031916610455565b905090565b3660008037600080366000845af43d6000803e8080156107f6573d6000f35b3d6000fd5b505050565b600080516020610fb1833981519152546001600160a01b031690565b610824610a6c565b6001600160a01b0316336001600160a01b0316146102ea5760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b6044820152606401610264565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156108a9576107fb83610aff565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e257600080fd5b505afa925050508015610912575060408051601f3d908101601f1916820190925261090f91810190610edf565b60015b6109755760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610264565b600080516020610fb183398151915281146109e45760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610264565b506107fb838383610b99565b60006109fb306107ac565b15905090565b600054610100900460ff166102195760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610264565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac757600080fd5b505afa158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610ef8565b610b08816107ac565b610b6a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610264565b600080516020610fb183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610ba283610bc4565b600082511180610baf5750805b156107fb57610bbe8383610c04565b50505050565b610bcd81610aff565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610c0f836107ac565b610c6a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610264565b600080846001600160a01b031684604051610c859190610f41565b600060405180830381855af49150503d8060008114610cc0576040519150601f19603f3d011682016040523d82523d6000602084013e610cc5565b606091505b5091509150610ced8282604051806060016040528060278152602001610fd160279139610cf6565b95945050505050565b60608315610d05575081610d2f565b825115610d155782518084602001fd5b8160405162461bcd60e51b81526004016102649190610f5d565b9392505050565b6001600160a01b03811681146102ea57600080fd5b600060208284031215610d5d57600080fd5b8135610d2f81610d36565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610d9157600080fd5b8235610d9c81610d36565b915060208301356001600160401b0380821115610db857600080fd5b818501915085601f830112610dcc57600080fd5b813581811115610dde57610dde610d68565b604051601f8201601f19908116603f01168101908382118183101715610e0657610e06610d68565b81604052828152886020848701011115610e1f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610e5357600080fd5b81356001600160e01b031981168114610d2f57600080fd5b6020808252602c90820152600080516020610f9183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610f9183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215610ef157600080fd5b5051919050565b600060208284031215610f0a57600080fd5b8151610d2f81610d36565b60005b83811015610f30578181015183820152602001610f18565b83811115610bbe5750506000910152565b60008251610f53818460208701610f15565b9190910192915050565b6020815260008251806020840152610f7c816040850160208701610f15565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f91b8d3b5354e84ef5d509dc0c0025faf8b222981a7614d564c4b0fdfc4e876164736f6c63430008090033";
|
|
214
|
+
|
|
215
|
+
type PendleRouterConstructorParams =
|
|
216
|
+
| [signer?: Signer]
|
|
217
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
218
|
+
|
|
219
|
+
const isSuperArgs = (
|
|
220
|
+
xs: PendleRouterConstructorParams
|
|
221
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
222
|
+
|
|
223
|
+
export class PendleRouter__factory extends ContractFactory {
|
|
224
|
+
constructor(...args: PendleRouterConstructorParams) {
|
|
225
|
+
if (isSuperArgs(args)) {
|
|
226
|
+
super(...args);
|
|
227
|
+
} else {
|
|
228
|
+
super(_abi, _bytecode, args[0]);
|
|
229
|
+
}
|
|
230
|
+
this.contractName = "PendleRouter";
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
deploy(
|
|
234
|
+
_ACTION_CORE: string,
|
|
235
|
+
_ACTION_YT: string,
|
|
236
|
+
_ACTION_CALLBACK: string,
|
|
237
|
+
_governanceManager: string,
|
|
238
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
239
|
+
): Promise<PendleRouter> {
|
|
240
|
+
return super.deploy(
|
|
241
|
+
_ACTION_CORE,
|
|
242
|
+
_ACTION_YT,
|
|
243
|
+
_ACTION_CALLBACK,
|
|
244
|
+
_governanceManager,
|
|
245
|
+
overrides || {}
|
|
246
|
+
) as Promise<PendleRouter>;
|
|
247
|
+
}
|
|
248
|
+
getDeployTransaction(
|
|
249
|
+
_ACTION_CORE: string,
|
|
250
|
+
_ACTION_YT: string,
|
|
251
|
+
_ACTION_CALLBACK: string,
|
|
252
|
+
_governanceManager: string,
|
|
253
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
254
|
+
): TransactionRequest {
|
|
255
|
+
return super.getDeployTransaction(
|
|
256
|
+
_ACTION_CORE,
|
|
257
|
+
_ACTION_YT,
|
|
258
|
+
_ACTION_CALLBACK,
|
|
259
|
+
_governanceManager,
|
|
260
|
+
overrides || {}
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
attach(address: string): PendleRouter {
|
|
264
|
+
return super.attach(address) as PendleRouter;
|
|
265
|
+
}
|
|
266
|
+
connect(signer: Signer): PendleRouter__factory {
|
|
267
|
+
return super.connect(signer) as PendleRouter__factory;
|
|
268
|
+
}
|
|
269
|
+
static readonly contractName: "PendleRouter";
|
|
270
|
+
public readonly contractName: "PendleRouter";
|
|
271
|
+
static readonly bytecode = _bytecode;
|
|
272
|
+
static readonly abi = _abi;
|
|
273
|
+
static createInterface(): PendleRouterInterface {
|
|
274
|
+
return new utils.Interface(_abi) as PendleRouterInterface;
|
|
275
|
+
}
|
|
276
|
+
static connect(
|
|
277
|
+
address: string,
|
|
278
|
+
signerOrProvider: Signer | Provider
|
|
279
|
+
): PendleRouter {
|
|
280
|
+
return new Contract(address, _abi, signerOrProvider) as PendleRouter;
|
|
281
|
+
}
|
|
282
|
+
}
|