@pendle/core-v2 5.8.9 → 5.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +9 -3
- package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +300 -0
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +50 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +50 -2
- package/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol +4 -4
- package/contracts/interfaces/IPChainlinkOracle.sol +3 -1
- package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +80 -0
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +10 -0
- package/package.json +1 -1
- package/typechain-types/ExpiredLpPtRedeemer.ts +7 -6
- package/typechain-types/PendleMultiTokenMerkleDistributor.ts +7 -6
- package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +8 -2
- package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +49 -1
- package/typechain-types/factories/PendleChainlinkOracle__factory.ts +49 -1
- package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +8 -2
- package/typechain-types/hardhat.d.ts +9 -0
- package/typechain-types/index.ts +2 -0
|
@@ -34,6 +34,54 @@
|
|
|
34
34
|
"name": "InvalidRoundId",
|
|
35
35
|
"type": "error"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"inputs": [
|
|
39
|
+
{
|
|
40
|
+
"internalType": "int256",
|
|
41
|
+
"name": "exchangeRate",
|
|
42
|
+
"type": "int256"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"name": "MarketExchangeRateBelowOne",
|
|
46
|
+
"type": "error"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"inputs": [],
|
|
50
|
+
"name": "MarketExpired",
|
|
51
|
+
"type": "error"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputs": [],
|
|
55
|
+
"name": "MarketProportionMustNotEqualOne",
|
|
56
|
+
"type": "error"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"inputs": [
|
|
60
|
+
{
|
|
61
|
+
"internalType": "int256",
|
|
62
|
+
"name": "rateScalar",
|
|
63
|
+
"type": "int256"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"name": "MarketRateScalarBelowZero",
|
|
67
|
+
"type": "error"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"inputs": [
|
|
71
|
+
{
|
|
72
|
+
"internalType": "int256",
|
|
73
|
+
"name": "totalPt",
|
|
74
|
+
"type": "int256"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"internalType": "int256",
|
|
78
|
+
"name": "totalAsset",
|
|
79
|
+
"type": "int256"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"name": "MarketZeroTotalPtOrTotalAsset",
|
|
83
|
+
"type": "error"
|
|
84
|
+
},
|
|
37
85
|
{
|
|
38
86
|
"inputs": [],
|
|
39
87
|
"name": "baseOracleType",
|
|
@@ -250,8 +298,8 @@
|
|
|
250
298
|
"type": "function"
|
|
251
299
|
}
|
|
252
300
|
],
|
|
253
|
-
"bytecode": "0x6101a06040523480156200001257600080fd5b506040516200291d3803806200291d833981016040819052620000359162000e78565b336080526001600160a01b03841660a05263ffffffff831660c05283838380600181111562000068576200006862000ee8565b60e08160018111156200007f576200007f62000ee8565b90525060008062000091858462000172565b60ff9182169350169050620000a882600a62001011565b620000b582600a62001011565b6101205261010052620000c76200031b565b6001600160401b031661014052505050506001600160a01b0382166101608190526040805163313ce56760e01b8152905162000163935063313ce567916004808201926020929091908290030181865afa1580156200012a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000150919062001036565b6200015d90600a62001054565b620003c2565b61018052506200144792505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620001b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dc919062001065565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000247919062001036565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b09190620010b9565b925060019150620002be9050565b866001811115620002d357620002d362000ee8565b03620002e757935083925062000314915050565b6000866001811115620002fe57620002fe62000ee8565b03620003105793509150620003149050565b5050505b9250929050565b62000ef062000e4560201b17600060e051600181111562000340576200034062000ee8565b0362000356575062000408620003dd60201b1790565b600160e05160018111156200036f576200036f62000ee8565b03620003855750620004526200043160201b1790565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b60006001600160ff1b03821115620003d957600080fd5b5090565b60008080620003ec856200047e565b915091508082106200041a576200041082620004098787620006c2565b90620007a7565b925050506200042b565b6200041081620004098787620006c2565b92915050565b6000808062000440856200047e565b915091508082106200045857620004108585620006c2565b8082620004668787620006c2565b62000472919062001108565b62000410919062001138565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620004c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e9919062001065565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200052d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055391906200114f565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000596573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005bc91906200114f565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000623919062001169565b80156200069c575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200066b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200069191906200118d565b6001600160801b0316145b15620006ab57809350620006ba565b620006b78582620007db565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200072a91906200114f565b90504281116200074657670de0b6b3a76400009150506200042b565b6000620007548585620007f5565b90506000620007644284620011b8565b905060006200077e620007788484620009bc565b62000a07565b905062000794670de0b6b3a764000082620007a7565b9450505050506200042b565b5092915050565b600080620007be670de0b6b3a76400008562001108565b9050828181620007d257620007d262001122565b04949350505050565b6000818311620007ec5781620007ee565b825b9392505050565b60008163ffffffff1660000362000887576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801562000847573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200086d9190620011f4565b50505092505050806001600160601b03169150506200042b565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110620008bf57620008bf62001299565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000905908590600401620012af565b600060405180830381865afa15801562000923573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200094d919081019062001313565b90508363ffffffff16816000815181106200096c576200096c62001299565b6020026020010151826001815181106200098a576200098a62001299565b60200260200101516200099e9190620013e5565b620009aa919062001408565b6001600160d81b031695945050505050565b600080620009d06201518061016d62001108565b620009dc848662001108565b620009e8919062001138565b9050620009ff620009f982620003c2565b62000a17565b949350505050565b600080821215620003d957600080fd5b6000680238fd42c5cf03ffff19821215801562000a3d575068070c1cc73b00c800008213155b62000a7e5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401620003b9565b600082121562000abe5762000a97600083900362000a17565b6ec097ce7bc90715b34b9f10000000008162000ab75762000ab762001122565b0592915050565b60006806f05b59d3b2000000831262000b0057506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec63026282700000000062000b38565b6803782dace9d9000000831262000b3457506803782dace9d8ffffff19909101906b1425982cf597cd205cef738062000b38565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841262000b895768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841262000bc6576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841262000c0157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841262000c3c576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841262000c7657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841262000cb05768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841262000cea576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841262000d245768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b62000e4f62001431565b565b6001600160a01b038116811462000e6757600080fd5b50565b6002811062000e6757600080fd5b6000806000806080858703121562000e8f57600080fd5b845162000e9c8162000e51565b602086015190945063ffffffff8116811462000eb757600080fd5b604086015190935062000eca8162000e6a565b606086015190925062000edd8162000e51565b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000f5557816000190482111562000f395762000f3962000efe565b8085161562000f4757918102915b93841c939080029062000f19565b509250929050565b60008262000f6e575060016200042b565b8162000f7d575060006200042b565b816001811462000f96576002811462000fa15762000fc1565b60019150506200042b565b60ff84111562000fb55762000fb562000efe565b50506001821b6200042b565b5060208310610133831016604e8410600b841016171562000fe6575081810a6200042b565b62000ff2838362000f14565b806000190482111562001009576200100962000efe565b029392505050565b6000620007ee838362000f5d565b805160ff811681146200103157600080fd5b919050565b6000602082840312156200104957600080fd5b620007ee826200101f565b6000620007ee60ff84168362000f5d565b6000806000606084860312156200107b57600080fd5b8351620010888162000e51565b60208501519093506200109b8162000e51565b6040850151909250620010ae8162000e51565b809150509250925092565b600080600060608486031215620010cf57600080fd5b8351620010dc8162000e6a565b6020850151909350620010ef8162000e51565b9150620010ff604085016200101f565b90509250925092565b80820281158282048414176200042b576200042b62000efe565b634e487b7160e01b600052601260045260246000fd5b6000826200114a576200114a62001122565b500490565b6000602082840312156200116257600080fd5b5051919050565b6000602082840312156200117c57600080fd5b81518015158114620007ee57600080fd5b600060208284031215620011a057600080fd5b81516001600160801b0381168114620007ee57600080fd5b818103818111156200042b576200042b62000efe565b8051600f81900b81146200103157600080fd5b805161ffff811681146200103157600080fd5b60008060008060008060c087890312156200120e57600080fd5b6200121987620011ce565b95506200122960208801620011ce565b60408801519095506001600160601b03811681146200124757600080fd5b93506200125760608801620011e1565b92506200126760808801620011e1565b91506200127760a08801620011e1565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015620012ef57835163ffffffff1683529284019291840191600101620012cb565b50909695505050505050565b80516001600160d81b03811681146200103157600080fd5b600060208083850312156200132757600080fd5b82516001600160401b03808211156200133f57600080fd5b818501915085601f8301126200135457600080fd5b81518181111562001369576200136962001283565b8060051b604051601f19603f8301168101818110858211171562001391576200139162001283565b604052918252848201925083810185019188831115620013b057600080fd5b938501935b82851015620013d957620013c985620012fb565b84529385019392850192620013b5565b98975050505050505050565b6001600160d81b03828116828216039080821115620007a057620007a062000efe565b60006001600160d81b038381168062001425576200142562001122565b92169190910492915050565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051610160516101805161143d620014e06000396000818160f601526103bb015260008181610167015261032e015260006104e101526000818161028d015261084d0152600081816101b501526108710152600060b901526000818161012b01526104c00152600081816101f8015261049f01526000610266015261143d6000f3fe608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce567146101a15780634ae5fa9b146101b057806354fd4d50146101d75780637284e416146101de57806380f55605146101f35780639a6fc8f51461021a578063c45a015514610261578063ee81d99714610288578063feaf968c146102af575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e89190610efa565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e8565b604051601281526020016100e8565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6001610118565b6101e66102b7565b6040516100e89190610f22565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022d610228366004610f89565b6102d7565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b61022d610321565b60606040518060600160405280602281526020016113e660229139905090565b600080808080856001600160501b038116156103065760405163bfbe031f60e01b815260040160405180910390fd5b61030e610321565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190610fa6565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103e3610495565b6103ed9190611014565b6103f7919061105a565b969760009650909450859350915050565b600080600061041685610512565b9150915080821061043e576104358261042f8787610742565b90610817565b9250505061044c565b6104358161042f8787610742565b92915050565b600080600061046085610512565b91509150808210610475576104358585610742565b80826104818787610742565b61048b9190611088565b610435919061109f565b600061050d6105087f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610846565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057a91906110c8565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e19190611115565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106479190611115565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ab919061112e565b8015610720575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107159190611150565b6001600160801b0316145b1561072d5780935061073a565b61073785826108a5565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190611115565b90504281116107c157670de0b6b3a764000091505061044c565b60006107cd85856108bd565b905060006107db4284611179565b905060006107f16107ec8484610a6d565b610aae565b9050610805670de0b6b3a764000082610817565b94505050505061044c565b5092915050565b60008061082c670de0b6b3a764000085611088565b905082818161083d5761083d611044565b04949350505050565b600061044c7f00000000000000000000000000000000000000000000000000000000000000006108967f000000000000000000000000000000000000000000000000000000000000000085611088565b6108a0919061109f565b610ac1565b60008183116108b457816108b6565b825b9392505050565b60008163ffffffff1660000361094a576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906111b5565b50505092505050806001600160601b031691505061044c565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061097f5761097f61124e565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd906109c3908590600401611264565b600060405180830381865afa1580156109e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0891908101906112c5565b90508363ffffffff1681600081518110610a2457610a2461124e565b602002602001015182600181518110610a3f57610a3f61124e565b6020026020010151610a519190611389565b610a5b91906113a9565b6001600160d81b031695945050505050565b600080610a7f6201518061016d611088565b610a898486611088565b610a93919061109f565b9050610aa6610aa182610ac1565b610ad7565b949350505050565b600080821215610abd57600080fd5b5090565b60006001600160ff1b03821115610abd57600080fd5b6000680238fd42c5cf03ffff198212158015610afc575068070c1cc73b00c800008213155b610b3f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640160405180910390fd5b6000821215610b7757610b5482600003610ad7565b6a0c097ce7bc90715b34b9f160241b81610b7057610b70611044565b0592915050565b60006806f05b59d3b20000008312610bb557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610beb565b6803782dace9d90000008312610be757506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610beb565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610c3b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610c77576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610cb157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610ceb576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610d2457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610d5d5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610d96576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610dcf5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b610ef86113cf565b565b6020810160028310610f1c57634e487b7160e01b600052602160045260246000fd5b91905290565b60006020808352835180602085015260005b81811015610f5057858101830151858201604001528201610f34565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114610f8657600080fd5b50565b600060208284031215610f9b57600080fd5b81356108b681610f71565b600080600080600060a08688031215610fbe57600080fd5b8551610fc981610f71565b809550506020860151935060408601519250606086015191506080860151610ff081610f71565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b8414161561103057611030610ffe565b818105831482151761044c5761044c610ffe565b634e487b7160e01b600052601260045260246000fd5b60008261106957611069611044565b600160ff1b82146000198414161561108357611083610ffe565b500590565b808202811582820484141761044c5761044c610ffe565b6000826110ae576110ae611044565b500490565b6001600160a01b0381168114610f8657600080fd5b6000806000606084860312156110dd57600080fd5b83516110e8816110b3565b60208501519093506110f9816110b3565b604085015190925061110a816110b3565b809150509250925092565b60006020828403121561112757600080fd5b5051919050565b60006020828403121561114057600080fd5b815180151581146108b657600080fd5b60006020828403121561116257600080fd5b81516001600160801b03811681146108b657600080fd5b8181038181111561044c5761044c610ffe565b8051600f81900b811461119e57600080fd5b919050565b805161ffff8116811461119e57600080fd5b60008060008060008060c087890312156111ce57600080fd5b6111d78761118c565b95506111e56020880161118c565b60408801519095506001600160601b038116811461120257600080fd5b9350611210606088016111a3565b925061121e608088016111a3565b915061122c60a088016111a3565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156112a257835163ffffffff1683529284019291840191600101611280565b50909695505050505050565b80516001600160d81b038116811461119e57600080fd5b600060208083850312156112d857600080fd5b82516001600160401b03808211156112ef57600080fd5b818501915085601f83011261130357600080fd5b81518181111561131557611315611238565b8060051b604051601f19603f8301168101818110858211171561133a5761133a611238565b60405291825284820192508381018501918883111561135857600080fd5b938501935b8285101561137d5761136e856112ae565b8452938501939285019261135d565b98975050505050505050565b6001600160d81b0382811682821603908082111561081057610810610ffe565b60006001600160d81b03838116806113c3576113c3611044565b92169190910492915050565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220f04e6b688c43a959401bf6f4f2dba5e67d880b18d909e69a7f805f097b670a2964736f6c63430008170033",
|
|
254
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce567146101a15780634ae5fa9b146101b057806354fd4d50146101d75780637284e416146101de57806380f55605146101f35780639a6fc8f51461021a578063c45a015514610261578063ee81d99714610288578063feaf968c146102af575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e89190610efa565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e8565b604051601281526020016100e8565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6001610118565b6101e66102b7565b6040516100e89190610f22565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022d610228366004610f89565b6102d7565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b61022d610321565b60606040518060600160405280602281526020016113e660229139905090565b600080808080856001600160501b038116156103065760405163bfbe031f60e01b815260040160405180910390fd5b61030e610321565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190610fa6565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103e3610495565b6103ed9190611014565b6103f7919061105a565b969760009650909450859350915050565b600080600061041685610512565b9150915080821061043e576104358261042f8787610742565b90610817565b9250505061044c565b6104358161042f8787610742565b92915050565b600080600061046085610512565b91509150808210610475576104358585610742565b80826104818787610742565b61048b9190611088565b610435919061109f565b600061050d6105087f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610846565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057a91906110c8565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e19190611115565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106479190611115565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ab919061112e565b8015610720575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107159190611150565b6001600160801b0316145b1561072d5780935061073a565b61073785826108a5565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190611115565b90504281116107c157670de0b6b3a764000091505061044c565b60006107cd85856108bd565b905060006107db4284611179565b905060006107f16107ec8484610a6d565b610aae565b9050610805670de0b6b3a764000082610817565b94505050505061044c565b5092915050565b60008061082c670de0b6b3a764000085611088565b905082818161083d5761083d611044565b04949350505050565b600061044c7f00000000000000000000000000000000000000000000000000000000000000006108967f000000000000000000000000000000000000000000000000000000000000000085611088565b6108a0919061109f565b610ac1565b60008183116108b457816108b6565b825b9392505050565b60008163ffffffff1660000361094a576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906111b5565b50505092505050806001600160601b031691505061044c565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061097f5761097f61124e565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd906109c3908590600401611264565b600060405180830381865afa1580156109e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0891908101906112c5565b90508363ffffffff1681600081518110610a2457610a2461124e565b602002602001015182600181518110610a3f57610a3f61124e565b6020026020010151610a519190611389565b610a5b91906113a9565b6001600160d81b031695945050505050565b600080610a7f6201518061016d611088565b610a898486611088565b610a93919061109f565b9050610aa6610aa182610ac1565b610ad7565b949350505050565b600080821215610abd57600080fd5b5090565b60006001600160ff1b03821115610abd57600080fd5b6000680238fd42c5cf03ffff198212158015610afc575068070c1cc73b00c800008213155b610b3f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640160405180910390fd5b6000821215610b7757610b5482600003610ad7565b6a0c097ce7bc90715b34b9f160241b81610b7057610b70611044565b0592915050565b60006806f05b59d3b20000008312610bb557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610beb565b6803782dace9d90000008312610be757506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610beb565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610c3b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610c77576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610cb157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610ceb576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610d2457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610d5d5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610d96576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610dcf5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b610ef86113cf565b565b6020810160028310610f1c57634e487b7160e01b600052602160045260246000fd5b91905290565b60006020808352835180602085015260005b81811015610f5057858101830151858201604001528201610f34565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114610f8657600080fd5b50565b600060208284031215610f9b57600080fd5b81356108b681610f71565b600080600080600060a08688031215610fbe57600080fd5b8551610fc981610f71565b809550506020860151935060408601519250606086015191506080860151610ff081610f71565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b8414161561103057611030610ffe565b818105831482151761044c5761044c610ffe565b634e487b7160e01b600052601260045260246000fd5b60008261106957611069611044565b600160ff1b82146000198414161561108357611083610ffe565b500590565b808202811582820484141761044c5761044c610ffe565b6000826110ae576110ae611044565b500490565b6001600160a01b0381168114610f8657600080fd5b6000806000606084860312156110dd57600080fd5b83516110e8816110b3565b60208501519093506110f9816110b3565b604085015190925061110a816110b3565b809150509250925092565b60006020828403121561112757600080fd5b5051919050565b60006020828403121561114057600080fd5b815180151581146108b657600080fd5b60006020828403121561116257600080fd5b81516001600160801b03811681146108b657600080fd5b8181038181111561044c5761044c610ffe565b8051600f81900b811461119e57600080fd5b919050565b805161ffff8116811461119e57600080fd5b60008060008060008060c087890312156111ce57600080fd5b6111d78761118c565b95506111e56020880161118c565b60408801519095506001600160601b038116811461120257600080fd5b9350611210606088016111a3565b925061121e608088016111a3565b915061122c60a088016111a3565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156112a257835163ffffffff1683529284019291840191600101611280565b50909695505050505050565b80516001600160d81b038116811461119e57600080fd5b600060208083850312156112d857600080fd5b82516001600160401b03808211156112ef57600080fd5b818501915085601f83011261130357600080fd5b81518181111561131557611315611238565b8060051b604051601f19603f8301168101818110858211171561133a5761133a611238565b60405291825284820192508381018501918883111561135857600080fd5b938501935b8285101561137d5761136e856112ae565b8452938501939285019261135d565b98975050505050505050565b6001600160d81b0382811682821603908082111561081057610810610ffe565b60006001600160d81b03838116806113c3576113c3611044565b92169190910492915050565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220f04e6b688c43a959401bf6f4f2dba5e67d880b18d909e69a7f805f097b670a2964736f6c63430008170033",
|
|
301
|
+
"bytecode": "0x6101a06040523480156200001257600080fd5b50604051620042f1380380620042f1833981016040819052620000359162001ab9565b336080526001600160a01b03841660a05263ffffffff831660c05283838380600381111562000068576200006862001b2c565b60e08160038111156200007f576200007f62001b2c565b90525060008062000091858462000172565b60ff9182169350169050620000a882600a62001c55565b620000b582600a62001c55565b6101205261010052620000c7620003ac565b6001600160401b031661014052505050506001600160a01b0382166101608190526040805163313ce56760e01b8152905162000163935063313ce567916004808201926020929091908290030181865afa1580156200012a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000150919062001c75565b6200015d90600a62001c93565b62000474565b61018052506200221e92505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620001b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dc919062001ca4565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000247919062001c75565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b0919062001cf8565b925060019150620002be9050565b866003811115620002d357620002d362001b2c565b03620002e7579350839250620003a5915050565b6000866003811115620002fe57620002fe62001b2c565b03620003105793509150620003a59050565b600386600381111562000327576200032762001b2c565b036200033c57601294509250620003a5915050565b600286600381111562000353576200035362001b2c565b03620003685750601293509150620003a59050565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b9250929050565b620019b962001a8760201b17600060e0516003811115620003d157620003d162001b2c565b03620003e75750620003fd6200048f60201b1790565b600160e051600381111562000400576200040062001b2c565b036200041657506200044a620004e660201b1790565b600260e05160038111156200042f576200042f62001b2c565b036200044557506200048d6200053360201b1790565b600360e05160038111156200045e576200045e62001b2c565b03620003685750620004dc6200058c60201b1790565b60006001600160ff1b038211156200048b57600080fd5b5090565b600080806200049e85620005e6565b91509150808210620004cc57620004c282620004bb87876200082a565b906200090f565b92505050620004e0565b620004c281620004bb87876200082a565b50505b92915050565b60008080620004f585620005e6565b915091508082106200050d57620004c285856200082a565b80826200051b87876200082a565b62000527919062001d4a565b620004c2919062001d7a565b600080806200054b6001600160a01b038616620005e6565b909250905060006200055f86868462000943565b905081831062000580576200057581846200090f565b9350505050620004e0565b6200057581836200090f565b60008080620005a46001600160a01b038616620005e6565b90925090506000620005b886868462000943565b9050818310620005cd579250620004e0915050565b81620005da848362001d4a565b62000575919062001d7a565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000651919062001ca4565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000695573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006bb919062001d91565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000724919062001d91565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200078b919062001dab565b801562000804575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015620007d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007f9919062001dcf565b6001600160801b0316145b15620008135780935062000822565b6200081f858262000afb565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200086c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000892919062001d91565b9050428111620008ae57670de0b6b3a7640000915050620004e0565b6000620008bc858562000b15565b90506000620008cc428462001dfa565b90506000620008e6620008e0848462000cdc565b62000d21565b9050620008fc670de0b6b3a7640000826200090f565b945050505050620004e0565b5092915050565b60008062000926670de0b6b3a76400008562001d4a565b90508281816200093a576200093a62001d64565b04949350505050565b60405163794052f360e01b81526000600482018190529081906001600160a01b0386169063794052f39060240161012060405180830381865afa1580156200098f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b5919062001e85565b90506000428260a0015111620009f157620009db84836020015162000d3160201b60201c565b8251620009e9919062001f0c565b905062000ada565b600062000a0083864262000d71565b905060008062000a1289868a62000e7f565b91509150600062000a4162000a3b85604001518562000a32919062001f2f565b86519062000f00565b62000f25565b9050600062000a9062000a55838562001353565b62000a6990670de0b6b3a764000062001f0c565b8851602088015162000a7d90869062000f00565b62000a89919062001f2f565b9062001353565b905062000aa98482896000015162000a89919062001f0c565b62000ab5828562001353565b866020015162000ac6919062001f2f565b62000ad2919062001f0c565b955050505050505b604082015162000af190620008e090839062001353565b9695505050505050565b600081831162000b0c578162000b0e565b825b9392505050565b60008163ffffffff1660000362000ba7576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801562000b67573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b8d919062001f78565b50505092505050806001600160601b0316915050620004e0565b604080516002808252606082018352600092602083019080368337019050509050828160008151811062000bdf5762000bdf62002007565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000c259085906004016200201d565b600060405180830381865afa15801562000c43573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000c6d919081019062002069565b90508363ffffffff168160008151811062000c8c5762000c8c62002007565b60200260200101518260018151811062000caa5762000caa62002007565b602002602001015162000cbe919062002133565b62000cca919062002156565b6001600160d81b031695945050505050565b60008062000cf06201518061016d62001d4a565b62000cfc848662001d4a565b62000d08919062001d7a565b905062000d1962000a3b8262000474565b949350505050565b6000808212156200048b57600080fd5b6000806000831262000d4557600162000d49565b6000195b905062000d656200015d8562000d5f866200137e565b62001393565b62000d1990826200217f565b62000d9d6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a0840151821062000dc25760405163b2094b5960e01b815260040160405180910390fd5b6000828560a0015162000dd6919062001dfa565b905062000de48582620013b6565b8252602085015162000df890859062000d31565b60208301528451158062000e0e57506020820151155b1562000e3e578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044016200039c565b84516101008601516020840151845162000e5c93929190856200141d565b604083015260c085015162000e72908262000cdc565b6060830152509392505050565b6000808062000e986001600160a01b0387168562000b15565b90506000428660a0015162000eae919062001dfa565b905062000ebc828262000cdc565b9350600062000ed78761010001518362000cdc60201b60201c565b9050600262000ee7868362001f0c565b62000ef39190620021b5565b9350505050935093915050565b60008062000f0f83856200217f565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff19821215801562000f4b575068070c1cc73b00c800008213155b62000f8c5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016200039c565b600082121562000fcc5762000fa5600083900362000f25565b6ec097ce7bc90715b34b9f10000000008162000fc55762000fc562001d64565b0592915050565b60006806f05b59d3b200000083126200100e57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec63026282700000000062001046565b6803782dace9d900000083126200104257506803782dace9d8ffffff19909101906b1425982cf597cd205cef738062001046565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412620010975768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412620010d4576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126200110f57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126200114a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126200118457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412620011be5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412620011f8576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412620012325768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806200136a670de0b6b3a7640000856200217f565b905082818162000f1c5762000f1c62001d64565b60008082136200048b57620004e082620021e9565b6000670de0b6b3a7640000620013aa848462001d4a565b62000b0e919062001d7a565b6000620013c38262000474565b620013d86200015d6201518061016d62001d4a565b8460800151620013e991906200217f565b620013f59190620021b5565b905060008113620004e057604051630e520c3b60e11b8152600481018290526024016200039c565b6000806200142c868462000cdc565b9050670de0b6b3a76400008112156200145c5760405163329e322960e21b8152600481018290526024016200039c565b6000620014766200146e878a62001f0c565b899062001353565b905060006200148582620014ac565b905062001493818762001353565b6200149f908462001f2f565b9998505050505050505050565b6000670de0b6b3a76400008203620014d75760405163a9c8b14d60e01b815260040160405180910390fd5b6000620014f9620014f184670de0b6b3a764000062001f2f565b849062001353565b905062000b0e816000808213620015435760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016200039c565b670c7d713b49da000082138015620015625750670f43fc2c04ee000082125b156200158c57670de0b6b3a76400006200157c836200159c565b8162000fc55762000fc562001d64565b620004e082620016c7565b919050565b670de0b6b3a7640000026000806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281620015e157620015e162001d64565b05905060006ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156200170f5762001706826ec097ce7bc90715b34b9f100000000081620016ff57620016ff62001d64565b05620016c7565b60000392915050565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000083126200176157770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e00000083126200179a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312620017e3576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126200181f576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126200185757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126200188f57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312620018c55768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312620018f157680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831262001927576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126200195d576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831262001992576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312620019c7576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281620019f357620019f362001d64565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b62001a9162002208565b565b6001600160a01b038116811462001aa957600080fd5b50565b8051620015978162001a93565b6000806000806080858703121562001ad057600080fd5b845162001add8162001a93565b602086015190945063ffffffff8116811462001af857600080fd5b60408601519093506004811062001b0e57600080fd5b606086015190925062001b218162001a93565b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562001b9957816000190482111562001b7d5762001b7d62001b42565b8085161562001b8b57918102915b93841c939080029062001b5d565b509250929050565b60008262001bb257506001620004e0565b8162001bc157506000620004e0565b816001811462001bda576002811462001be55762001c05565b6001915050620004e0565b60ff84111562001bf95762001bf962001b42565b50506001821b620004e0565b5060208310610133831016604e8410600b841016171562001c2a575081810a620004e0565b62001c36838362001b58565b806000190482111562001c4d5762001c4d62001b42565b029392505050565b600062000b0e838362001ba1565b805160ff811681146200159757600080fd5b60006020828403121562001c8857600080fd5b62000b0e8262001c63565b600062000b0e60ff84168362001ba1565b60008060006060848603121562001cba57600080fd5b835162001cc78162001a93565b602085015190935062001cda8162001a93565b604085015190925062001ced8162001a93565b809150509250925092565b60008060006060848603121562001d0e57600080fd5b83516002811062001d1e57600080fd5b602085015190935062001d318162001a93565b915062001d416040850162001c63565b90509250925092565b8082028115828204841417620004e057620004e062001b42565b634e487b7160e01b600052601260045260246000fd5b60008262001d8c5762001d8c62001d64565b500490565b60006020828403121562001da457600080fd5b5051919050565b60006020828403121562001dbe57600080fd5b8151801515811462000b0e57600080fd5b60006020828403121562001de257600080fd5b81516001600160801b038116811462000b0e57600080fd5b81810381811115620004e057620004e062001b42565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001e4c5762001e4c62001e10565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001e7d5762001e7d62001e10565b604052919050565b6000610120828403121562001e9957600080fd5b62001ea362001e26565b82518152602083015160208201526040830151604082015262001ec96060840162001aac565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b8082018281126000831280158216821582161715620004dd57620004dd62001b42565b818103600083128015838313168383128216171562000908576200090862001b42565b8051600f81900b81146200159757600080fd5b805161ffff811681146200159757600080fd5b60008060008060008060c0878903121562001f9257600080fd5b62001f9d8762001f52565b955062001fad6020880162001f52565b60408801519095506001600160601b038116811462001fcb57600080fd5b935062001fdb6060880162001f65565b925062001feb6080880162001f65565b915062001ffb60a0880162001f65565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156200205d57835163ffffffff168352928401929184019160010162002039565b50909695505050505050565b600060208083850312156200207d57600080fd5b82516001600160401b03808211156200209557600080fd5b818501915085601f830112620020aa57600080fd5b815181811115620020bf57620020bf62001e10565b8060051b9150620020d284830162001e52565b8181529183018401918481019088841115620020ed57600080fd5b938501935b838510156200212757845192506001600160d81b0383168314620021165760008081fd5b8282529385019390850190620020f2565b98975050505050505050565b6001600160d81b0382811682821603908082111562000908576200090862001b42565b60006001600160d81b038381168062002173576200217362001d64565b92169190910492915050565b80820260008212600160ff1b841416156200219e576200219e62001b42565b8181058314821517620004e057620004e062001b42565b600082620021c757620021c762001d64565b600160ff1b821460001984141615620021e457620021e462001b42565b500590565b6000600160ff1b820162002201576200220162001b42565b5060000390565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051610160516101805161203a620022b76000396000818160f601526103b00152600081816101670152610323015260006105780152600081816102820152610a760152600081816101aa0152610a9a0152600060b901526000818161012b01526105570152600081816101ed01526105360152600061025b015261203a6000f3fe608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce567146101965780634ae5fa9b146101a557806354fd4d50146101cc5780637284e416146101d357806380f55605146101e85780639a6fc8f51461020f578063c45a015514610256578063ee81d9971461027d578063feaf968c146102a4575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119c3565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119eb565b604051601281526020016100e8565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6001610118565b6101db6102ac565b6040516100e891906119ff565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022261021d366004611a66565b6102cc565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b610222610316565b6060604051806060016040528060228152602001611fe360229139905090565b600080808080856001600160501b038116156102fb5760405163bfbe031f60e01b815260040160405180910390fd5b610303610316565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561037f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a39190611a83565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103d861052c565b6103e29190611af1565b6103ec9190611b37565b969760009650909450859350915050565b600080600061040b856105a9565b915091508082106104335761042a8261042487876107d9565b906108ae565b92505050610444565b61042a8161042487876107d9565b50505b92915050565b6000806000610458856105a9565b9150915080821061046d5761042a85856107d9565b808261047987876107d9565b6104839190611b65565b61042a9190611b7c565b60008060006104a4856001600160a01b03166105a9565b9150915060006104b58686846108dd565b90508183106104d2576104c881846108ae565b9350505050610444565b6104c881836108ae565b60008060006104f3856001600160a01b03166105a9565b9150915060006105048686846108dd565b9050818310610517579250610444915050565b816105228483611b65565b6104c89190611b7c565b60006105a461059f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610a6f565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106119190611ba5565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190611bf2565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190611bf2565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107429190611c0b565b80156107b7575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190611c2d565b6001600160801b0316145b156107c4578093506107d1565b6107ce8582610ace565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083e9190611bf2565b905042811161085857670de0b6b3a7640000915050610444565b60006108648585610ae6565b905060006108724284611c56565b905060006108886108838484610c96565b610cd2565b905061089c670de0b6b3a7640000826108ae565b945050505050610444565b5092915050565b6000806108c3670de0b6b3a764000085611b65565b90508281816108d4576108d4611b21565b04949350505050565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b815260040161090d91906119eb565b61012060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611ce3565b90506000428260a001511161097f5761096c848360200151610ce5565b82516109789190611d65565b9050610a4b565b600061098c838642610d1c565b905060008061099c89868a610e22565b9150915060006109c56109c08560400151856109b89190611d85565b865190610e91565b610eb4565b90506000610a0a6109d683856112c9565b6109e890670de0b6b3a7640000611d65565b885160208801516109fa908690610e91565b610a049190611d85565b906112c9565b9050610a2084828960000151610a049190611d65565b610a2a82856112c9565b8660200151610a399190611d85565b610a439190611d65565b955050505050505b610a656108838360400151836112c990919063ffffffff16565b9695505050505050565b60006104447f0000000000000000000000000000000000000000000000000000000000000000610abf7f000000000000000000000000000000000000000000000000000000000000000085611b65565b610ac99190611b7c565b6112ef565b6000818311610add5781610adf565b825b9392505050565b60008163ffffffff16600003610b73576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190611dc9565b50505092505050806001600160601b0316915050610444565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110610ba857610ba8611e4c565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610bec908590600401611e62565b600060405180830381865afa158015610c09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c319190810190611eac565b90508363ffffffff1681600081518110610c4d57610c4d611e4c565b602002602001015182600181518110610c6857610c68611e4c565b6020026020010151610c7a9190611f6a565b610c849190611f8a565b6001600160d81b031695945050505050565b600080610ca86201518061016d611b65565b610cb28486611b65565b610cbc9190611b7c565b9050610cca6109c0826112ef565b949350505050565b600080821215610ce157600080fd5b5090565b60008060008312610cf7576001610cfb565b6000195b9050610d12610ac985610d0d86611305565b61131c565b610cca9082611af1565b610d476040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610d6b5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610d7d9190611c56565b9050610d89858261133b565b82526020850151610d9b908590610ce5565b602083015284511580610db057506020820151155b15610de3578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b610e0185600001518661010001518460200151856000015185611397565b604083015260c0850151610e159082610c96565b6060830152509392505050565b60008080610e396001600160a01b03871685610ae6565b90506000428660a00151610e4d9190611c56565b9050610e598282610c96565b93506000610e6c87610100015183610c96565b90506002610e7a8683611d65565b610e849190611b37565b9350505050935093915050565b600080610e9e8385611af1565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610ed9575068070c1cc73b00c800008213155b610f185760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610dda565b6000821215610f5057610f2d82600003610eb4565b6a0c097ce7bc90715b34b9f160241b81610f4957610f49611b21565b0592915050565b60006806f05b59d3b20000008312610f8e57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610fc4565b6803782dace9d90000008312610fc057506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610fc4565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110145768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611050576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261108a57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126110c4576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126110fd57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126111365768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841261116f576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126111a85768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806112de670de0b6b3a764000085611af1565b9050828181610eab57610eab611b21565b60006001600160ff1b03821115610ce157600080fd5b6000808213610ce15761131782611fb0565b610444565b6000670de0b6b3a76400006113318484611b65565b610adf9190611b7c565b6000611346826112ef565b611358610ac96201518061016d611b65565b84608001516113679190611af1565b6113719190611b37565b90506000811361044457604051630e520c3b60e11b815260048101829052602401610dda565b6000806113a48684610c96565b9050670de0b6b3a76400008112156113d25760405163329e322960e21b815260048101829052602401610dda565b60006113e86113e1878a611d65565b89906112c9565b905060006113f582611418565b905061140181876112c9565b61140b9084611d85565b9998505050505050505050565b6000670de0b6b3a764000082036114425760405163a9c8b14d60e01b815260040160405180910390fd5b600061146061145984670de0b6b3a7640000611d85565b84906112c9565b9050610adf8160008082136114a75760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610dda565b670c7d713b49da0000821380156114c55750670f43fc2c04ee000082125b156114e957670de0b6b3a76400006114dc836114f7565b81610f4957610f49611b21565b61044482611616565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161153857611538611b21565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156116575761164e826a0c097ce7bc90715b34b9f160241b8161164857611648611b21565b05611616565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126116a25772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126116d9576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611721576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261175c576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261179357693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126117ca57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126117ff5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261182a57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261185f576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611894576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126118c8576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126118fc576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161192557611925611b21565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6119c1611fcc565b565b60208101600483106119e557634e487b7160e01b600052602160045260246000fd5b91905290565b6001600160a01b0391909116815260200190565b60006020808352835180602085015260005b81811015611a2d57858101830151858201604001528201611a11565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114611a6357600080fd5b50565b600060208284031215611a7857600080fd5b8135610adf81611a4e565b600080600080600060a08688031215611a9b57600080fd5b8551611aa681611a4e565b809550506020860151935060408601519250606086015191506080860151611acd81611a4e565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b84141615611b0d57611b0d611adb565b818105831482151761044457610444611adb565b634e487b7160e01b600052601260045260246000fd5b600082611b4657611b46611b21565b600160ff1b821460001984141615611b6057611b60611adb565b500590565b808202811582820484141761044457610444611adb565b600082611b8b57611b8b611b21565b500490565b6001600160a01b0381168114611a6357600080fd5b600080600060608486031215611bba57600080fd5b8351611bc581611b90565b6020850151909350611bd681611b90565b6040850151909250611be781611b90565b809150509250925092565b600060208284031215611c0457600080fd5b5051919050565b600060208284031215611c1d57600080fd5b81518015158114610adf57600080fd5b600060208284031215611c3f57600080fd5b81516001600160801b0381168114610adf57600080fd5b8181038181111561044457610444611adb565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611ca257611ca2611c69565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611cd057611cd0611c69565b604052919050565b80516114f281611b90565b60006101208284031215611cf657600080fd5b611cfe611c7f565b825181526020830151602082015260408301516040820152611d2260608401611cd8565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b808201828112600083128015821682158216171561044157610441611adb565b81810360008312801583831316838312821617156108a7576108a7611adb565b8051600f81900b81146114f257600080fd5b805161ffff811681146114f257600080fd5b60008060008060008060c08789031215611de257600080fd5b611deb87611da5565b9550611df960208801611da5565b60408801519095506001600160601b0381168114611e1657600080fd5b9350611e2460608801611db7565b9250611e3260808801611db7565b9150611e4060a08801611db7565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015611ea057835163ffffffff1683529284019291840191600101611e7e565b50909695505050505050565b60006020808385031215611ebf57600080fd5b82516001600160401b0380821115611ed657600080fd5b818501915085601f830112611eea57600080fd5b815181811115611efc57611efc611c69565b8060051b9150611f0d848301611ca8565b8181529183018401918481019088841115611f2757600080fd5b938501935b83851015611f5e57845192506001600160d81b0383168314611f4e5760008081fd5b8282529385019390850190611f2c565b98975050505050505050565b6001600160d81b038281168282160390808211156108a7576108a7611adb565b60006001600160d81b0383811680611fa457611fa4611b21565b92169190910492915050565b6000600160ff1b8201611fc557611fc5611adb565b5060000390565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220b177c678b3da02514b634e644ce99a760349a7e76b68f0f852853d8bd9f5fcb064736f6c63430008170033",
|
|
302
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce567146101965780634ae5fa9b146101a557806354fd4d50146101cc5780637284e416146101d357806380f55605146101e85780639a6fc8f51461020f578063c45a015514610256578063ee81d9971461027d578063feaf968c146102a4575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119c3565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119eb565b604051601281526020016100e8565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6001610118565b6101db6102ac565b6040516100e891906119ff565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022261021d366004611a66565b6102cc565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b610222610316565b6060604051806060016040528060228152602001611fe360229139905090565b600080808080856001600160501b038116156102fb5760405163bfbe031f60e01b815260040160405180910390fd5b610303610316565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561037f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a39190611a83565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103d861052c565b6103e29190611af1565b6103ec9190611b37565b969760009650909450859350915050565b600080600061040b856105a9565b915091508082106104335761042a8261042487876107d9565b906108ae565b92505050610444565b61042a8161042487876107d9565b50505b92915050565b6000806000610458856105a9565b9150915080821061046d5761042a85856107d9565b808261047987876107d9565b6104839190611b65565b61042a9190611b7c565b60008060006104a4856001600160a01b03166105a9565b9150915060006104b58686846108dd565b90508183106104d2576104c881846108ae565b9350505050610444565b6104c881836108ae565b60008060006104f3856001600160a01b03166105a9565b9150915060006105048686846108dd565b9050818310610517579250610444915050565b816105228483611b65565b6104c89190611b7c565b60006105a461059f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610a6f565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106119190611ba5565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190611bf2565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190611bf2565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107429190611c0b565b80156107b7575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190611c2d565b6001600160801b0316145b156107c4578093506107d1565b6107ce8582610ace565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083e9190611bf2565b905042811161085857670de0b6b3a7640000915050610444565b60006108648585610ae6565b905060006108724284611c56565b905060006108886108838484610c96565b610cd2565b905061089c670de0b6b3a7640000826108ae565b945050505050610444565b5092915050565b6000806108c3670de0b6b3a764000085611b65565b90508281816108d4576108d4611b21565b04949350505050565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b815260040161090d91906119eb565b61012060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611ce3565b90506000428260a001511161097f5761096c848360200151610ce5565b82516109789190611d65565b9050610a4b565b600061098c838642610d1c565b905060008061099c89868a610e22565b9150915060006109c56109c08560400151856109b89190611d85565b865190610e91565b610eb4565b90506000610a0a6109d683856112c9565b6109e890670de0b6b3a7640000611d65565b885160208801516109fa908690610e91565b610a049190611d85565b906112c9565b9050610a2084828960000151610a049190611d65565b610a2a82856112c9565b8660200151610a399190611d85565b610a439190611d65565b955050505050505b610a656108838360400151836112c990919063ffffffff16565b9695505050505050565b60006104447f0000000000000000000000000000000000000000000000000000000000000000610abf7f000000000000000000000000000000000000000000000000000000000000000085611b65565b610ac99190611b7c565b6112ef565b6000818311610add5781610adf565b825b9392505050565b60008163ffffffff16600003610b73576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190611dc9565b50505092505050806001600160601b0316915050610444565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110610ba857610ba8611e4c565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610bec908590600401611e62565b600060405180830381865afa158015610c09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c319190810190611eac565b90508363ffffffff1681600081518110610c4d57610c4d611e4c565b602002602001015182600181518110610c6857610c68611e4c565b6020026020010151610c7a9190611f6a565b610c849190611f8a565b6001600160d81b031695945050505050565b600080610ca86201518061016d611b65565b610cb28486611b65565b610cbc9190611b7c565b9050610cca6109c0826112ef565b949350505050565b600080821215610ce157600080fd5b5090565b60008060008312610cf7576001610cfb565b6000195b9050610d12610ac985610d0d86611305565b61131c565b610cca9082611af1565b610d476040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610d6b5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610d7d9190611c56565b9050610d89858261133b565b82526020850151610d9b908590610ce5565b602083015284511580610db057506020820151155b15610de3578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b610e0185600001518661010001518460200151856000015185611397565b604083015260c0850151610e159082610c96565b6060830152509392505050565b60008080610e396001600160a01b03871685610ae6565b90506000428660a00151610e4d9190611c56565b9050610e598282610c96565b93506000610e6c87610100015183610c96565b90506002610e7a8683611d65565b610e849190611b37565b9350505050935093915050565b600080610e9e8385611af1565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610ed9575068070c1cc73b00c800008213155b610f185760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610dda565b6000821215610f5057610f2d82600003610eb4565b6a0c097ce7bc90715b34b9f160241b81610f4957610f49611b21565b0592915050565b60006806f05b59d3b20000008312610f8e57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610fc4565b6803782dace9d90000008312610fc057506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610fc4565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110145768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611050576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261108a57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126110c4576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126110fd57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126111365768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841261116f576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126111a85768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806112de670de0b6b3a764000085611af1565b9050828181610eab57610eab611b21565b60006001600160ff1b03821115610ce157600080fd5b6000808213610ce15761131782611fb0565b610444565b6000670de0b6b3a76400006113318484611b65565b610adf9190611b7c565b6000611346826112ef565b611358610ac96201518061016d611b65565b84608001516113679190611af1565b6113719190611b37565b90506000811361044457604051630e520c3b60e11b815260048101829052602401610dda565b6000806113a48684610c96565b9050670de0b6b3a76400008112156113d25760405163329e322960e21b815260048101829052602401610dda565b60006113e86113e1878a611d65565b89906112c9565b905060006113f582611418565b905061140181876112c9565b61140b9084611d85565b9998505050505050505050565b6000670de0b6b3a764000082036114425760405163a9c8b14d60e01b815260040160405180910390fd5b600061146061145984670de0b6b3a7640000611d85565b84906112c9565b9050610adf8160008082136114a75760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610dda565b670c7d713b49da0000821380156114c55750670f43fc2c04ee000082125b156114e957670de0b6b3a76400006114dc836114f7565b81610f4957610f49611b21565b61044482611616565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161153857611538611b21565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156116575761164e826a0c097ce7bc90715b34b9f160241b8161164857611648611b21565b05611616565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126116a25772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126116d9576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611721576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261175c576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261179357693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126117ca57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126117ff5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261182a57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261185f576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611894576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126118c8576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126118fc576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161192557611925611b21565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6119c1611fcc565b565b60208101600483106119e557634e487b7160e01b600052602160045260246000fd5b91905290565b6001600160a01b0391909116815260200190565b60006020808352835180602085015260005b81811015611a2d57858101830151858201604001528201611a11565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114611a6357600080fd5b50565b600060208284031215611a7857600080fd5b8135610adf81611a4e565b600080600080600060a08688031215611a9b57600080fd5b8551611aa681611a4e565b809550506020860151935060408601519250606086015191506080860151611acd81611a4e565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b84141615611b0d57611b0d611adb565b818105831482151761044457610444611adb565b634e487b7160e01b600052601260045260246000fd5b600082611b4657611b46611b21565b600160ff1b821460001984141615611b6057611b60611adb565b500590565b808202811582820484141761044457610444611adb565b600082611b8b57611b8b611b21565b500490565b6001600160a01b0381168114611a6357600080fd5b600080600060608486031215611bba57600080fd5b8351611bc581611b90565b6020850151909350611bd681611b90565b6040850151909250611be781611b90565b809150509250925092565b600060208284031215611c0457600080fd5b5051919050565b600060208284031215611c1d57600080fd5b81518015158114610adf57600080fd5b600060208284031215611c3f57600080fd5b81516001600160801b0381168114610adf57600080fd5b8181038181111561044457610444611adb565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611ca257611ca2611c69565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611cd057611cd0611c69565b604052919050565b80516114f281611b90565b60006101208284031215611cf657600080fd5b611cfe611c7f565b825181526020830151602082015260408301516040820152611d2260608401611cd8565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b808201828112600083128015821682158216171561044157610441611adb565b81810360008312801583831316838312821617156108a7576108a7611adb565b8051600f81900b81146114f257600080fd5b805161ffff811681146114f257600080fd5b60008060008060008060c08789031215611de257600080fd5b611deb87611da5565b9550611df960208801611da5565b60408801519095506001600160601b0381168114611e1657600080fd5b9350611e2460608801611db7565b9250611e3260808801611db7565b9150611e4060a08801611db7565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015611ea057835163ffffffff1683529284019291840191600101611e7e565b50909695505050505050565b60006020808385031215611ebf57600080fd5b82516001600160401b0380821115611ed657600080fd5b818501915085601f830112611eea57600080fd5b815181811115611efc57611efc611c69565b8060051b9150611f0d848301611ca8565b8181529183018401918481019088841115611f2757600080fd5b938501935b83851015611f5e57845192506001600160d81b0383168314611f4e5760008081fd5b8282529385019390850190611f2c565b98975050505050505050565b6001600160d81b038281168282160390808211156108a7576108a7611adb565b60006001600160d81b0383811680611fa457611fa4611b21565b92169190910492915050565b6000600160ff1b8201611fc557611fc5611adb565b5060000390565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220b177c678b3da02514b634e644ce99a760349a7e76b68f0f852853d8bd9f5fcb064736f6c63430008170033",
|
|
255
303
|
"linkReferences": {},
|
|
256
304
|
"deployedLinkReferences": {}
|
|
257
305
|
}
|
|
@@ -4,7 +4,7 @@ pragma solidity ^0.8.17;
|
|
|
4
4
|
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
5
5
|
import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
|
|
6
6
|
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
|
|
7
|
-
import "../core/libraries/
|
|
7
|
+
import "../core/libraries/BoringOwnableUpgradeableV2.sol";
|
|
8
8
|
import "../core/libraries/TokenHelper.sol";
|
|
9
9
|
import "../core/libraries/Errors.sol";
|
|
10
10
|
import "../interfaces/IPMultiTokenMerkleDistributor.sol";
|
|
@@ -12,7 +12,7 @@ import "../interfaces/IPMultiTokenMerkleDistributor.sol";
|
|
|
12
12
|
contract PendleMultiTokenMerkleDistributor is
|
|
13
13
|
IPMultiTokenMerkleDistributor,
|
|
14
14
|
UUPSUpgradeable,
|
|
15
|
-
|
|
15
|
+
BoringOwnableUpgradeableV2,
|
|
16
16
|
TokenHelper
|
|
17
17
|
{
|
|
18
18
|
bytes32 public merkleRoot;
|
|
@@ -27,8 +27,8 @@ contract PendleMultiTokenMerkleDistributor is
|
|
|
27
27
|
|
|
28
28
|
receive() external payable {}
|
|
29
29
|
|
|
30
|
-
function initialize() external initializer {
|
|
31
|
-
|
|
30
|
+
function initialize(address _owner) external initializer {
|
|
31
|
+
__BoringOwnableV2_init(_owner);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
function claim(
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// SPDX-License-Identifier: SEE LICENSE IN LICENSE
|
|
2
|
+
pragma solidity ^0.8.0;
|
|
3
|
+
|
|
4
|
+
import "../router/base/ActionBase.sol";
|
|
5
|
+
import "../interfaces/IPActionMiscV3.sol";
|
|
6
|
+
import "../interfaces/IPReflector.sol";
|
|
7
|
+
import "../core/libraries/BoringOwnableUpgradeableV2.sol";
|
|
8
|
+
import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
|
|
9
|
+
import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
|
|
10
|
+
|
|
11
|
+
contract ExpiredLpPtRedeemer is TokenHelper, ReentrancyGuardUpgradeable, BoringOwnableUpgradeableV2, UUPSUpgradeable {
|
|
12
|
+
mapping(address => bool) public whitelistedMarkets;
|
|
13
|
+
|
|
14
|
+
constructor() {
|
|
15
|
+
_disableInitializers();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function initialize(address _owner) public initializer {
|
|
19
|
+
__BoringOwnableV2_init(_owner);
|
|
20
|
+
__ReentrancyGuard_init();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
|
|
24
|
+
|
|
25
|
+
function exitPostExpToToken(
|
|
26
|
+
address receiver,
|
|
27
|
+
address market,
|
|
28
|
+
uint256 netPtIn,
|
|
29
|
+
uint256 netLpIn,
|
|
30
|
+
address tokenRedeemSy,
|
|
31
|
+
uint256 minTokenOut
|
|
32
|
+
) external nonReentrant returns (uint256 totalTokenOut) {
|
|
33
|
+
require(whitelistedMarkets[market], "n/a");
|
|
34
|
+
|
|
35
|
+
(IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
36
|
+
|
|
37
|
+
IPMarket(market).redeemRewards(msg.sender);
|
|
38
|
+
|
|
39
|
+
uint256 totalSyRedeem = 0;
|
|
40
|
+
uint256 totalPtRedeem = 0;
|
|
41
|
+
|
|
42
|
+
if (netPtIn > 0) {
|
|
43
|
+
_transferFrom(PT, msg.sender, address(this), netLpIn);
|
|
44
|
+
totalPtRedeem += netPtIn;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (netLpIn > 0) {
|
|
48
|
+
_transferFrom(IERC20(market), msg.sender, market, netLpIn);
|
|
49
|
+
(uint256 netSyFromRemove, uint256 netPtFromRemove) = IPMarket(market).burn(
|
|
50
|
+
address(this),
|
|
51
|
+
address(this),
|
|
52
|
+
netLpIn
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
totalSyRedeem += netSyFromRemove;
|
|
56
|
+
totalPtRedeem += netPtFromRemove;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
uint256 netSyFromPt = SYUtils.assetToSy(YT.pyIndexCurrent(), totalPtRedeem);
|
|
60
|
+
totalSyRedeem += netSyFromPt;
|
|
61
|
+
|
|
62
|
+
{
|
|
63
|
+
_transferOut(address(SY), address(SY), totalSyRedeem);
|
|
64
|
+
totalTokenOut = IStandardizedYield(SY).redeem(receiver, totalSyRedeem, tokenRedeemSy, minTokenOut, true);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function setWhitelistedMarket(address[] calldata markets, bool isWhitelisted) external onlyOwner {
|
|
69
|
+
for (uint256 i = 0; i < markets.length; i++) {
|
|
70
|
+
require(IPMarket(markets[i]).isExpired(), "not expired");
|
|
71
|
+
whitelistedMarkets[markets[i]] = isWhitelisted;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function withdraw(address[] memory tokens) external onlyOwner {
|
|
76
|
+
for (uint256 i = 0; i < tokens.length; i++) {
|
|
77
|
+
_transferOut(tokens[i], msg.sender, _selfBalance(tokens[i]));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -111,6 +111,10 @@ contract PendleChainlinkOracle is IPChainlinkOracle {
|
|
|
111
111
|
return PendlePYOracleLib.getPtToSyRate;
|
|
112
112
|
} else if (baseOracleType == PendleOracleType.PT_TO_ASSET) {
|
|
113
113
|
return PendlePYOracleLib.getPtToAssetRate;
|
|
114
|
+
} else if (baseOracleType == PendleOracleType.LP_TO_SY) {
|
|
115
|
+
return PendleLpOracleLib.getLpToSyRate;
|
|
116
|
+
} else if (baseOracleType == PendleOracleType.LP_TO_ASSET) {
|
|
117
|
+
return PendleLpOracleLib.getLpToAssetRate;
|
|
114
118
|
} else {
|
|
115
119
|
revert("not supported");
|
|
116
120
|
}
|
|
@@ -129,6 +133,12 @@ contract PendleChainlinkOracle is IPChainlinkOracle {
|
|
|
129
133
|
return (assetDecimals, assetDecimals);
|
|
130
134
|
} else if (_oracleType == PendleOracleType.PT_TO_SY) {
|
|
131
135
|
return (assetDecimals, syDecimals);
|
|
136
|
+
} else if (_oracleType == PendleOracleType.LP_TO_ASSET) {
|
|
137
|
+
return (18, assetDecimals);
|
|
138
|
+
} else if (_oracleType == PendleOracleType.LP_TO_SY) {
|
|
139
|
+
return (18, syDecimals);
|
|
140
|
+
} else {
|
|
141
|
+
revert("not supported");
|
|
132
142
|
}
|
|
133
143
|
}
|
|
134
144
|
}
|
package/package.json
CHANGED
|
@@ -28,7 +28,7 @@ export interface ExpiredLpPtRedeemerInterface extends utils.Interface {
|
|
|
28
28
|
functions: {
|
|
29
29
|
"claimOwnership()": FunctionFragment;
|
|
30
30
|
"exitPostExpToToken(address,address,uint256,uint256,address,uint256)": FunctionFragment;
|
|
31
|
-
"initialize()": FunctionFragment;
|
|
31
|
+
"initialize(address)": FunctionFragment;
|
|
32
32
|
"owner()": FunctionFragment;
|
|
33
33
|
"pendingOwner()": FunctionFragment;
|
|
34
34
|
"proxiableUUID()": FunctionFragment;
|
|
@@ -48,10 +48,7 @@ export interface ExpiredLpPtRedeemerInterface extends utils.Interface {
|
|
|
48
48
|
functionFragment: "exitPostExpToToken",
|
|
49
49
|
values: [string, string, BigNumberish, BigNumberish, string, BigNumberish]
|
|
50
50
|
): string;
|
|
51
|
-
encodeFunctionData(
|
|
52
|
-
functionFragment: "initialize",
|
|
53
|
-
values?: undefined
|
|
54
|
-
): string;
|
|
51
|
+
encodeFunctionData(functionFragment: "initialize", values: [string]): string;
|
|
55
52
|
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
|
|
56
53
|
encodeFunctionData(
|
|
57
54
|
functionFragment: "pendingOwner",
|
|
@@ -202,6 +199,7 @@ export interface ExpiredLpPtRedeemer extends BaseContract {
|
|
|
202
199
|
): Promise<ContractTransaction>;
|
|
203
200
|
|
|
204
201
|
initialize(
|
|
202
|
+
_owner: string,
|
|
205
203
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
206
204
|
): Promise<ContractTransaction>;
|
|
207
205
|
|
|
@@ -261,6 +259,7 @@ export interface ExpiredLpPtRedeemer extends BaseContract {
|
|
|
261
259
|
): Promise<ContractTransaction>;
|
|
262
260
|
|
|
263
261
|
initialize(
|
|
262
|
+
_owner: string,
|
|
264
263
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
265
264
|
): Promise<ContractTransaction>;
|
|
266
265
|
|
|
@@ -314,7 +313,7 @@ export interface ExpiredLpPtRedeemer extends BaseContract {
|
|
|
314
313
|
overrides?: CallOverrides
|
|
315
314
|
): Promise<BigNumber>;
|
|
316
315
|
|
|
317
|
-
initialize(overrides?: CallOverrides): Promise<void>;
|
|
316
|
+
initialize(_owner: string, overrides?: CallOverrides): Promise<void>;
|
|
318
317
|
|
|
319
318
|
owner(overrides?: CallOverrides): Promise<string>;
|
|
320
319
|
|
|
@@ -401,6 +400,7 @@ export interface ExpiredLpPtRedeemer extends BaseContract {
|
|
|
401
400
|
): Promise<BigNumber>;
|
|
402
401
|
|
|
403
402
|
initialize(
|
|
403
|
+
_owner: string,
|
|
404
404
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
405
405
|
): Promise<BigNumber>;
|
|
406
406
|
|
|
@@ -461,6 +461,7 @@ export interface ExpiredLpPtRedeemer extends BaseContract {
|
|
|
461
461
|
): Promise<PopulatedTransaction>;
|
|
462
462
|
|
|
463
463
|
initialize(
|
|
464
|
+
_owner: string,
|
|
464
465
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
465
466
|
): Promise<PopulatedTransaction>;
|
|
466
467
|
|
|
@@ -31,7 +31,7 @@ export interface PendleMultiTokenMerkleDistributorInterface
|
|
|
31
31
|
"claimOwnership()": FunctionFragment;
|
|
32
32
|
"claimVerified(address,address[])": FunctionFragment;
|
|
33
33
|
"claimed(address,address)": FunctionFragment;
|
|
34
|
-
"initialize()": FunctionFragment;
|
|
34
|
+
"initialize(address)": FunctionFragment;
|
|
35
35
|
"merkleRoot()": FunctionFragment;
|
|
36
36
|
"owner()": FunctionFragment;
|
|
37
37
|
"pendingOwner()": FunctionFragment;
|
|
@@ -60,10 +60,7 @@ export interface PendleMultiTokenMerkleDistributorInterface
|
|
|
60
60
|
functionFragment: "claimed",
|
|
61
61
|
values: [string, string]
|
|
62
62
|
): string;
|
|
63
|
-
encodeFunctionData(
|
|
64
|
-
functionFragment: "initialize",
|
|
65
|
-
values?: undefined
|
|
66
|
-
): string;
|
|
63
|
+
encodeFunctionData(functionFragment: "initialize", values: [string]): string;
|
|
67
64
|
encodeFunctionData(
|
|
68
65
|
functionFragment: "merkleRoot",
|
|
69
66
|
values?: undefined
|
|
@@ -265,6 +262,7 @@ export interface PendleMultiTokenMerkleDistributor extends BaseContract {
|
|
|
265
262
|
): Promise<[BigNumber]>;
|
|
266
263
|
|
|
267
264
|
initialize(
|
|
265
|
+
_owner: string,
|
|
268
266
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
269
267
|
): Promise<ContractTransaction>;
|
|
270
268
|
|
|
@@ -339,6 +337,7 @@ export interface PendleMultiTokenMerkleDistributor extends BaseContract {
|
|
|
339
337
|
): Promise<BigNumber>;
|
|
340
338
|
|
|
341
339
|
initialize(
|
|
340
|
+
_owner: string,
|
|
342
341
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
343
342
|
): Promise<ContractTransaction>;
|
|
344
343
|
|
|
@@ -410,7 +409,7 @@ export interface PendleMultiTokenMerkleDistributor extends BaseContract {
|
|
|
410
409
|
overrides?: CallOverrides
|
|
411
410
|
): Promise<BigNumber>;
|
|
412
411
|
|
|
413
|
-
initialize(overrides?: CallOverrides): Promise<void>;
|
|
412
|
+
initialize(_owner: string, overrides?: CallOverrides): Promise<void>;
|
|
414
413
|
|
|
415
414
|
merkleRoot(overrides?: CallOverrides): Promise<string>;
|
|
416
415
|
|
|
@@ -551,6 +550,7 @@ export interface PendleMultiTokenMerkleDistributor extends BaseContract {
|
|
|
551
550
|
): Promise<BigNumber>;
|
|
552
551
|
|
|
553
552
|
initialize(
|
|
553
|
+
_owner: string,
|
|
554
554
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
555
555
|
): Promise<BigNumber>;
|
|
556
556
|
|
|
@@ -626,6 +626,7 @@ export interface PendleMultiTokenMerkleDistributor extends BaseContract {
|
|
|
626
626
|
): Promise<PopulatedTransaction>;
|
|
627
627
|
|
|
628
628
|
initialize(
|
|
629
|
+
_owner: string,
|
|
629
630
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
630
631
|
): Promise<PopulatedTransaction>;
|
|
631
632
|
|
|
@@ -143,7 +143,13 @@ const _abi = [
|
|
|
143
143
|
type: "function",
|
|
144
144
|
},
|
|
145
145
|
{
|
|
146
|
-
inputs: [
|
|
146
|
+
inputs: [
|
|
147
|
+
{
|
|
148
|
+
internalType: "address",
|
|
149
|
+
name: "_owner",
|
|
150
|
+
type: "address",
|
|
151
|
+
},
|
|
152
|
+
],
|
|
147
153
|
name: "initialize",
|
|
148
154
|
outputs: [],
|
|
149
155
|
stateMutability: "nonpayable",
|
|
@@ -295,7 +301,7 @@ const _abi = [
|
|
|
295
301
|
];
|
|
296
302
|
|
|
297
303
|
const _bytecode =
|
|
298
|
-
"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100ee565b600154600160a81b900460ff16156100905760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100ec576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611c256101256000396000818161033f0152818161037f015281816104b2015281816104f2015261056e0152611c256000f3fe6080604052600436106100975760003560e01c8063078dfbe71461009c5780633659cfe6146100be5780634e71e0c8146100de5780634f1ef286146100f357806352d1902d146101065780638129fc1c1461012e5780638da5cb5b146101435780639ea517a414610170578063bd5dec9814610190578063c5759ddd146101b0578063e30c3978146101d0578063e68b4951146101f0575b600080fd5b3480156100a857600080fd5b506100bc6100b736600461153d565b610230565b005b3480156100ca57600080fd5b506100bc6100d9366004611588565b610335565b3480156100ea57600080fd5b506100bc6103fd565b6100bc6101013660046115f2565b6104a8565b34801561011257600080fd5b5061011b610561565b6040519081526020015b60405180910390f35b34801561013a57600080fd5b506100bc61060f565b34801561014f57600080fd5b50600054610163906001600160a01b031681565b6040516101259190611699565b34801561017c57600080fd5b5061011b61018b3660046116ad565b610745565b34801561019c57600080fd5b506100bc6101ab366004611737565b610a74565b3480156101bc57600080fd5b506100bc6101cb3660046117ca565b610af7565b3480156101dc57600080fd5b50600154610163906001600160a01b031681565b3480156101fc57600080fd5b5061022061020b366004611588565b60646020526000908152604090205460ff1681565b6040519015158152602001610125565b6000546001600160a01b031633146102635760405162461bcd60e51b815260040161025a90611844565b60405180910390fd5b8115610314576001600160a01b03831615158061027d5750805b6102c15760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015260640161025a565b600080546040516001600160a01b0380871693921691600080516020611ba983398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361037d5760405162461bcd60e51b815260040161025a90611879565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103af610c50565b6001600160a01b0316146103d55760405162461bcd60e51b815260040161025a906118b3565b6103de81610c6c565b604080516000808252602082019092526103fa91839190610c96565b50565b6001546001600160a01b03163381146104585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015260640161025a565b600080546040516001600160a01b0380851693921691600080516020611ba983398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104f05760405162461bcd60e51b815260040161025a90611879565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610522610c50565b6001600160a01b0316146105485760405162461bcd60e51b815260040161025a906118b3565b61055182610c6c565b61055d82826001610c96565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105fc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161025a565b50600080516020611b8983398151915290565b600154600160a81b900460ff1615808015610635575060018054600160a01b900460ff16105b8061065c575061064430610e01565b15801561065c575060018054600160a01b900460ff16145b6106bf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161025a565b6001805460ff60a01b1916600160a01b17905580156106ec576001805460ff60a81b1916600160a81b1790555b6106f4610e10565b6106fc610e4d565b80156103fa576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b600061074f610e80565b6001600160a01b03861660009081526064602052604090205460ff1661079d5760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b604482015260640161025a565b6000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080491906118ed565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016108369190611699565b6000604051808303816000875af1158015610855573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087d919081019061192f565b5060008089156108a0576108938433308c610ed7565b61089d8a826119ca565b90505b8815610947576108b28b338d8c610ed7565b6000808c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016108e5939291906119dd565b60408051808303816000875af1158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611a01565b909250905061093682856119ca565b935061094281846119ca565b925050505b60006109b6846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af115801561098c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b09190611a25565b83610ef2565b90506109c281846119ca565b92506109cf868785610f1a565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303816000875af1158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a589190611a25565b9650505050505050610a6a6001600255565b9695505050505050565b6000546001600160a01b03163314610a9e5760405162461bcd60e51b815260040161025a90611844565b60005b815181101561055d57610aef828281518110610abf57610abf611a3e565b602002602001015133610aea858581518110610add57610add611a3e565b6020026020010151610fe5565b610f1a565b600101610aa1565b6000546001600160a01b03163314610b215760405162461bcd60e51b815260040161025a90611844565b60005b82811015610c4a57838382818110610b3e57610b3e611a3e565b9050602002016020810190610b539190611588565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190611a54565b610bee5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b604482015260640161025a565b8160646000868685818110610c0557610c05611a3e565b9050602002016020810190610c1a9190611588565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610b24565b50505050565b600080516020611b89833981519152546001600160a01b031690565b6000546001600160a01b031633146103fa5760405162461bcd60e51b815260040161025a90611844565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610cc9576103308361106f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d23575060408051601f3d908101601f19168201909252610d2091810190611a25565b60015b610d865760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161025a565b600080516020611b898339815191528114610df55760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161025a565b50610330838383611109565b6001600160a01b03163b151590565b600154600160a81b900460ff16610e395760405162461bcd60e51b815260040161025a90611a71565b600080546001600160a01b03191633179055565b600154600160a81b900460ff16610e765760405162461bcd60e51b815260040161025a90611a71565b610e7e61112e565b565b6002805403610ed15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161025a565b60028055565b8015610c4a57610c4a6001600160a01b038516848484611157565b600082610f07670de0b6b3a764000084611abc565b610f119190611ad3565b90505b92915050565b80600003610f2757505050565b6001600160a01b038316610fca576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f82576040519150601f19603f3d011682016040523d82523d6000602084013e610f87565b606091505b5050905080610c4a5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161025a565b6103306001600160a01b03841683836111af565b6001600255565b60006001600160a01b03821615611068576040516370a0823160e01b81526001600160a01b038316906370a0823190611022903090600401611699565b602060405180830381865afa15801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110639190611a25565b610f14565b4792915050565b61107881610e01565b6110da5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161025a565b600080516020611b8983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611112836111df565b60008251118061111f5750805b1561033057610c4a838361121f565b600154600160a81b900460ff16610fde5760405162461bcd60e51b815260040161025a90611a71565b610c4a846323b872dd60e01b858585604051602401611178939291906119dd565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611244565b6040516001600160a01b03831660248201526044810182905261033090849063a9059cbb60e01b90606401611178565b6111e88161106f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610f118383604051806060016040528060278152602001611bc960279139611319565b6000611299826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113879092919063ffffffff16565b90508051600014806112ba5750808060200190518101906112ba9190611a54565b6103305760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161025a565b6060600080856001600160a01b0316856040516113369190611b19565b600060405180830381855af49150503d8060008114611371576040519150601f19603f3d011682016040523d82523d6000602084013e611376565b606091505b5091509150610a6a8683838761139e565b60606113968484600085611415565b949350505050565b6060831561140b578251600003611404576113b885610e01565b6114045760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161025a565b5081611396565b61139683836114f0565b6060824710156114765760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161025a565b600080866001600160a01b031685876040516114929190611b19565b60006040518083038185875af1925050503d80600081146114cf576040519150601f19603f3d011682016040523d82523d6000602084013e6114d4565b606091505b50915091506114e58783838761139e565b979650505050505050565b8151156115005781518083602001fd5b8060405162461bcd60e51b815260040161025a9190611b35565b6001600160a01b03811681146103fa57600080fd5b80151581146103fa57600080fd5b60008060006060848603121561155257600080fd5b833561155d8161151a565b9250602084013561156d8161152f565b9150604084013561157d8161152f565b809150509250925092565b60006020828403121561159a57600080fd5b81356115a58161151a565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156115ea576115ea6115ac565b604052919050565b6000806040838503121561160557600080fd5b82356116108161151a565b91506020838101356001600160401b038082111561162d57600080fd5b818601915086601f83011261164157600080fd5b813581811115611653576116536115ac565b611665601f8201601f191685016115c2565b9150808252878482850101111561167b57600080fd5b80848401858401376000848284010152508093505050509250929050565b6001600160a01b0391909116815260200190565b60008060008060008060c087890312156116c657600080fd5b86356116d18161151a565b955060208701356116e18161151a565b9450604087013593506060870135925060808701356116ff8161151a565b8092505060a087013590509295509295509295565b60006001600160401b0382111561172d5761172d6115ac565b5060051b60200190565b6000602080838503121561174a57600080fd5b82356001600160401b0381111561176057600080fd5b8301601f8101851361177157600080fd5b803561178461177f82611714565b6115c2565b81815260059190911b820183019083810190878311156117a357600080fd5b928401925b828410156114e55783356117bb8161151a565b825292840192908401906117a8565b6000806000604084860312156117df57600080fd5b83356001600160401b03808211156117f657600080fd5b818601915086601f83011261180a57600080fd5b81358181111561181957600080fd5b8760208260051b850101111561182e57600080fd5b6020928301955093505084013561157d8161152f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c90820152600080516020611b6983398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020611b6983398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60008060006060848603121561190257600080fd5b835161190d8161151a565b602085015190935061191e8161151a565b604085015190925061157d8161151a565b6000602080838503121561194257600080fd5b82516001600160401b0381111561195857600080fd5b8301601f8101851361196957600080fd5b805161197761177f82611714565b81815260059190911b8201830190838101908783111561199657600080fd5b928401925b828410156114e55783518252928401929084019061199b565b634e487b7160e01b600052601160045260246000fd5b80820180821115610f1457610f146119b4565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60008060408385031215611a1457600080fd5b505080516020909101519092909150565b600060208284031215611a3757600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a6657600080fd5b81516115a58161152f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8082028115828204841417610f1457610f146119b4565b600082611af057634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015611b10578181015183820152602001611af8565b50506000910152565b60008251611b2b818460208701611af5565b9190910192915050565b6020815260008251806020840152611b54816040850160208701611af5565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f401e7fe426ff72fea5b5fafee35b59ef45bf12326c0e09ab7adab859e8af89564736f6c63430008170033";
|
|
304
|
+
"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100ee565b600154600160a81b900460ff16156100905760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100ec576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611c406101256000396000818161034a0152818161038a015281816104bd015281816104fd01526105790152611c406000f3fe6080604052600436106100975760003560e01c8063078dfbe71461009c5780633659cfe6146100be5780634e71e0c8146100de5780634f1ef286146100f357806352d1902d146101065780638da5cb5b1461012e5780639ea517a41461015b578063bd5dec981461017b578063c4d66de81461019b578063c5759ddd146101bb578063e30c3978146101db578063e68b4951146101fb575b600080fd5b3480156100a857600080fd5b506100bc6100b7366004611558565b61023b565b005b3480156100ca57600080fd5b506100bc6100d93660046115a3565b610340565b3480156100ea57600080fd5b506100bc610408565b6100bc61010136600461160d565b6104b3565b34801561011257600080fd5b5061011b61056c565b6040519081526020015b60405180910390f35b34801561013a57600080fd5b5060005461014e906001600160a01b031681565b60405161012591906116b4565b34801561016757600080fd5b5061011b6101763660046116c8565b61061a565b34801561018757600080fd5b506100bc610196366004611752565b610949565b3480156101a757600080fd5b506100bc6101b63660046115a3565b6109cc565b3480156101c757600080fd5b506100bc6101d63660046117e5565b610b04565b3480156101e757600080fd5b5060015461014e906001600160a01b031681565b34801561020757600080fd5b5061022b6102163660046115a3565b60646020526000908152604090205460ff1681565b6040519015158152602001610125565b6000546001600160a01b0316331461026e5760405162461bcd60e51b81526004016102659061185f565b60405180910390fd5b811561031f576001600160a01b0383161515806102885750805b6102cc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610265565b600080546040516001600160a01b0380871693921691600080516020611bc483398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103885760405162461bcd60e51b815260040161026590611894565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ba610c5d565b6001600160a01b0316146103e05760405162461bcd60e51b8152600401610265906118ce565b6103e981610c79565b6040805160008082526020820190925261040591839190610ca3565b50565b6001546001600160a01b03163381146104635760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610265565b600080546040516001600160a01b0380851693921691600080516020611bc483398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104fb5760405162461bcd60e51b815260040161026590611894565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661052d610c5d565b6001600160a01b0316146105535760405162461bcd60e51b8152600401610265906118ce565b61055c82610c79565b61056882826001610ca3565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106075760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610265565b50600080516020611ba483398151915290565b6000610624610e0e565b6001600160a01b03861660009081526064602052604090205460ff166106725760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b6044820152606401610265565b6000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d99190611908565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b815260040161070b91906116b4565b6000604051808303816000875af115801561072a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610752919081019061194a565b506000808915610775576107688433308c610e65565b6107728a826119e5565b90505b881561081c576107878b338d8c610e65565b6000808c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016107ba939291906119f8565b60408051808303816000875af11580156107d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fc9190611a1c565b909250905061080b82856119e5565b935061081781846119e5565b925050505b600061088b846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108859190611a40565b83610e80565b905061089781846119e5565b92506108a4868785610ea8565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303816000875af1158015610909573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092d9190611a40565b965050505050505061093f6001600255565b9695505050505050565b6000546001600160a01b031633146109735760405162461bcd60e51b81526004016102659061185f565b60005b8151811015610568576109c482828151811061099457610994611a59565b6020026020010151336109bf8585815181106109b2576109b2611a59565b6020026020010151610f73565b610ea8565b600101610976565b600154600160a81b900460ff16158080156109f2575060018054600160a01b900460ff16105b80610a195750610a0130610ffd565b158015610a19575060018054600160a01b900460ff16145b610a7c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610265565b6001805460ff60a01b1916600160a01b1790558015610aa9576001805460ff60a81b1916600160a81b1790555b610ab28261100c565b610aba611057565b8015610568576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000546001600160a01b03163314610b2e5760405162461bcd60e51b81526004016102659061185f565b60005b82811015610c5757838382818110610b4b57610b4b611a59565b9050602002016020810190610b6091906115a3565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc19190611a6f565b610bfb5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606401610265565b8160646000868685818110610c1257610c12611a59565b9050602002016020810190610c2791906115a3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610b31565b50505050565b600080516020611ba4833981519152546001600160a01b031690565b6000546001600160a01b031633146104055760405162461bcd60e51b81526004016102659061185f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610cd65761033b8361108a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d30575060408051601f3d908101601f19168201909252610d2d91810190611a40565b60015b610d935760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610265565b600080516020611ba48339815191528114610e025760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610265565b5061033b838383611124565b6002805403610e5f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610265565b60028055565b8015610c5757610c576001600160a01b038516848484611149565b600082610e95670de0b6b3a764000084611a8c565b610e9f9190611aa3565b90505b92915050565b80600003610eb557505050565b6001600160a01b038316610f58576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f10576040519150601f19603f3d011682016040523d82523d6000602084013e610f15565b606091505b5050905080610c575760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610265565b61033b6001600160a01b03841683836111a1565b6001600255565b60006001600160a01b03821615610ff6576040516370a0823160e01b81526001600160a01b038316906370a0823190610fb09030906004016116b4565b602060405180830381865afa158015610fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff19190611a40565b610ea2565b4792915050565b6001600160a01b03163b151590565b600154600160a81b900460ff166110355760405162461bcd60e51b815260040161026590611ac5565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff166110805760405162461bcd60e51b815260040161026590611ac5565b6110886111d1565b565b61109381610ffd565b6110f55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610265565b600080516020611ba483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61112d836111fa565b60008251118061113a5750805b1561033b57610c57838361123a565b610c57846323b872dd60e01b85858560405160240161116a939291906119f8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261125f565b6040516001600160a01b03831660248201526044810182905261033b90849063a9059cbb60e01b9060640161116a565b600154600160a81b900460ff16610f6c5760405162461bcd60e51b815260040161026590611ac5565b6112038161108a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610e9f8383604051806060016040528060278152602001611be460279139611334565b60006112b4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113a29092919063ffffffff16565b90508051600014806112d55750808060200190518101906112d59190611a6f565b61033b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610265565b6060600080856001600160a01b0316856040516113519190611b34565b600060405180830381855af49150503d806000811461138c576040519150601f19603f3d011682016040523d82523d6000602084013e611391565b606091505b509150915061093f868383876113b9565b60606113b18484600085611430565b949350505050565b6060831561142657825160000361141f576113d385610ffd565b61141f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610265565b50816113b1565b6113b1838361150b565b6060824710156114915760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610265565b600080866001600160a01b031685876040516114ad9190611b34565b60006040518083038185875af1925050503d80600081146114ea576040519150601f19603f3d011682016040523d82523d6000602084013e6114ef565b606091505b5091509150611500878383876113b9565b979650505050505050565b81511561151b5781518083602001fd5b8060405162461bcd60e51b81526004016102659190611b50565b6001600160a01b038116811461040557600080fd5b801515811461040557600080fd5b60008060006060848603121561156d57600080fd5b833561157881611535565b925060208401356115888161154a565b915060408401356115988161154a565b809150509250925092565b6000602082840312156115b557600080fd5b81356115c081611535565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611605576116056115c7565b604052919050565b6000806040838503121561162057600080fd5b823561162b81611535565b91506020838101356001600160401b038082111561164857600080fd5b818601915086601f83011261165c57600080fd5b81358181111561166e5761166e6115c7565b611680601f8201601f191685016115dd565b9150808252878482850101111561169657600080fd5b80848401858401376000848284010152508093505050509250929050565b6001600160a01b0391909116815260200190565b60008060008060008060c087890312156116e157600080fd5b86356116ec81611535565b955060208701356116fc81611535565b94506040870135935060608701359250608087013561171a81611535565b8092505060a087013590509295509295509295565b60006001600160401b03821115611748576117486115c7565b5060051b60200190565b6000602080838503121561176557600080fd5b82356001600160401b0381111561177b57600080fd5b8301601f8101851361178c57600080fd5b803561179f61179a8261172f565b6115dd565b81815260059190911b820183019083810190878311156117be57600080fd5b928401925b828410156115005783356117d681611535565b825292840192908401906117c3565b6000806000604084860312156117fa57600080fd5b83356001600160401b038082111561181157600080fd5b818601915086601f83011261182557600080fd5b81358181111561183457600080fd5b8760208260051b850101111561184957600080fd5b602092830195509350508401356115988161154a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c90820152600080516020611b8483398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020611b8483398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60008060006060848603121561191d57600080fd5b835161192881611535565b602085015190935061193981611535565b604085015190925061159881611535565b6000602080838503121561195d57600080fd5b82516001600160401b0381111561197357600080fd5b8301601f8101851361198457600080fd5b805161199261179a8261172f565b81815260059190911b820183019083810190878311156119b157600080fd5b928401925b82841015611500578351825292840192908401906119b6565b634e487b7160e01b600052601160045260246000fd5b80820180821115610ea257610ea26119cf565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60008060408385031215611a2f57600080fd5b505080516020909101519092909150565b600060208284031215611a5257600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a8157600080fd5b81516115c08161154a565b8082028115828204841417610ea257610ea26119cf565b600082611ac057634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611b2b578181015183820152602001611b13565b50506000910152565b60008251611b46818460208701611b10565b9190910192915050565b6020815260008251806020840152611b6f816040850160208701611b10565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122002b4aade82c8dd63f094bb1edc8997f265b1da18bed333233208813244eb76c664736f6c63430008170033";
|
|
299
305
|
|
|
300
306
|
type ExpiredLpPtRedeemerConstructorParams =
|
|
301
307
|
| [signer?: Signer]
|