@pendle/core-v2 5.2.0-beta-2 → 5.2.0-beta-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.json +14 -8
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendleLpOracleLib.sol → PtYtLpOracle/PendleLpOracleLib.sol}/PendleLpOracleLib.json +3 -3
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendlePYLpOracle.sol → PtYtLpOracle/PendlePYLpOracle.sol}/PendlePYLpOracle.json +3 -3
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendlePYOracleLib.sol → PtYtLpOracle/PendlePYOracleLib.sol}/PendlePYOracleLib.json +3 -3
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +274 -0
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{factory → PtYtLpOracle/chainlink}/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +316 -0
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +341 -0
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +3 -3
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringLpSeller.sol/BoringLpSeller.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +3 -3
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +3 -3
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringPtSeller.sol/BoringPtSeller.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendleBoringOneracle.sol → internal/PendleBoringOneracle.sol}/PendleBoringOneracle.json +3 -3
- package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendleBoringSolvBTCOneracle.sol → internal/PendleBoringSolvBTCOneracle.sol}/PendleBoringSolvBTCOneracle.json +3 -3
- package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendleRedStoneRateOracleAdapter.sol → internal/PendleRedStoneRateOracleAdapter.sol}/PendleRedStoneRateOracleAdapter.json +3 -3
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendleSparkLinearDiscountOracle.sol → internal/PendleSparkLinearDiscountOracle.sol}/PTExpiry.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendleSparkLinearDiscountOracle.sol → internal/PendleSparkLinearDiscountOracle.sol}/PendleSparkLinearDiscountOracle.json +3 -3
- package/contracts/interfaces/IPChainlinkOracleFactory.sol +8 -7
- package/contracts/oracles/{PendlePYLpOracle.sol → PtYtLpOracle/PendlePYLpOracle.sol} +2 -2
- package/contracts/oracles/{PendlePYOracleLib.sol → PtYtLpOracle/PendlePYOracleLib.sol} +2 -2
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +40 -0
- package/contracts/oracles/{factory → PtYtLpOracle/chainlink}/PendleChainlinkOracleBase.sol +7 -16
- package/contracts/oracles/{factory → PtYtLpOracle/chainlink}/PendleChainlinkOracleFactory.sol +21 -10
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol +80 -0
- package/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringLpGlpOracle.sol +3 -3
- package/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringLpSeller.sol +1 -1
- package/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringPYUsdChainlinkAssetOracle.sol +3 -3
- package/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringPYUsdChainlinkSYOracle.sol +3 -3
- package/contracts/oracles/{samples → PtYtLpOracle/samples}/BoringPtSeller.sol +1 -1
- package/contracts/oracles/{PendleBoringOneracle.sol → internal/PendleBoringOneracle.sol} +2 -2
- package/contracts/oracles/{PendleBoringSolvBTCOneracle.sol → internal/PendleBoringSolvBTCOneracle.sol} +2 -2
- package/contracts/oracles/{PendleRedStoneRateOracleAdapter.sol → internal/PendleRedStoneRateOracleAdapter.sol} +3 -3
- package/package.json +1 -1
- package/typechain-types/IPChainlinkOracleFactory.ts +22 -19
- package/typechain-types/PendleChainlinkOracleFactory.ts +45 -32
- package/typechain-types/PendleChainlinkOracleWithQuote.ts +57 -16
- package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
- package/typechain-types/factories/IPChainlinkOracleFactory__factory.ts +14 -8
- package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
- package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +27 -11
- package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +48 -8
- package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
- package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
- package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +40 -40
- package/typechain-types/index.ts +10 -10
- package/build/artifacts/contracts/oracles/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +0 -274
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +0 -300
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +0 -305
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +0 -4
- package/contracts/oracles/factory/PendleChainlinkOracle.sol +0 -21
- package/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol +0 -46
- /package/contracts/oracles/{PendleLpOracleLib.sol → PtYtLpOracle/PendleLpOracleLib.sol} +0 -0
- /package/contracts/oracles/{PendleSparkLinearDiscountOracle.sol → internal/PendleSparkLinearDiscountOracle.sol} +0 -0
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "PendleChainlinkOracleWithQuote",
|
|
4
|
-
"sourceName": "contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol",
|
|
5
|
-
"abi": [
|
|
6
|
-
{
|
|
7
|
-
"inputs": [
|
|
8
|
-
{
|
|
9
|
-
"internalType": "address",
|
|
10
|
-
"name": "_market",
|
|
11
|
-
"type": "address"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"internalType": "uint32",
|
|
15
|
-
"name": "_twapDuration",
|
|
16
|
-
"type": "uint32"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"internalType": "enum PendleOracleType",
|
|
20
|
-
"name": "_baseOracleType",
|
|
21
|
-
"type": "uint8"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"internalType": "address",
|
|
25
|
-
"name": "_quoteOracle",
|
|
26
|
-
"type": "address"
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"stateMutability": "nonpayable",
|
|
30
|
-
"type": "constructor"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"inputs": [],
|
|
34
|
-
"name": "InvalidRoundId",
|
|
35
|
-
"type": "error"
|
|
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
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"inputs": [],
|
|
87
|
-
"name": "baseOracleType",
|
|
88
|
-
"outputs": [
|
|
89
|
-
{
|
|
90
|
-
"internalType": "enum PendleOracleType",
|
|
91
|
-
"name": "",
|
|
92
|
-
"type": "uint8"
|
|
93
|
-
}
|
|
94
|
-
],
|
|
95
|
-
"stateMutability": "view",
|
|
96
|
-
"type": "function"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"inputs": [],
|
|
100
|
-
"name": "decimals",
|
|
101
|
-
"outputs": [
|
|
102
|
-
{
|
|
103
|
-
"internalType": "uint8",
|
|
104
|
-
"name": "",
|
|
105
|
-
"type": "uint8"
|
|
106
|
-
}
|
|
107
|
-
],
|
|
108
|
-
"stateMutability": "pure",
|
|
109
|
-
"type": "function"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"inputs": [],
|
|
113
|
-
"name": "description",
|
|
114
|
-
"outputs": [
|
|
115
|
-
{
|
|
116
|
-
"internalType": "string",
|
|
117
|
-
"name": "",
|
|
118
|
-
"type": "string"
|
|
119
|
-
}
|
|
120
|
-
],
|
|
121
|
-
"stateMutability": "pure",
|
|
122
|
-
"type": "function"
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
"inputs": [],
|
|
126
|
-
"name": "factory",
|
|
127
|
-
"outputs": [
|
|
128
|
-
{
|
|
129
|
-
"internalType": "address",
|
|
130
|
-
"name": "",
|
|
131
|
-
"type": "address"
|
|
132
|
-
}
|
|
133
|
-
],
|
|
134
|
-
"stateMutability": "view",
|
|
135
|
-
"type": "function"
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"inputs": [],
|
|
139
|
-
"name": "fromTokenDecimals",
|
|
140
|
-
"outputs": [
|
|
141
|
-
{
|
|
142
|
-
"internalType": "uint8",
|
|
143
|
-
"name": "",
|
|
144
|
-
"type": "uint8"
|
|
145
|
-
}
|
|
146
|
-
],
|
|
147
|
-
"stateMutability": "view",
|
|
148
|
-
"type": "function"
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
"inputs": [
|
|
152
|
-
{
|
|
153
|
-
"internalType": "uint80",
|
|
154
|
-
"name": "roundId",
|
|
155
|
-
"type": "uint80"
|
|
156
|
-
}
|
|
157
|
-
],
|
|
158
|
-
"name": "getRoundData",
|
|
159
|
-
"outputs": [
|
|
160
|
-
{
|
|
161
|
-
"internalType": "uint80",
|
|
162
|
-
"name": "",
|
|
163
|
-
"type": "uint80"
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"internalType": "int256",
|
|
167
|
-
"name": "",
|
|
168
|
-
"type": "int256"
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
"internalType": "uint256",
|
|
172
|
-
"name": "",
|
|
173
|
-
"type": "uint256"
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
"internalType": "uint256",
|
|
177
|
-
"name": "",
|
|
178
|
-
"type": "uint256"
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
"internalType": "uint80",
|
|
182
|
-
"name": "",
|
|
183
|
-
"type": "uint80"
|
|
184
|
-
}
|
|
185
|
-
],
|
|
186
|
-
"stateMutability": "view",
|
|
187
|
-
"type": "function"
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
"inputs": [],
|
|
191
|
-
"name": "latestRoundData",
|
|
192
|
-
"outputs": [
|
|
193
|
-
{
|
|
194
|
-
"internalType": "uint80",
|
|
195
|
-
"name": "roundId",
|
|
196
|
-
"type": "uint80"
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
"internalType": "int256",
|
|
200
|
-
"name": "answer",
|
|
201
|
-
"type": "int256"
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"internalType": "uint256",
|
|
205
|
-
"name": "startedAt",
|
|
206
|
-
"type": "uint256"
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
"internalType": "uint256",
|
|
210
|
-
"name": "updatedAt",
|
|
211
|
-
"type": "uint256"
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
"internalType": "uint80",
|
|
215
|
-
"name": "answeredInRound",
|
|
216
|
-
"type": "uint80"
|
|
217
|
-
}
|
|
218
|
-
],
|
|
219
|
-
"stateMutability": "view",
|
|
220
|
-
"type": "function"
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"inputs": [],
|
|
224
|
-
"name": "market",
|
|
225
|
-
"outputs": [
|
|
226
|
-
{
|
|
227
|
-
"internalType": "address",
|
|
228
|
-
"name": "",
|
|
229
|
-
"type": "address"
|
|
230
|
-
}
|
|
231
|
-
],
|
|
232
|
-
"stateMutability": "view",
|
|
233
|
-
"type": "function"
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
"inputs": [],
|
|
237
|
-
"name": "quoteOracle",
|
|
238
|
-
"outputs": [
|
|
239
|
-
{
|
|
240
|
-
"internalType": "address",
|
|
241
|
-
"name": "",
|
|
242
|
-
"type": "address"
|
|
243
|
-
}
|
|
244
|
-
],
|
|
245
|
-
"stateMutability": "view",
|
|
246
|
-
"type": "function"
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
"inputs": [],
|
|
250
|
-
"name": "quoteScale",
|
|
251
|
-
"outputs": [
|
|
252
|
-
{
|
|
253
|
-
"internalType": "int256",
|
|
254
|
-
"name": "",
|
|
255
|
-
"type": "int256"
|
|
256
|
-
}
|
|
257
|
-
],
|
|
258
|
-
"stateMutability": "view",
|
|
259
|
-
"type": "function"
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
"inputs": [],
|
|
263
|
-
"name": "toTokenDecimals",
|
|
264
|
-
"outputs": [
|
|
265
|
-
{
|
|
266
|
-
"internalType": "uint8",
|
|
267
|
-
"name": "",
|
|
268
|
-
"type": "uint8"
|
|
269
|
-
}
|
|
270
|
-
],
|
|
271
|
-
"stateMutability": "view",
|
|
272
|
-
"type": "function"
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
"inputs": [],
|
|
276
|
-
"name": "twapDuration",
|
|
277
|
-
"outputs": [
|
|
278
|
-
{
|
|
279
|
-
"internalType": "uint32",
|
|
280
|
-
"name": "",
|
|
281
|
-
"type": "uint32"
|
|
282
|
-
}
|
|
283
|
-
],
|
|
284
|
-
"stateMutability": "view",
|
|
285
|
-
"type": "function"
|
|
286
|
-
},
|
|
287
|
-
{
|
|
288
|
-
"inputs": [],
|
|
289
|
-
"name": "version",
|
|
290
|
-
"outputs": [
|
|
291
|
-
{
|
|
292
|
-
"internalType": "uint256",
|
|
293
|
-
"name": "",
|
|
294
|
-
"type": "uint256"
|
|
295
|
-
}
|
|
296
|
-
],
|
|
297
|
-
"stateMutability": "pure",
|
|
298
|
-
"type": "function"
|
|
299
|
-
}
|
|
300
|
-
],
|
|
301
|
-
"bytecode": "0x6101a06040523480156200001257600080fd5b506040516200432538038062004325833981016040819052620000359162001b4b565b336080526001600160a01b03841660a05263ffffffff831660c05283838380600581111562000068576200006862001bbe565b61012081600581111562000080576200008062001bbe565b9052506200008f83826200014f565b60ff908116610100521660e052620000a662000392565b6001600160401b0316610140525050506001600160a01b0381166101608190526040805163313ce56760e01b8152905162000140929163313ce5679160048083019260209291908290030181865afa15801562000107573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012d919062001be6565b6200013a90600a62001d17565b620004fb565b6101805250620021ed92505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000193573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b9919062001d28565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000224919062001be6565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028d919062001d7c565b9250600591506200029b9050565b866005811115620002b057620002b062001bbe565b03620002c5576012945092506200038b915050565b6004866005811115620002dc57620002dc62001bbe565b03620002f157506012935091506200038b9050565b600186600581111562000308576200030862001bbe565b1480620003295750600386600581111562000327576200032762001bbe565b145b156200033d5793508392506200038b915050565b600086600581111562000354576200035462001bbe565b1480620003755750600286600581111562000373576200037362001bbe565b145b156200038757935091506200038b9050565b5050505b9250929050565b620019d262001b1960201b176000610120516005811115620003b857620003b862001bbe565b03620003ce5750620004036200051660201b1790565b6001610120516005811115620003e857620003e862001bbe565b03620003fe5750620004506200056d60201b1790565b600261012051600581111562000418576200041862001bbe565b036200042e575062000493620005ba60201b1790565b600361012051600581111562000448576200044862001bbe565b036200045e5750620004c8620005f760201b1790565b600461012051600581111562000478576200047862001bbe565b036200048e5750620004f76200062c60201b1790565b6005610120516005811115620004a857620004a862001bbe565b03620004be5750620005466200068560201b1790565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b60006001600160ff1b038211156200051257600080fd5b5090565b600080806200052585620006df565b915091508082106200055357620005498262000542878762000923565b9062000a08565b9250505062000567565b620005498162000542878762000923565b50505b92915050565b600080806200057c85620006df565b91509150808210620005945762000549858562000923565b8082620005a2878762000923565b620005ae919062001dce565b62000549919062001dfe565b60008080620005c985620006df565b91509150808210620005e657620005498262000542878762000a3c565b620005498162000542878762000a3c565b600080806200060685620006df565b915091508082106200061e5762000549858562000a3c565b8082620005a2878762000a3c565b60008080620006446001600160a01b038616620006df565b909250905060006200065886868462000a65565b905081831062000679576200066e818462000a08565b935050505062000567565b6200066e818362000a08565b600080806200069d6001600160a01b038616620006df565b90925090506000620006b186868462000a65565b9050818310620006c657925062000567915050565b81620006d3848362001dce565b6200066e919062001dfe565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200074a919062001d28565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200078e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007b4919062001e15565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620007f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200081d919062001e15565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200085e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000884919062001e2f565b8015620008fd575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015620008cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008f2919062001e53565b6001600160801b0316145b156200090c578093506200091b565b62000918858262000c1d565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000965573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200098b919062001e15565b9050428111620009a757670de0b6b3a764000091505062000567565b6000620009b5858562000c35565b90506000620009c5428462001e7e565b90506000620009df620009d9848462000d6e565b62000db3565b9050620009f5670de0b6b3a76400008262000a08565b94505050505062000567565b5092915050565b60008062000a1f670de0b6b3a76400008562001dce565b905082818162000a335762000a3362001de8565b04949350505050565b600062000a4a838362000923565b62000a5e90670de0b6b3a764000062001e7e565b9392505050565b60405163794052f360e01b81526000600482018190529081906001600160a01b0386169063794052f39060240161012060405180830381865afa15801562000ab1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ad7919062001f09565b90506000428260a001511162000b135762000afd84836020015162000dc360201b60201c565b825162000b0b919062001f90565b905062000bfc565b600062000b2283864262000e03565b905060008062000b3489868a62000f11565b91509150600062000b6362000b5d85604001518562000b54919062001fb3565b86519062000f92565b62000fb7565b9050600062000bb262000b778385620013e5565b62000b8b90670de0b6b3a764000062001f90565b8851602088015162000b9f90869062000f92565b62000bab919062001fb3565b90620013e5565b905062000bcb8482896000015162000bab919062001f90565b62000bd78285620013e5565b866020015162000be8919062001fb3565b62000bf4919062001f90565b955050505050505b604082015162000c1390620009d9908390620013e5565b9695505050505050565b600081831162000c2e578162000a5e565b5090919050565b60408051600280825260608201835260009283929190602083019080368337019050509050828160008151811062000c715762000c7162001fd6565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000cb790859060040162001fec565b600060405180830381865afa15801562000cd5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000cff919081019062002038565b90508363ffffffff168160008151811062000d1e5762000d1e62001fd6565b60200260200101518260018151811062000d3c5762000d3c62001fd6565b602002602001015162000d50919062002102565b62000d5c919062002125565b6001600160d81b031695945050505050565b60008062000d826201518061016d62001dce565b62000d8e848662001dce565b62000d9a919062001dfe565b905062000dab62000b5d82620004fb565b949350505050565b6000808212156200051257600080fd5b6000806000831262000dd757600162000ddb565b6000195b905062000df76200013a8562000df18662001410565b62001425565b62000dab90826200214e565b62000e2f6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a0840151821062000e545760405163b2094b5960e01b815260040160405180910390fd5b6000828560a0015162000e68919062001e7e565b905062000e76858262001448565b8252602085015162000e8a90859062000dc3565b60208301528451158062000ea057506020820151155b1562000ed0578451602083015160405163b1c4aefb60e01b815260048101929092526024820152604401620004f2565b84516101008601516020840151845162000eee9392919085620014af565b604083015260c085015162000f04908262000d6e565b6060830152509392505050565b6000808062000f2a6001600160a01b0387168562000c35565b90506000428660a0015162000f40919062001e7e565b905062000f4e828262000d6e565b9350600062000f698761010001518362000d6e60201b60201c565b9050600262000f79868362001f90565b62000f85919062002184565b9350505050935093915050565b60008062000fa183856200214e565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff19821215801562000fdd575068070c1cc73b00c800008213155b6200101e5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401620004f2565b60008212156200105e5762001037600083900362000fb7565b6ec097ce7bc90715b34b9f10000000008162001057576200105762001de8565b0592915050565b60006806f05b59d3b20000008312620010a057506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec630262827000000000620010d8565b6803782dace9d90000008312620010d457506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380620010d8565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412620011295768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841262001166576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412620011a157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412620011dc576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126200121657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412620012505768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126200128a576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412620012c45768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080620013fc670de0b6b3a7640000856200214e565b905082818162000fae5762000fae62001de8565b600080821362000512576200056782620021b8565b6000670de0b6b3a76400006200143c848462001dce565b62000a5e919062001dfe565b60006200145582620004fb565b6200146a6200013a6201518061016d62001dce565b84608001516200147b91906200214e565b62001487919062002184565b9050600081136200056757604051630e520c3b60e11b815260048101829052602401620004f2565b600080620014be868462000d6e565b9050670de0b6b3a7640000811215620014ee5760405163329e322960e21b815260048101829052602401620004f2565b60006200150862001500878a62001f90565b8990620013e5565b9050600062001517826200153e565b9050620015258187620013e5565b62001531908462001fb3565b9998505050505050505050565b6000670de0b6b3a76400008203620015695760405163a9c8b14d60e01b815260040160405180910390fd5b60006200158b6200158384670de0b6b3a764000062001fb3565b8490620013e5565b905062000a5e816000808213620015d55760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401620004f2565b670c7d713b49da000082138015620015f45750670f43fc2c04ee000082125b156200161e57670de0b6b3a76400006200160e836200162e565b8162001057576200105762001de8565b620005678262001759565b919050565b670de0b6b3a7640000026000806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff198501028162001673576200167362001de8565b05905060006ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215620017a15762001798826ec097ce7bc90715b34b9f10000000008162001791576200179162001de8565b0562001759565b60000392915050565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c00000000000008312620017f357770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e00000083126200182c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831262001875576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312620018b1576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312620018e957693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126200192157690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312620019575768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126200198357680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312620019b9576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312620019ef576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831262001a24576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831262001a59576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028162001a855762001a8562001de8565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b62001b23620021d7565b565b6001600160a01b038116811462001b3b57600080fd5b50565b8051620016298162001b25565b6000806000806080858703121562001b6257600080fd5b845162001b6f8162001b25565b602086015190945063ffffffff8116811462001b8a57600080fd5b60408601519093506006811062001ba057600080fd5b606086015190925062001bb38162001b25565b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b805160ff811681146200162957600080fd5b60006020828403121562001bf957600080fd5b62000a5e8262001bd4565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562001c5b57816000190482111562001c3f5762001c3f62001c04565b8085161562001c4d57918102915b93841c939080029062001c1f565b509250929050565b60008262001c745750600162000567565b8162001c835750600062000567565b816001811462001c9c576002811462001ca75762001cc7565b600191505062000567565b60ff84111562001cbb5762001cbb62001c04565b50506001821b62000567565b5060208310610133831016604e8410600b841016171562001cec575081810a62000567565b62001cf8838362001c1a565b806000190482111562001d0f5762001d0f62001c04565b029392505050565b600062000a5e60ff84168362001c63565b60008060006060848603121562001d3e57600080fd5b835162001d4b8162001b25565b602085015190935062001d5e8162001b25565b604085015190925062001d718162001b25565b809150509250925092565b60008060006060848603121562001d9257600080fd5b83516002811062001da257600080fd5b602085015190935062001db58162001b25565b915062001dc56040850162001bd4565b90509250925092565b808202811582820484141762000567576200056762001c04565b634e487b7160e01b600052601260045260246000fd5b60008262001e105762001e1062001de8565b500490565b60006020828403121562001e2857600080fd5b5051919050565b60006020828403121562001e4257600080fd5b8151801515811462000a5e57600080fd5b60006020828403121562001e6657600080fd5b81516001600160801b038116811462000a5e57600080fd5b8181038181111562000567576200056762001c04565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001ed05762001ed062001e94565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001f015762001f0162001e94565b604052919050565b6000610120828403121562001f1d57600080fd5b62001f2762001eaa565b82518152602083015160208201526040830151604082015262001f4d6060840162001b3e565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b808201828112600083128015821682158216171562000564576200056462001c04565b818103600083128015838313168383128216171562000a015762000a0162001c04565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156200202c57835163ffffffff168352928401929184019160010162002008565b50909695505050505050565b600060208083850312156200204c57600080fd5b82516001600160401b03808211156200206457600080fd5b818501915085601f8301126200207957600080fd5b8151818111156200208e576200208e62001e94565b8060051b9150620020a184830162001ed6565b8181529183018401918481019088841115620020bc57600080fd5b938501935b83851015620020f657845192506001600160d81b0383168314620020e55760008081fd5b8282529385019390850190620020c1565b98975050505050505050565b6001600160d81b0382811682821603908082111562000a015762000a0162001c04565b60006001600160d81b038381168062002142576200214262001de8565b92169190910492915050565b80820260008212600160ff1b841416156200216d576200216d62001c04565b818105831482151762000567576200056762001c04565b60008262002196576200219662001de8565b600160ff1b821460001984141615620021b357620021b362001c04565b500590565b6000600160ff1b8201620021d057620021d062001c04565b5060000390565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051610160516101805161209f620022866000396000818160f601526103b60152600081816101670152610329015260006105e20152600060b90152600081816101cc0152610b080152600081816102610152610b3301526000818161012b01526105c10152600081816101f301526105a001526000610288015261209f6000f3fe608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce5671461019657806354fd4d50146101ab5780637284e416146101b25780637ae19f15146101c757806380f55605146101ee5780639a6fc8f514610215578063bafd4e381461025c578063c45a015514610283578063feaf968c146102aa575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119dc565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e89190611a04565b60125b60405160ff90911681526020016100e8565b6001610118565b6101ba6102b2565b6040516100e89190611a18565b6101997f000000000000000000000000000000000000000000000000000000000000000081565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b610228610223366004611a7f565b6102d2565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101997f000000000000000000000000000000000000000000000000000000000000000081565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022861031c565b606060405180606001604052806022815260200161204860229139905090565b600080808080856001600160501b038116156103015760405163bfbe031f60e01b815260040160405180910390fd5b61030961031c565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a99190611a9c565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103de610596565b6103e89190611b0a565b6103f29190611b50565b969760009650909450859350915050565b600080600061041185610613565b91509150808210610439576104308261042a8787610843565b90610918565b9250505061044a565b6104308161042a8787610843565b50505b92915050565b600080600061045e85610613565b91509150808210610473576104308585610843565b808261047f8787610843565b6104899190611b7e565b6104309190611b95565b60008060006104a185610613565b915091508082106104ba576104308261042a8787610947565b6104308161042a8787610947565b60008060006104d685610613565b915091508082106104eb576104308585610947565b808261047f8787610947565b600080600061050e856001600160a01b0316610613565b91509150600061051f86868461096c565b905081831061053c576105328184610918565b935050505061044a565b6105328183610918565b600080600061055d856001600160a01b0316610613565b91509150600061056e86868461096c565b905081831061058157925061044a915050565b8161058c8483611b7e565b6105329190611b95565b600061060e6106097f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610afe565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190611bbe565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e29190611c0b565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107489190611c0b565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190611c24565b8015610821575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108169190611c46565b6001600160801b0316145b1561082e5780935061083b565b6108388582610b72565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190611c0b565b90504281116108c257670de0b6b3a764000091505061044a565b60006108ce8585610b88565b905060006108dc4284611c6f565b905060006108f26108ed8484610caf565b610ceb565b9050610906670de0b6b3a764000082610918565b94505050505061044a565b5092915050565b60008061092d670de0b6b3a764000085611b7e565b905082818161093e5761093e611b3a565b04949350505050565b60006109538383610843565b61096590670de0b6b3a7640000611c6f565b9392505050565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b815260040161099c9190611a04565b61012060405180830381865afa1580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109de9190611cfc565b90506000428260a0015111610a0e576109fb848360200151610cfe565b8251610a079190611d7e565b9050610ada565b6000610a1b838642610d35565b9050600080610a2b89868a610e3b565b915091506000610a54610a4f856040015185610a479190611d9e565b865190610eaa565b610ecd565b90506000610a99610a6583856112e2565b610a7790670de0b6b3a7640000611d7e565b88516020880151610a89908690610eaa565b610a939190611d9e565b906112e2565b9050610aaf84828960000151610a939190611d7e565b610ab982856112e2565b8660200151610ac89190611d9e565b610ad29190611d7e565b955050505050505b610af46108ed8360400151836112e290919063ffffffff16565b9695505050505050565b600061044a610b2e7f0000000000000000000000000000000000000000000000000000000000000000600a611ea2565b610b597f0000000000000000000000000000000000000000000000000000000000000000600a611ea2565b610b639085611b7e565b610b6d9190611b95565b611308565b6000818311610b815781610965565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610bc157610bc1611eb1565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610c05908590600401611ec7565b600060405180830381865afa158015610c22573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4a9190810190611f11565b90508363ffffffff1681600081518110610c6657610c66611eb1565b602002602001015182600181518110610c8157610c81611eb1565b6020026020010151610c939190611fcf565b610c9d9190611fef565b6001600160d81b031695945050505050565b600080610cc16201518061016d611b7e565b610ccb8486611b7e565b610cd59190611b95565b9050610ce3610a4f82611308565b949350505050565b600080821215610cfa57600080fd5b5090565b60008060008312610d10576001610d14565b6000195b9050610d2b610b6d85610d268661131e565b611335565b610ce39082611b0a565b610d606040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610d845760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610d969190611c6f565b9050610da28582611354565b82526020850151610db4908590610cfe565b602083015284511580610dc957506020820151155b15610dfc578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b610e1a856000015186610100015184602001518560000151856113b0565b604083015260c0850151610e2e9082610caf565b6060830152509392505050565b60008080610e526001600160a01b03871685610b88565b90506000428660a00151610e669190611c6f565b9050610e728282610caf565b93506000610e8587610100015183610caf565b90506002610e938683611d7e565b610e9d9190611b50565b9350505050935093915050565b600080610eb78385611b0a565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610ef2575068070c1cc73b00c800008213155b610f315760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610df3565b6000821215610f6957610f4682600003610ecd565b6a0c097ce7bc90715b34b9f160241b81610f6257610f62611b3a565b0592915050565b60006806f05b59d3b20000008312610fa757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610fdd565b6803782dace9d90000008312610fd957506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610fdd565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261102d5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611069576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126110a357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126110dd576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261111657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261114f5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611188576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126111c15768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806112f7670de0b6b3a764000085611b0a565b9050828181610ec457610ec4611b3a565b60006001600160ff1b03821115610cfa57600080fd5b6000808213610cfa5761133082612015565b61044a565b6000670de0b6b3a764000061134a8484611b7e565b6109659190611b95565b600061135f82611308565b611371610b6d6201518061016d611b7e565b84608001516113809190611b0a565b61138a9190611b50565b90506000811361044a57604051630e520c3b60e11b815260048101829052602401610df3565b6000806113bd8684610caf565b9050670de0b6b3a76400008112156113eb5760405163329e322960e21b815260048101829052602401610df3565b60006114016113fa878a611d7e565b89906112e2565b9050600061140e82611431565b905061141a81876112e2565b6114249084611d9e565b9998505050505050505050565b6000670de0b6b3a7640000820361145b5760405163a9c8b14d60e01b815260040160405180910390fd5b600061147961147284670de0b6b3a7640000611d9e565b84906112e2565b90506109658160008082136114c05760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610df3565b670c7d713b49da0000821380156114de5750670f43fc2c04ee000082125b1561150257670de0b6b3a76400006114f583611510565b81610f6257610f62611b3a565b61044a8261162f565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161155157611551611b3a565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561167057611667826a0c097ce7bc90715b34b9f160241b8161166157611661611b3a565b0561162f565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126116bb5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126116f2576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261173a576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611775576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126117ac57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126117e357690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126118185768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261184357680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611878576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126118ad576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126118e1576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611915576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161193e5761193e611b3a565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6119da612031565b565b60208101600683106119fe57634e487b7160e01b600052602160045260246000fd5b91905290565b6001600160a01b0391909116815260200190565b60006020808352835180602085015260005b81811015611a4657858101830151858201604001528201611a2a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114611a7c57600080fd5b50565b600060208284031215611a9157600080fd5b813561096581611a67565b600080600080600060a08688031215611ab457600080fd5b8551611abf81611a67565b809550506020860151935060408601519250606086015191506080860151611ae681611a67565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b84141615611b2657611b26611af4565b818105831482151761044a5761044a611af4565b634e487b7160e01b600052601260045260246000fd5b600082611b5f57611b5f611b3a565b600160ff1b821460001984141615611b7957611b79611af4565b500590565b808202811582820484141761044a5761044a611af4565b600082611ba457611ba4611b3a565b500490565b6001600160a01b0381168114611a7c57600080fd5b600080600060608486031215611bd357600080fd5b8351611bde81611ba9565b6020850151909350611bef81611ba9565b6040850151909250611c0081611ba9565b809150509250925092565b600060208284031215611c1d57600080fd5b5051919050565b600060208284031215611c3657600080fd5b8151801515811461096557600080fd5b600060208284031215611c5857600080fd5b81516001600160801b038116811461096557600080fd5b8181038181111561044a5761044a611af4565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611cbb57611cbb611c82565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611ce957611ce9611c82565b604052919050565b805161150b81611ba9565b60006101208284031215611d0f57600080fd5b611d17611c98565b825181526020830151602082015260408301516040820152611d3b60608401611cf1565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b808201828112600083128015821682158216171561044757610447611af4565b818103600083128015838313168383128216171561091157610911611af4565b600181815b80851115611df9578160001904821115611ddf57611ddf611af4565b80851615611dec57918102915b93841c9390800290611dc3565b509250929050565b600082611e105750600161044a565b81611e1d5750600061044a565b8160018114611e335760028114611e3d57611e59565b600191505061044a565b60ff841115611e4e57611e4e611af4565b50506001821b61044a565b5060208310610133831016604e8410600b8410161715611e7c575081810a61044a565b611e868383611dbe565b8060001904821115611e9a57611e9a611af4565b029392505050565b600061096560ff841683611e01565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015611f0557835163ffffffff1683529284019291840191600101611ee3565b50909695505050505050565b60006020808385031215611f2457600080fd5b82516001600160401b0380821115611f3b57600080fd5b818501915085601f830112611f4f57600080fd5b815181811115611f6157611f61611c82565b8060051b9150611f72848301611cc1565b8181529183018401918481019088841115611f8c57600080fd5b938501935b83851015611fc357845192506001600160d81b0383168314611fb35760008081fd5b8282529385019390850190611f91565b98975050505050505050565b6001600160d81b0382811682821603908082111561091157610911611af4565b60006001600160d81b038381168061200957612009611b3a565b92169190910492915050565b6000600160ff1b820161202a5761202a611af4565b5060000390565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220def306ae36ffd6047a8d65b880438a6ba648e0faa1d4db232c742e047eae0ae364736f6c63430008170033",
|
|
302
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce5671461019657806354fd4d50146101ab5780637284e416146101b25780637ae19f15146101c757806380f55605146101ee5780639a6fc8f514610215578063bafd4e381461025c578063c45a015514610283578063feaf968c146102aa575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119dc565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e89190611a04565b60125b60405160ff90911681526020016100e8565b6001610118565b6101ba6102b2565b6040516100e89190611a18565b6101997f000000000000000000000000000000000000000000000000000000000000000081565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b610228610223366004611a7f565b6102d2565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101997f000000000000000000000000000000000000000000000000000000000000000081565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022861031c565b606060405180606001604052806022815260200161204860229139905090565b600080808080856001600160501b038116156103015760405163bfbe031f60e01b815260040160405180910390fd5b61030961031c565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a99190611a9c565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103de610596565b6103e89190611b0a565b6103f29190611b50565b969760009650909450859350915050565b600080600061041185610613565b91509150808210610439576104308261042a8787610843565b90610918565b9250505061044a565b6104308161042a8787610843565b50505b92915050565b600080600061045e85610613565b91509150808210610473576104308585610843565b808261047f8787610843565b6104899190611b7e565b6104309190611b95565b60008060006104a185610613565b915091508082106104ba576104308261042a8787610947565b6104308161042a8787610947565b60008060006104d685610613565b915091508082106104eb576104308585610947565b808261047f8787610947565b600080600061050e856001600160a01b0316610613565b91509150600061051f86868461096c565b905081831061053c576105328184610918565b935050505061044a565b6105328183610918565b600080600061055d856001600160a01b0316610613565b91509150600061056e86868461096c565b905081831061058157925061044a915050565b8161058c8483611b7e565b6105329190611b95565b600061060e6106097f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610afe565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190611bbe565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e29190611c0b565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107489190611c0b565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190611c24565b8015610821575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108169190611c46565b6001600160801b0316145b1561082e5780935061083b565b6108388582610b72565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190611c0b565b90504281116108c257670de0b6b3a764000091505061044a565b60006108ce8585610b88565b905060006108dc4284611c6f565b905060006108f26108ed8484610caf565b610ceb565b9050610906670de0b6b3a764000082610918565b94505050505061044a565b5092915050565b60008061092d670de0b6b3a764000085611b7e565b905082818161093e5761093e611b3a565b04949350505050565b60006109538383610843565b61096590670de0b6b3a7640000611c6f565b9392505050565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b815260040161099c9190611a04565b61012060405180830381865afa1580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109de9190611cfc565b90506000428260a0015111610a0e576109fb848360200151610cfe565b8251610a079190611d7e565b9050610ada565b6000610a1b838642610d35565b9050600080610a2b89868a610e3b565b915091506000610a54610a4f856040015185610a479190611d9e565b865190610eaa565b610ecd565b90506000610a99610a6583856112e2565b610a7790670de0b6b3a7640000611d7e565b88516020880151610a89908690610eaa565b610a939190611d9e565b906112e2565b9050610aaf84828960000151610a939190611d7e565b610ab982856112e2565b8660200151610ac89190611d9e565b610ad29190611d7e565b955050505050505b610af46108ed8360400151836112e290919063ffffffff16565b9695505050505050565b600061044a610b2e7f0000000000000000000000000000000000000000000000000000000000000000600a611ea2565b610b597f0000000000000000000000000000000000000000000000000000000000000000600a611ea2565b610b639085611b7e565b610b6d9190611b95565b611308565b6000818311610b815781610965565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610bc157610bc1611eb1565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610c05908590600401611ec7565b600060405180830381865afa158015610c22573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4a9190810190611f11565b90508363ffffffff1681600081518110610c6657610c66611eb1565b602002602001015182600181518110610c8157610c81611eb1565b6020026020010151610c939190611fcf565b610c9d9190611fef565b6001600160d81b031695945050505050565b600080610cc16201518061016d611b7e565b610ccb8486611b7e565b610cd59190611b95565b9050610ce3610a4f82611308565b949350505050565b600080821215610cfa57600080fd5b5090565b60008060008312610d10576001610d14565b6000195b9050610d2b610b6d85610d268661131e565b611335565b610ce39082611b0a565b610d606040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610d845760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610d969190611c6f565b9050610da28582611354565b82526020850151610db4908590610cfe565b602083015284511580610dc957506020820151155b15610dfc578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b610e1a856000015186610100015184602001518560000151856113b0565b604083015260c0850151610e2e9082610caf565b6060830152509392505050565b60008080610e526001600160a01b03871685610b88565b90506000428660a00151610e669190611c6f565b9050610e728282610caf565b93506000610e8587610100015183610caf565b90506002610e938683611d7e565b610e9d9190611b50565b9350505050935093915050565b600080610eb78385611b0a565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610ef2575068070c1cc73b00c800008213155b610f315760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610df3565b6000821215610f6957610f4682600003610ecd565b6a0c097ce7bc90715b34b9f160241b81610f6257610f62611b3a565b0592915050565b60006806f05b59d3b20000008312610fa757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610fdd565b6803782dace9d90000008312610fd957506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610fdd565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261102d5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611069576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126110a357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126110dd576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261111657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261114f5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611188576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126111c15768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806112f7670de0b6b3a764000085611b0a565b9050828181610ec457610ec4611b3a565b60006001600160ff1b03821115610cfa57600080fd5b6000808213610cfa5761133082612015565b61044a565b6000670de0b6b3a764000061134a8484611b7e565b6109659190611b95565b600061135f82611308565b611371610b6d6201518061016d611b7e565b84608001516113809190611b0a565b61138a9190611b50565b90506000811361044a57604051630e520c3b60e11b815260048101829052602401610df3565b6000806113bd8684610caf565b9050670de0b6b3a76400008112156113eb5760405163329e322960e21b815260048101829052602401610df3565b60006114016113fa878a611d7e565b89906112e2565b9050600061140e82611431565b905061141a81876112e2565b6114249084611d9e565b9998505050505050505050565b6000670de0b6b3a7640000820361145b5760405163a9c8b14d60e01b815260040160405180910390fd5b600061147961147284670de0b6b3a7640000611d9e565b84906112e2565b90506109658160008082136114c05760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610df3565b670c7d713b49da0000821380156114de5750670f43fc2c04ee000082125b1561150257670de0b6b3a76400006114f583611510565b81610f6257610f62611b3a565b61044a8261162f565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161155157611551611b3a565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561167057611667826a0c097ce7bc90715b34b9f160241b8161166157611661611b3a565b0561162f565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126116bb5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126116f2576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261173a576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611775576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126117ac57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126117e357690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126118185768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261184357680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611878576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126118ad576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126118e1576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611915576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161193e5761193e611b3a565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6119da612031565b565b60208101600683106119fe57634e487b7160e01b600052602160045260246000fd5b91905290565b6001600160a01b0391909116815260200190565b60006020808352835180602085015260005b81811015611a4657858101830151858201604001528201611a2a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114611a7c57600080fd5b50565b600060208284031215611a9157600080fd5b813561096581611a67565b600080600080600060a08688031215611ab457600080fd5b8551611abf81611a67565b809550506020860151935060408601519250606086015191506080860151611ae681611a67565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b84141615611b2657611b26611af4565b818105831482151761044a5761044a611af4565b634e487b7160e01b600052601260045260246000fd5b600082611b5f57611b5f611b3a565b600160ff1b821460001984141615611b7957611b79611af4565b500590565b808202811582820484141761044a5761044a611af4565b600082611ba457611ba4611b3a565b500490565b6001600160a01b0381168114611a7c57600080fd5b600080600060608486031215611bd357600080fd5b8351611bde81611ba9565b6020850151909350611bef81611ba9565b6040850151909250611c0081611ba9565b809150509250925092565b600060208284031215611c1d57600080fd5b5051919050565b600060208284031215611c3657600080fd5b8151801515811461096557600080fd5b600060208284031215611c5857600080fd5b81516001600160801b038116811461096557600080fd5b8181038181111561044a5761044a611af4565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611cbb57611cbb611c82565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611ce957611ce9611c82565b604052919050565b805161150b81611ba9565b60006101208284031215611d0f57600080fd5b611d17611c98565b825181526020830151602082015260408301516040820152611d3b60608401611cf1565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b808201828112600083128015821682158216171561044757610447611af4565b818103600083128015838313168383128216171561091157610911611af4565b600181815b80851115611df9578160001904821115611ddf57611ddf611af4565b80851615611dec57918102915b93841c9390800290611dc3565b509250929050565b600082611e105750600161044a565b81611e1d5750600061044a565b8160018114611e335760028114611e3d57611e59565b600191505061044a565b60ff841115611e4e57611e4e611af4565b50506001821b61044a565b5060208310610133831016604e8410600b8410161715611e7c575081810a61044a565b611e868383611dbe565b8060001904821115611e9a57611e9a611af4565b029392505050565b600061096560ff841683611e01565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015611f0557835163ffffffff1683529284019291840191600101611ee3565b50909695505050505050565b60006020808385031215611f2457600080fd5b82516001600160401b0380821115611f3b57600080fd5b818501915085601f830112611f4f57600080fd5b815181811115611f6157611f61611c82565b8060051b9150611f72848301611cc1565b8181529183018401918481019088841115611f8c57600080fd5b938501935b83851015611fc357845192506001600160d81b0383168314611fb35760008081fd5b8282529385019390850190611f91565b98975050505050505050565b6001600160d81b0382811682821603908082111561091157610911611af4565b60006001600160d81b038381168061200957612009611b3a565b92169190910492915050565b6000600160ff1b820161202a5761202a611af4565b5060000390565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220def306ae36ffd6047a8d65b880438a6ba648e0faa1d4db232c742e047eae0ae364736f6c63430008170033",
|
|
303
|
-
"linkReferences": {},
|
|
304
|
-
"deployedLinkReferences": {}
|
|
305
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./PendleChainlinkOracleBase.sol";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @dev The round data returned from this contract will follow:
|
|
8
|
-
* - There will be only one round (roundId=0)
|
|
9
|
-
* - startedAt, updatedAt will always be 0
|
|
10
|
-
*/
|
|
11
|
-
contract PendleChainlinkOracle is PendleChainlinkOracleBase {
|
|
12
|
-
constructor(
|
|
13
|
-
address _market,
|
|
14
|
-
uint32 _twapDuration,
|
|
15
|
-
PendleOracleType _baseOracleType
|
|
16
|
-
) PendleChainlinkOracleBase(_market, _twapDuration, _baseOracleType) {}
|
|
17
|
-
|
|
18
|
-
function _getFinalPrice() internal view override returns (int256) {
|
|
19
|
-
return _getPendleTokenPrice();
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./PendleChainlinkOracleBase.sol";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @dev The round data returned from this contract will follow:
|
|
8
|
-
* - There will be only one round (roundId=0)
|
|
9
|
-
* - startedAt=0, updatedAt=quoteOracle.updatedAt()
|
|
10
|
-
*/
|
|
11
|
-
contract PendleChainlinkOracleWithQuote is PendleChainlinkOracleBase {
|
|
12
|
-
// solhint-disable immutable-vars-naming
|
|
13
|
-
address public immutable quoteOracle;
|
|
14
|
-
int256 public immutable quoteScale;
|
|
15
|
-
|
|
16
|
-
constructor(
|
|
17
|
-
address _market,
|
|
18
|
-
uint32 _twapDuration,
|
|
19
|
-
PendleOracleType _baseOracleType,
|
|
20
|
-
address _quoteOracle
|
|
21
|
-
) PendleChainlinkOracleBase(_market, _twapDuration, _baseOracleType) {
|
|
22
|
-
quoteOracle = _quoteOracle;
|
|
23
|
-
quoteScale = PMath.Int(10 ** AggregatorV3Interface(quoteOracle).decimals());
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function _getFinalPrice() internal view virtual override returns (int256) {
|
|
27
|
-
(, int256 quoteAnswer, , , ) = AggregatorV3Interface(quoteOracle).latestRoundData();
|
|
28
|
-
return (_getPendleTokenPrice() * quoteAnswer) / quoteScale;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function latestRoundData()
|
|
32
|
-
public
|
|
33
|
-
view
|
|
34
|
-
virtual
|
|
35
|
-
override
|
|
36
|
-
returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
|
|
37
|
-
{
|
|
38
|
-
(, int256 quoteAnswer, , uint256 quoteUpdatedAt, ) = AggregatorV3Interface(quoteOracle).latestRoundData();
|
|
39
|
-
|
|
40
|
-
roundId = 0;
|
|
41
|
-
answer = (_getPendleTokenPrice() * quoteAnswer) / quoteScale;
|
|
42
|
-
startedAt = 0;
|
|
43
|
-
updatedAt = quoteUpdatedAt;
|
|
44
|
-
answeredInRound = 0;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
File without changes
|
|
File without changes
|