@pendle/core-v2 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +100 -0
- package/contracts/SuperComposableYield/ISuperComposableYield.sol +68 -0
- package/contracts/SuperComposableYield/SCYUtils.sol +14 -0
- package/contracts/SuperComposableYield/implementations/RewardManager.sol +117 -0
- package/contracts/SuperComposableYield/implementations/SCYBase.sol +126 -0
- package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +79 -0
- package/contracts/core/PendleBaseToken.sol +39 -0
- package/contracts/core/PendleMarket.sol +248 -0
- package/contracts/core/PendleMarketFactory.sol +60 -0
- package/contracts/core/PendleOwnershipToken.sol +44 -0
- package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +139 -0
- package/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol +126 -0
- package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +127 -0
- package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +125 -0
- package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +115 -0
- package/contracts/core/PendleYieldContractFactory.sol +109 -0
- package/contracts/core/PendleYieldToken.sol +240 -0
- package/contracts/core/misc/BoringOwnable.sol +62 -0
- package/contracts/core/misc/BoringOwnableUpg.sol +64 -0
- package/contracts/core/misc/PendleJoeSwapHelperUpg.sol +82 -0
- package/contracts/core/router/PendleRouterCoreUpg.sol +219 -0
- package/contracts/core/router/PendleRouterProxy.sol +64 -0
- package/contracts/core/router/PendleRouterYTUpg.sol +134 -0
- package/contracts/core/router/base/PendleRouterOTBaseUpg.sol +218 -0
- package/contracts/core/router/base/PendleRouterSCYAndForgeBaseUpg.sol +141 -0
- package/contracts/core/router/base/PendleRouterYTBaseUpg.sol +212 -0
- package/contracts/interfaces/IAToken.sol +34 -0
- package/contracts/interfaces/IAavePool.sol +41 -0
- package/contracts/interfaces/IAaveRewardsController.sol +32 -0
- package/contracts/interfaces/IBenQiComptroller.sol +33 -0
- package/contracts/interfaces/IJoePair.sol +98 -0
- package/contracts/interfaces/IJoeRouter01.sol +162 -0
- package/contracts/interfaces/IPBaseToken.sol +9 -0
- package/contracts/interfaces/IPFlashCallBack.sol +10 -0
- package/contracts/interfaces/IPGovernanceManager.sol +28 -0
- package/contracts/interfaces/IPMarket.sol +57 -0
- package/contracts/interfaces/IPMarketAddRemoveCallback.sol +18 -0
- package/contracts/interfaces/IPMarketFactory.sol +8 -0
- package/contracts/interfaces/IPMarketSwapCallback.sol +10 -0
- package/contracts/interfaces/IPOwnershipToken.sol +15 -0
- package/contracts/interfaces/IPPermissionsV2.sol +28 -0
- package/contracts/interfaces/IPRouterCore.sol +108 -0
- package/contracts/interfaces/IPRouterYT.sol +47 -0
- package/contracts/interfaces/IPYieldContractFactory.sol +36 -0
- package/contracts/interfaces/IPYieldToken.sol +19 -0
- package/contracts/interfaces/IQiErc20.sol +35 -0
- package/contracts/interfaces/IQiToken.sol +29 -0
- package/contracts/interfaces/IREDACTEDStaking.sol +35 -0
- package/contracts/interfaces/IWETH.sol +34 -0
- package/contracts/interfaces/IWXBTRFLY.sol +37 -0
- package/contracts/interfaces/IYearnVault.sol +32 -0
- package/contracts/libraries/JoeLibrary.sol +121 -0
- package/contracts/libraries/SCYIndex.sol +55 -0
- package/contracts/libraries/helpers/ExpiryUtilsLib.sol +166 -0
- package/contracts/libraries/math/FixedPoint.sol +208 -0
- package/contracts/libraries/math/LogExpMath.sol +515 -0
- package/contracts/libraries/math/MarketApproxLib.sol +140 -0
- package/contracts/libraries/math/MarketMathLib.sol +606 -0
- package/contracts/periphery/PendleGovernanceManager.sol +36 -0
- package/contracts/periphery/PermissionsV2.sol +23 -0
- package/package.json +76 -0
- package/typechain-types/BoringOwnable.ts +194 -0
- package/typechain-types/BoringOwnableData.ts +100 -0
- package/typechain-types/BoringOwnableUpg.ts +194 -0
- package/typechain-types/BoringOwnableUpgData.ts +100 -0
- package/typechain-types/ERC1967UpgradeUpgradeable.ts +97 -0
- package/typechain-types/ERC20.ts +417 -0
- package/typechain-types/IAToken.ts +331 -0
- package/typechain-types/IAavePool.ts +192 -0
- package/typechain-types/IAaveRewardsController.ts +148 -0
- package/typechain-types/IBeaconUpgradeable.ts +87 -0
- package/typechain-types/IBenQiComptroller.ts +125 -0
- package/typechain-types/IERC1822ProxiableUpgradeable.ts +87 -0
- package/typechain-types/IERC20.ts +300 -0
- package/typechain-types/IERC20Metadata.ts +339 -0
- package/typechain-types/IJoePair.ts +888 -0
- package/typechain-types/IJoeRouter01.ts +1107 -0
- package/typechain-types/IPBaseToken.ts +365 -0
- package/typechain-types/IPFlashCallback.ts +115 -0
- package/typechain-types/IPGovernanceManager.ts +84 -0
- package/typechain-types/IPMarket.ts +701 -0
- package/typechain-types/IPMarketAddRemoveCallback.ts +169 -0
- package/typechain-types/IPMarketFactory.ts +109 -0
- package/typechain-types/IPMarketSwapCallback.ts +115 -0
- package/typechain-types/IPOwnershipToken.ts +488 -0
- package/typechain-types/IPRouterCore.ts +759 -0
- package/typechain-types/IPRouterYT.ts +405 -0
- package/typechain-types/IPYieldContractFactory.ts +192 -0
- package/typechain-types/IPYieldToken.ts +525 -0
- package/typechain-types/IPermissionsV2.ts +87 -0
- package/typechain-types/IQiErc20.ts +402 -0
- package/typechain-types/IQiToken.ts +327 -0
- package/typechain-types/IREDACTEDStaking.ts +216 -0
- package/typechain-types/ISuperComposableYield.ts +652 -0
- package/typechain-types/IWETH.ts +380 -0
- package/typechain-types/IWXBTRFLY.ts +254 -0
- package/typechain-types/IYearnVault.ts +152 -0
- package/typechain-types/PendleAaveV3SCY.ts +901 -0
- package/typechain-types/PendleBaseToken.ts +505 -0
- package/typechain-types/PendleBenQiErc20SCY.ts +914 -0
- package/typechain-types/PendleBtrflyScy.ts +794 -0
- package/typechain-types/PendleGovernanceManager.ts +187 -0
- package/typechain-types/PendleJoeSwapHelperUpg.ts +97 -0
- package/typechain-types/PendleMarket.ts +1008 -0
- package/typechain-types/PendleMarketFactory.ts +246 -0
- package/typechain-types/PendleOwnershipToken.ts +628 -0
- package/typechain-types/PendleRouterCoreUpg.ts +780 -0
- package/typechain-types/PendleRouterProxy.ts +417 -0
- package/typechain-types/PendleRouterSCYAndForgeBaseUpg.ts +98 -0
- package/typechain-types/PendleRouterYTBaseUpg.ts +134 -0
- package/typechain-types/PendleRouterYTUpg.ts +453 -0
- package/typechain-types/PendleYearnVaultScy.ts +784 -0
- package/typechain-types/PendleYieldContractFactory.ts +479 -0
- package/typechain-types/PendleYieldToken.ts +1030 -0
- package/typechain-types/PermissionsV2.ts +87 -0
- package/typechain-types/Proxy.ts +57 -0
- package/typechain-types/RewardManager.ts +172 -0
- package/typechain-types/SCYBase.ts +734 -0
- package/typechain-types/SCYBaseWithRewards.ts +819 -0
- package/typechain-types/UUPSUpgradeable.ts +197 -0
- package/typechain-types/common.ts +44 -0
- package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
- package/typechain-types/factories/BoringOwnableUpgData__factory.ts +94 -0
- package/typechain-types/factories/BoringOwnableUpg__factory.ts +139 -0
- package/typechain-types/factories/BoringOwnable__factory.ts +149 -0
- package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +75 -0
- package/typechain-types/factories/ERC20__factory.ts +348 -0
- package/typechain-types/factories/IAToken__factory.ts +225 -0
- package/typechain-types/factories/IAavePool__factory.ts +99 -0
- package/typechain-types/factories/IAaveRewardsController__factory.ts +78 -0
- package/typechain-types/factories/IBeaconUpgradeable__factory.ts +39 -0
- package/typechain-types/factories/IBenQiComptroller__factory.ts +59 -0
- package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
- package/typechain-types/factories/IERC20Metadata__factory.ts +248 -0
- package/typechain-types/factories/IERC20__factory.ts +203 -0
- package/typechain-types/factories/IJoePair__factory.ts +674 -0
- package/typechain-types/factories/IJoeRouter01__factory.ts +772 -0
- package/typechain-types/factories/IPBaseToken__factory.ts +271 -0
- package/typechain-types/factories/IPFlashCallback__factory.ts +49 -0
- package/typechain-types/factories/IPGovernanceManager__factory.ts +39 -0
- package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +86 -0
- package/typechain-types/factories/IPMarketFactory__factory.ts +58 -0
- package/typechain-types/factories/IPMarketSwapCallback__factory.ts +53 -0
- package/typechain-types/factories/IPMarket__factory.ts +559 -0
- package/typechain-types/factories/IPOwnershipToken__factory.ts +349 -0
- package/typechain-types/factories/IPRouterCore__factory.ts +516 -0
- package/typechain-types/factories/IPRouterYT__factory.ts +246 -0
- package/typechain-types/factories/IPYieldContractFactory__factory.ts +117 -0
- package/typechain-types/factories/IPYieldToken__factory.ts +383 -0
- package/typechain-types/factories/IPermissionsV2__factory.ts +39 -0
- package/typechain-types/factories/IQiErc20__factory.ts +270 -0
- package/typechain-types/factories/IQiToken__factory.ts +219 -0
- package/typechain-types/factories/IREDACTEDStaking__factory.ts +107 -0
- package/typechain-types/factories/ISuperComposableYield__factory.ts +438 -0
- package/typechain-types/factories/IWETH__factory.ts +261 -0
- package/typechain-types/factories/IWXBTRFLY__factory.ts +131 -0
- package/typechain-types/factories/IYearnVault__factory.ts +74 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +727 -0
- package/typechain-types/factories/PendleBaseToken__factory.ts +386 -0
- package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +753 -0
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +652 -0
- package/typechain-types/factories/PendleGovernanceManager__factory.ts +149 -0
- package/typechain-types/factories/PendleJoeSwapHelperUpg__factory.ts +56 -0
- package/typechain-types/factories/PendleMarketFactory__factory.ts +207 -0
- package/typechain-types/factories/PendleMarket__factory.ts +891 -0
- package/typechain-types/factories/PendleOwnershipToken__factory.ts +565 -0
- package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +620 -0
- package/typechain-types/factories/PendleRouterProxy__factory.ts +316 -0
- package/typechain-types/factories/PendleRouterSCYAndForgeBaseUpg__factory.ts +56 -0
- package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +66 -0
- package/typechain-types/factories/PendleRouterYTUpg__factory.ts +363 -0
- package/typechain-types/factories/PendleYearnVaultScy__factory.ts +630 -0
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +368 -0
- package/typechain-types/factories/PendleYieldToken__factory.ts +814 -0
- package/typechain-types/factories/PermissionsV2__factory.ts +36 -0
- package/typechain-types/factories/Proxy__factory.ts +28 -0
- package/typechain-types/factories/RewardManager__factory.ts +89 -0
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +535 -0
- package/typechain-types/factories/SCYBase__factory.ts +479 -0
- package/typechain-types/factories/UUPSUpgradeable__factory.ts +115 -0
- package/typechain-types/hardhat.d.ts +564 -0
- package/typechain-types/index.ts +122 -0
|
@@ -0,0 +1,891 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
Signer,
|
|
6
|
+
utils,
|
|
7
|
+
Contract,
|
|
8
|
+
ContractFactory,
|
|
9
|
+
Overrides,
|
|
10
|
+
BigNumberish,
|
|
11
|
+
} from "ethers";
|
|
12
|
+
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
13
|
+
import type { PendleMarket, PendleMarketInterface } from "../PendleMarket";
|
|
14
|
+
|
|
15
|
+
const _abi = [
|
|
16
|
+
{
|
|
17
|
+
inputs: [
|
|
18
|
+
{
|
|
19
|
+
internalType: "address",
|
|
20
|
+
name: "_OT",
|
|
21
|
+
type: "address",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
internalType: "uint256",
|
|
25
|
+
name: "_rateOracleTimeWindow",
|
|
26
|
+
type: "uint256",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
internalType: "uint256",
|
|
30
|
+
name: "_feeRateRoot",
|
|
31
|
+
type: "uint256",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
internalType: "int256",
|
|
35
|
+
name: "_scalarRoot",
|
|
36
|
+
type: "int256",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
internalType: "int256",
|
|
40
|
+
name: "_anchorRoot",
|
|
41
|
+
type: "int256",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
internalType: "uint8",
|
|
45
|
+
name: "_reserveFeePercent",
|
|
46
|
+
type: "uint8",
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
stateMutability: "nonpayable",
|
|
50
|
+
type: "constructor",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
anonymous: false,
|
|
54
|
+
inputs: [
|
|
55
|
+
{
|
|
56
|
+
indexed: true,
|
|
57
|
+
internalType: "address",
|
|
58
|
+
name: "owner",
|
|
59
|
+
type: "address",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
indexed: true,
|
|
63
|
+
internalType: "address",
|
|
64
|
+
name: "spender",
|
|
65
|
+
type: "address",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
indexed: false,
|
|
69
|
+
internalType: "uint256",
|
|
70
|
+
name: "value",
|
|
71
|
+
type: "uint256",
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
name: "Approval",
|
|
75
|
+
type: "event",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
anonymous: false,
|
|
79
|
+
inputs: [
|
|
80
|
+
{
|
|
81
|
+
indexed: true,
|
|
82
|
+
internalType: "address",
|
|
83
|
+
name: "user",
|
|
84
|
+
type: "address",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
indexed: false,
|
|
88
|
+
internalType: "uint256",
|
|
89
|
+
name: "amount",
|
|
90
|
+
type: "uint256",
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
name: "Burn",
|
|
94
|
+
type: "event",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
anonymous: false,
|
|
98
|
+
inputs: [
|
|
99
|
+
{
|
|
100
|
+
indexed: true,
|
|
101
|
+
internalType: "address",
|
|
102
|
+
name: "user",
|
|
103
|
+
type: "address",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
indexed: false,
|
|
107
|
+
internalType: "uint256",
|
|
108
|
+
name: "amount",
|
|
109
|
+
type: "uint256",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
name: "Mint",
|
|
113
|
+
type: "event",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
anonymous: false,
|
|
117
|
+
inputs: [
|
|
118
|
+
{
|
|
119
|
+
indexed: true,
|
|
120
|
+
internalType: "address",
|
|
121
|
+
name: "from",
|
|
122
|
+
type: "address",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
indexed: true,
|
|
126
|
+
internalType: "address",
|
|
127
|
+
name: "to",
|
|
128
|
+
type: "address",
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
indexed: false,
|
|
132
|
+
internalType: "uint256",
|
|
133
|
+
name: "value",
|
|
134
|
+
type: "uint256",
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
name: "Transfer",
|
|
138
|
+
type: "event",
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
inputs: [],
|
|
142
|
+
name: "OT",
|
|
143
|
+
outputs: [
|
|
144
|
+
{
|
|
145
|
+
internalType: "address",
|
|
146
|
+
name: "",
|
|
147
|
+
type: "address",
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
stateMutability: "view",
|
|
151
|
+
type: "function",
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
inputs: [],
|
|
155
|
+
name: "SCY",
|
|
156
|
+
outputs: [
|
|
157
|
+
{
|
|
158
|
+
internalType: "address",
|
|
159
|
+
name: "",
|
|
160
|
+
type: "address",
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
stateMutability: "view",
|
|
164
|
+
type: "function",
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
inputs: [],
|
|
168
|
+
name: "YT",
|
|
169
|
+
outputs: [
|
|
170
|
+
{
|
|
171
|
+
internalType: "address",
|
|
172
|
+
name: "",
|
|
173
|
+
type: "address",
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
stateMutability: "view",
|
|
177
|
+
type: "function",
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
inputs: [
|
|
181
|
+
{
|
|
182
|
+
internalType: "address",
|
|
183
|
+
name: "receiver",
|
|
184
|
+
type: "address",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
internalType: "uint256",
|
|
188
|
+
name: "scyDesired",
|
|
189
|
+
type: "uint256",
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
internalType: "uint256",
|
|
193
|
+
name: "otDesired",
|
|
194
|
+
type: "uint256",
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
internalType: "bytes",
|
|
198
|
+
name: "data",
|
|
199
|
+
type: "bytes",
|
|
200
|
+
},
|
|
201
|
+
],
|
|
202
|
+
name: "addLiquidity",
|
|
203
|
+
outputs: [
|
|
204
|
+
{
|
|
205
|
+
internalType: "uint256",
|
|
206
|
+
name: "lpToAccount",
|
|
207
|
+
type: "uint256",
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
internalType: "uint256",
|
|
211
|
+
name: "scyUsed",
|
|
212
|
+
type: "uint256",
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
internalType: "uint256",
|
|
216
|
+
name: "otUsed",
|
|
217
|
+
type: "uint256",
|
|
218
|
+
},
|
|
219
|
+
],
|
|
220
|
+
stateMutability: "nonpayable",
|
|
221
|
+
type: "function",
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
inputs: [
|
|
225
|
+
{
|
|
226
|
+
internalType: "address",
|
|
227
|
+
name: "owner",
|
|
228
|
+
type: "address",
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
internalType: "address",
|
|
232
|
+
name: "spender",
|
|
233
|
+
type: "address",
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
name: "allowance",
|
|
237
|
+
outputs: [
|
|
238
|
+
{
|
|
239
|
+
internalType: "uint256",
|
|
240
|
+
name: "",
|
|
241
|
+
type: "uint256",
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
stateMutability: "view",
|
|
245
|
+
type: "function",
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
inputs: [],
|
|
249
|
+
name: "anchorRoot",
|
|
250
|
+
outputs: [
|
|
251
|
+
{
|
|
252
|
+
internalType: "int256",
|
|
253
|
+
name: "",
|
|
254
|
+
type: "int256",
|
|
255
|
+
},
|
|
256
|
+
],
|
|
257
|
+
stateMutability: "view",
|
|
258
|
+
type: "function",
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
inputs: [
|
|
262
|
+
{
|
|
263
|
+
internalType: "address",
|
|
264
|
+
name: "spender",
|
|
265
|
+
type: "address",
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
internalType: "uint256",
|
|
269
|
+
name: "amount",
|
|
270
|
+
type: "uint256",
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
name: "approve",
|
|
274
|
+
outputs: [
|
|
275
|
+
{
|
|
276
|
+
internalType: "bool",
|
|
277
|
+
name: "",
|
|
278
|
+
type: "bool",
|
|
279
|
+
},
|
|
280
|
+
],
|
|
281
|
+
stateMutability: "nonpayable",
|
|
282
|
+
type: "function",
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
inputs: [
|
|
286
|
+
{
|
|
287
|
+
internalType: "address",
|
|
288
|
+
name: "account",
|
|
289
|
+
type: "address",
|
|
290
|
+
},
|
|
291
|
+
],
|
|
292
|
+
name: "balanceOf",
|
|
293
|
+
outputs: [
|
|
294
|
+
{
|
|
295
|
+
internalType: "uint256",
|
|
296
|
+
name: "",
|
|
297
|
+
type: "uint256",
|
|
298
|
+
},
|
|
299
|
+
],
|
|
300
|
+
stateMutability: "view",
|
|
301
|
+
type: "function",
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
inputs: [],
|
|
305
|
+
name: "decimals",
|
|
306
|
+
outputs: [
|
|
307
|
+
{
|
|
308
|
+
internalType: "uint8",
|
|
309
|
+
name: "",
|
|
310
|
+
type: "uint8",
|
|
311
|
+
},
|
|
312
|
+
],
|
|
313
|
+
stateMutability: "view",
|
|
314
|
+
type: "function",
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
inputs: [
|
|
318
|
+
{
|
|
319
|
+
internalType: "address",
|
|
320
|
+
name: "spender",
|
|
321
|
+
type: "address",
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
internalType: "uint256",
|
|
325
|
+
name: "subtractedValue",
|
|
326
|
+
type: "uint256",
|
|
327
|
+
},
|
|
328
|
+
],
|
|
329
|
+
name: "decreaseAllowance",
|
|
330
|
+
outputs: [
|
|
331
|
+
{
|
|
332
|
+
internalType: "bool",
|
|
333
|
+
name: "",
|
|
334
|
+
type: "bool",
|
|
335
|
+
},
|
|
336
|
+
],
|
|
337
|
+
stateMutability: "nonpayable",
|
|
338
|
+
type: "function",
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
inputs: [],
|
|
342
|
+
name: "expiry",
|
|
343
|
+
outputs: [
|
|
344
|
+
{
|
|
345
|
+
internalType: "uint256",
|
|
346
|
+
name: "",
|
|
347
|
+
type: "uint256",
|
|
348
|
+
},
|
|
349
|
+
],
|
|
350
|
+
stateMutability: "view",
|
|
351
|
+
type: "function",
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
inputs: [],
|
|
355
|
+
name: "factory",
|
|
356
|
+
outputs: [
|
|
357
|
+
{
|
|
358
|
+
internalType: "address",
|
|
359
|
+
name: "",
|
|
360
|
+
type: "address",
|
|
361
|
+
},
|
|
362
|
+
],
|
|
363
|
+
stateMutability: "view",
|
|
364
|
+
type: "function",
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
inputs: [],
|
|
368
|
+
name: "feeRateRoot",
|
|
369
|
+
outputs: [
|
|
370
|
+
{
|
|
371
|
+
internalType: "uint256",
|
|
372
|
+
name: "",
|
|
373
|
+
type: "uint256",
|
|
374
|
+
},
|
|
375
|
+
],
|
|
376
|
+
stateMutability: "view",
|
|
377
|
+
type: "function",
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
inputs: [
|
|
381
|
+
{
|
|
382
|
+
internalType: "address",
|
|
383
|
+
name: "spender",
|
|
384
|
+
type: "address",
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
internalType: "uint256",
|
|
388
|
+
name: "addedValue",
|
|
389
|
+
type: "uint256",
|
|
390
|
+
},
|
|
391
|
+
],
|
|
392
|
+
name: "increaseAllowance",
|
|
393
|
+
outputs: [
|
|
394
|
+
{
|
|
395
|
+
internalType: "bool",
|
|
396
|
+
name: "",
|
|
397
|
+
type: "bool",
|
|
398
|
+
},
|
|
399
|
+
],
|
|
400
|
+
stateMutability: "nonpayable",
|
|
401
|
+
type: "function",
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
inputs: [],
|
|
405
|
+
name: "isExpired",
|
|
406
|
+
outputs: [
|
|
407
|
+
{
|
|
408
|
+
internalType: "bool",
|
|
409
|
+
name: "res",
|
|
410
|
+
type: "bool",
|
|
411
|
+
},
|
|
412
|
+
],
|
|
413
|
+
stateMutability: "view",
|
|
414
|
+
type: "function",
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
inputs: [],
|
|
418
|
+
name: "marketStorage",
|
|
419
|
+
outputs: [
|
|
420
|
+
{
|
|
421
|
+
internalType: "int128",
|
|
422
|
+
name: "totalOt",
|
|
423
|
+
type: "int128",
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
internalType: "int128",
|
|
427
|
+
name: "totalScy",
|
|
428
|
+
type: "int128",
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
internalType: "uint112",
|
|
432
|
+
name: "lastImpliedRate",
|
|
433
|
+
type: "uint112",
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
internalType: "uint112",
|
|
437
|
+
name: "oracleRate",
|
|
438
|
+
type: "uint112",
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
internalType: "uint32",
|
|
442
|
+
name: "lastTradeTime",
|
|
443
|
+
type: "uint32",
|
|
444
|
+
},
|
|
445
|
+
],
|
|
446
|
+
stateMutability: "view",
|
|
447
|
+
type: "function",
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
inputs: [],
|
|
451
|
+
name: "name",
|
|
452
|
+
outputs: [
|
|
453
|
+
{
|
|
454
|
+
internalType: "string",
|
|
455
|
+
name: "",
|
|
456
|
+
type: "string",
|
|
457
|
+
},
|
|
458
|
+
],
|
|
459
|
+
stateMutability: "view",
|
|
460
|
+
type: "function",
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
inputs: [],
|
|
464
|
+
name: "rateOracleTimeWindow",
|
|
465
|
+
outputs: [
|
|
466
|
+
{
|
|
467
|
+
internalType: "uint256",
|
|
468
|
+
name: "",
|
|
469
|
+
type: "uint256",
|
|
470
|
+
},
|
|
471
|
+
],
|
|
472
|
+
stateMutability: "view",
|
|
473
|
+
type: "function",
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
inputs: [],
|
|
477
|
+
name: "readState",
|
|
478
|
+
outputs: [
|
|
479
|
+
{
|
|
480
|
+
components: [
|
|
481
|
+
{
|
|
482
|
+
internalType: "int256",
|
|
483
|
+
name: "totalOt",
|
|
484
|
+
type: "int256",
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
internalType: "int256",
|
|
488
|
+
name: "totalScy",
|
|
489
|
+
type: "int256",
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
internalType: "int256",
|
|
493
|
+
name: "totalLp",
|
|
494
|
+
type: "int256",
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
internalType: "uint256",
|
|
498
|
+
name: "oracleRate",
|
|
499
|
+
type: "uint256",
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
internalType: "int256",
|
|
503
|
+
name: "scalarRoot",
|
|
504
|
+
type: "int256",
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
internalType: "uint256",
|
|
508
|
+
name: "feeRateRoot",
|
|
509
|
+
type: "uint256",
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
internalType: "uint256",
|
|
513
|
+
name: "rateOracleTimeWindow",
|
|
514
|
+
type: "uint256",
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
internalType: "uint256",
|
|
518
|
+
name: "expiry",
|
|
519
|
+
type: "uint256",
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
internalType: "int256",
|
|
523
|
+
name: "reserveFeePercent",
|
|
524
|
+
type: "int256",
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
internalType: "uint256",
|
|
528
|
+
name: "lastImpliedRate",
|
|
529
|
+
type: "uint256",
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
internalType: "uint256",
|
|
533
|
+
name: "lastTradeTime",
|
|
534
|
+
type: "uint256",
|
|
535
|
+
},
|
|
536
|
+
],
|
|
537
|
+
internalType: "struct MarketParameters",
|
|
538
|
+
name: "market",
|
|
539
|
+
type: "tuple",
|
|
540
|
+
},
|
|
541
|
+
],
|
|
542
|
+
stateMutability: "view",
|
|
543
|
+
type: "function",
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
inputs: [],
|
|
547
|
+
name: "readTokens",
|
|
548
|
+
outputs: [
|
|
549
|
+
{
|
|
550
|
+
internalType: "contract ISuperComposableYield",
|
|
551
|
+
name: "_SCY",
|
|
552
|
+
type: "address",
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
internalType: "contract IPOwnershipToken",
|
|
556
|
+
name: "_OT",
|
|
557
|
+
type: "address",
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
internalType: "contract IPYieldToken",
|
|
561
|
+
name: "_YT",
|
|
562
|
+
type: "address",
|
|
563
|
+
},
|
|
564
|
+
],
|
|
565
|
+
stateMutability: "view",
|
|
566
|
+
type: "function",
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
inputs: [],
|
|
570
|
+
name: "redeemScyReward",
|
|
571
|
+
outputs: [
|
|
572
|
+
{
|
|
573
|
+
internalType: "uint256[]",
|
|
574
|
+
name: "outAmounts",
|
|
575
|
+
type: "uint256[]",
|
|
576
|
+
},
|
|
577
|
+
],
|
|
578
|
+
stateMutability: "nonpayable",
|
|
579
|
+
type: "function",
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
inputs: [
|
|
583
|
+
{
|
|
584
|
+
internalType: "address",
|
|
585
|
+
name: "receiver",
|
|
586
|
+
type: "address",
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
internalType: "uint256",
|
|
590
|
+
name: "lpToRemove",
|
|
591
|
+
type: "uint256",
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
internalType: "bytes",
|
|
595
|
+
name: "data",
|
|
596
|
+
type: "bytes",
|
|
597
|
+
},
|
|
598
|
+
],
|
|
599
|
+
name: "removeLiquidity",
|
|
600
|
+
outputs: [
|
|
601
|
+
{
|
|
602
|
+
internalType: "uint256",
|
|
603
|
+
name: "scyToAccount",
|
|
604
|
+
type: "uint256",
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
internalType: "uint256",
|
|
608
|
+
name: "otToAccount",
|
|
609
|
+
type: "uint256",
|
|
610
|
+
},
|
|
611
|
+
],
|
|
612
|
+
stateMutability: "nonpayable",
|
|
613
|
+
type: "function",
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
inputs: [],
|
|
617
|
+
name: "reserveFeePercent",
|
|
618
|
+
outputs: [
|
|
619
|
+
{
|
|
620
|
+
internalType: "int8",
|
|
621
|
+
name: "",
|
|
622
|
+
type: "int8",
|
|
623
|
+
},
|
|
624
|
+
],
|
|
625
|
+
stateMutability: "view",
|
|
626
|
+
type: "function",
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
inputs: [],
|
|
630
|
+
name: "scalarRoot",
|
|
631
|
+
outputs: [
|
|
632
|
+
{
|
|
633
|
+
internalType: "int256",
|
|
634
|
+
name: "",
|
|
635
|
+
type: "int256",
|
|
636
|
+
},
|
|
637
|
+
],
|
|
638
|
+
stateMutability: "view",
|
|
639
|
+
type: "function",
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
inputs: [
|
|
643
|
+
{
|
|
644
|
+
internalType: "address",
|
|
645
|
+
name: "receiver",
|
|
646
|
+
type: "address",
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
internalType: "uint256",
|
|
650
|
+
name: "exactOtIn",
|
|
651
|
+
type: "uint256",
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
internalType: "uint256",
|
|
655
|
+
name: "minScyOut",
|
|
656
|
+
type: "uint256",
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
internalType: "bytes",
|
|
660
|
+
name: "data",
|
|
661
|
+
type: "bytes",
|
|
662
|
+
},
|
|
663
|
+
],
|
|
664
|
+
name: "swapExactOtForScy",
|
|
665
|
+
outputs: [
|
|
666
|
+
{
|
|
667
|
+
internalType: "uint256",
|
|
668
|
+
name: "netScyOut",
|
|
669
|
+
type: "uint256",
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
internalType: "uint256",
|
|
673
|
+
name: "netScyToReserve",
|
|
674
|
+
type: "uint256",
|
|
675
|
+
},
|
|
676
|
+
],
|
|
677
|
+
stateMutability: "nonpayable",
|
|
678
|
+
type: "function",
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
inputs: [
|
|
682
|
+
{
|
|
683
|
+
internalType: "address",
|
|
684
|
+
name: "receiver",
|
|
685
|
+
type: "address",
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
internalType: "uint256",
|
|
689
|
+
name: "exactOtOut",
|
|
690
|
+
type: "uint256",
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
internalType: "uint256",
|
|
694
|
+
name: "maxScyIn",
|
|
695
|
+
type: "uint256",
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
internalType: "bytes",
|
|
699
|
+
name: "data",
|
|
700
|
+
type: "bytes",
|
|
701
|
+
},
|
|
702
|
+
],
|
|
703
|
+
name: "swapScyForExactOt",
|
|
704
|
+
outputs: [
|
|
705
|
+
{
|
|
706
|
+
internalType: "uint256",
|
|
707
|
+
name: "netScyIn",
|
|
708
|
+
type: "uint256",
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
internalType: "uint256",
|
|
712
|
+
name: "netScyToReserve",
|
|
713
|
+
type: "uint256",
|
|
714
|
+
},
|
|
715
|
+
],
|
|
716
|
+
stateMutability: "nonpayable",
|
|
717
|
+
type: "function",
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
inputs: [],
|
|
721
|
+
name: "symbol",
|
|
722
|
+
outputs: [
|
|
723
|
+
{
|
|
724
|
+
internalType: "string",
|
|
725
|
+
name: "",
|
|
726
|
+
type: "string",
|
|
727
|
+
},
|
|
728
|
+
],
|
|
729
|
+
stateMutability: "view",
|
|
730
|
+
type: "function",
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
inputs: [],
|
|
734
|
+
name: "timeCreated",
|
|
735
|
+
outputs: [
|
|
736
|
+
{
|
|
737
|
+
internalType: "uint256",
|
|
738
|
+
name: "",
|
|
739
|
+
type: "uint256",
|
|
740
|
+
},
|
|
741
|
+
],
|
|
742
|
+
stateMutability: "view",
|
|
743
|
+
type: "function",
|
|
744
|
+
},
|
|
745
|
+
{
|
|
746
|
+
inputs: [],
|
|
747
|
+
name: "totalSupply",
|
|
748
|
+
outputs: [
|
|
749
|
+
{
|
|
750
|
+
internalType: "uint256",
|
|
751
|
+
name: "",
|
|
752
|
+
type: "uint256",
|
|
753
|
+
},
|
|
754
|
+
],
|
|
755
|
+
stateMutability: "view",
|
|
756
|
+
type: "function",
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
inputs: [
|
|
760
|
+
{
|
|
761
|
+
internalType: "address",
|
|
762
|
+
name: "to",
|
|
763
|
+
type: "address",
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
internalType: "uint256",
|
|
767
|
+
name: "amount",
|
|
768
|
+
type: "uint256",
|
|
769
|
+
},
|
|
770
|
+
],
|
|
771
|
+
name: "transfer",
|
|
772
|
+
outputs: [
|
|
773
|
+
{
|
|
774
|
+
internalType: "bool",
|
|
775
|
+
name: "",
|
|
776
|
+
type: "bool",
|
|
777
|
+
},
|
|
778
|
+
],
|
|
779
|
+
stateMutability: "nonpayable",
|
|
780
|
+
type: "function",
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
inputs: [
|
|
784
|
+
{
|
|
785
|
+
internalType: "address",
|
|
786
|
+
name: "from",
|
|
787
|
+
type: "address",
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
internalType: "address",
|
|
791
|
+
name: "to",
|
|
792
|
+
type: "address",
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
internalType: "uint256",
|
|
796
|
+
name: "amount",
|
|
797
|
+
type: "uint256",
|
|
798
|
+
},
|
|
799
|
+
],
|
|
800
|
+
name: "transferFrom",
|
|
801
|
+
outputs: [
|
|
802
|
+
{
|
|
803
|
+
internalType: "bool",
|
|
804
|
+
name: "",
|
|
805
|
+
type: "bool",
|
|
806
|
+
},
|
|
807
|
+
],
|
|
808
|
+
stateMutability: "nonpayable",
|
|
809
|
+
type: "function",
|
|
810
|
+
},
|
|
811
|
+
];
|
|
812
|
+
|
|
813
|
+
const _bytecode =
|
|
814
|
+
"0x6102006040523480156200001257600080fd5b50604051620047d0380380620047d08339810160408190526200003591620003d9565b6040518060400160405280600d81526020016c14195b991b194813585c9ad95d609a1b8152506040518060400160405280600a8152602001691411539113114b53141560b21b8152506012886001600160a01b031663e184c9be6040518163ffffffff1660e01b815260040160206040518083038186803b158015620000ba57600080fd5b505afa158015620000cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f591906200043f565b8351849084906200010e90600390602085019062000316565b5080516200012490600490602084019062000316565b5050504281116200016d5760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f45585049525960901b60448201526064015b60405180910390fd5b60ff9091166080524260a05260c05250503360e05260016005556001600160a01b038616610100819052604080516323dfd63160e11b815290516347bfac6291600480820192602092909190829003018186803b158015620001ce57600080fd5b505afa158015620001e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000209919062000459565b6001600160a01b0316610120816001600160a01b031681525050856001600160a01b031663781c18db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025d57600080fd5b505afa15801562000272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000298919062000459565b6001600160a01b0316610140526101808490526101608390526101c0859052606460ff82161115620003005760405162461bcd60e51b815260206004820152601060248201526f696e76616c696420666565207261746560801b604482015260640162000164565b60000b6101e0526101a05250620004bb92505050565b82805462000324906200047e565b90600052602060002090601f01602090048101928262000348576000855562000393565b82601f106200036357805160ff191683800117855562000393565b8280016001018555821562000393579182015b828111156200039357825182559160200191906001019062000376565b50620003a1929150620003a5565b5090565b5b80821115620003a15760008155600101620003a6565b80516001600160a01b0381168114620003d457600080fd5b919050565b60008060008060008060c08789031215620003f357600080fd5b620003fe87620003bc565b95506020870151945060408701519350606087015192506080870151915060a087015160ff811681146200043157600080fd5b809150509295509295509295565b6000602082840312156200045257600080fd5b5051919050565b6000602082840312156200046c57600080fd5b6200047782620003bc565b9392505050565b600181811c908216806200049357607f821691505b60208210811415620004b557634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516141bf6200061160003960008181610224015261082f0152600081816101c001526108a50152600081816106300152610e6d0152600081816101f5015261087f0152600081816105bb0152610859015260008181610369015261054001526000818161031c0152818161048d0152818161092301528181610b3101528181610c7b01528181610d2b01528181610e2301528181610fd4015281816110e30152818161125301526112d90152600081816103410152818161060901528181610bb601528181610f220152818161111701526113e50152600081816105e20152818161095301528181610be2015261130501526000818161039a0152818161066a015281816108cb01528181610ae0015261120201526000610691015260006103c801526141bf6000f3fe608060405234801561001057600080fd5b50600436106101755760003560e01c806306fdde031461017a578063095ea7b314610198578063156d8be3146101bb5780631648b34e146101f057806318160ddd146102175780631feec2441461021f57806323b872dd146102595780632778c3341461026c5780632b20096c146102f95780632c8ce6bc1461030e5780632f13b60c14610398578063313ce567146103c157806339509351146103f257806341af07091461040557806347bfac62146104885780634f7b3d2f146104bc5780635308fcb1146104e457806370a0823114610512578063781c18db1461053b578063863cb94e1461056257806395d89b411461057557806399bc99981461057d578063a457c2d714610590578063a9059cbb146105a3578063af247da3146105b6578063c45a0155146105dd578063c836545a14610604578063db3aa5d01461062b578063dd62ed3e14610652578063e184c9be14610665578063f1653f6e1461068c575b600080fd5b6101826106b3565b60405161018f9190613aa6565b60405180910390f35b6101ab6101a6366004613af1565b610745565b604051901515815260200161018f565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161018f565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6002546101e2565b6102467f000000000000000000000000000000000000000000000000000000000000000081565b60405160009190910b815260200161018f565b6101ab610267366004613b1d565b61075f565b610274610785565b60405161018f9190600061016082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525092915050565b61030161091f565b60405161018f9190613b5e565b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f0000000000000000000000000000000000000000000000000000000000000000811660208301527f0000000000000000000000000000000000000000000000000000000000000000169181019190915260600161018f565b7f00000000000000000000000000000000000000000000000000000000000000004210156101ab565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161018f565b6101ab610400366004613af1565b610a6b565b60065460075461044791600f81810b92600160801b909204900b906001600160701b0380821691600160701b810490911690600160e01b900463ffffffff1685565b60408051600f96870b81529490950b60208501526001600160701b039283169484019490945216606082015263ffffffff909116608082015260a00161018f565b6104af7f000000000000000000000000000000000000000000000000000000000000000081565b60405161018f9190613ba2565b6104cf6104ca366004613bfe565b610aaa565b6040805192835260208301919091520161018f565b6104f76104f2366004613bfe565b610de3565b6040805193845260208401929092529082015260600161018f565b6101e2610520366004613c67565b6001600160a01b031660009081526020819052604090205490565b6104af7f000000000000000000000000000000000000000000000000000000000000000081565b6104cf610570366004613c84565b611090565b6101826111c6565b6104cf61058b366004613bfe565b6111d5565b6101ab61059e366004613af1565b611475565b6101ab6105b1366004613af1565b611512565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6104af7f000000000000000000000000000000000000000000000000000000000000000081565b6104af7f000000000000000000000000000000000000000000000000000000000000000081565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6101e2610660366004613cdf565b611520565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6101e27f000000000000000000000000000000000000000000000000000000000000000081565b6060600380546106c290613d18565b80601f01602080910402602001604051908101604052809291908181526020018280546106ee90613d18565b801561073b5780601f106107105761010080835404028352916020019161073b565b820191906000526020600020905b81548152906001019060200180831161071e57829003601f168201915b5050505050905090565b60003361075381858561154b565b60019150505b92915050565b60003361076d85828561166f565b6107788585856116e9565b60019150505b9392505050565b6107e260405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60068054600f81810b8452600160801b909104900b602083015261080d61080860025490565b6118a5565b604083015260018101546001600160701b03600160701b8204811660608501527f000000000000000000000000000000000000000000000000000000000000000060000b6101008501527f000000000000000000000000000000000000000000000000000000000000000060808501527f000000000000000000000000000000000000000000000000000000000000000060a08501527f000000000000000000000000000000000000000000000000000000000000000060c08501527f000000000000000000000000000000000000000000000000000000000000000060e0850152811661012084015263ffffffff600160e01b909104811661014084015261091a90839042906118bf16565b505090565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639a9c1db4307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b1580156109aa57600080fd5b505afa1580156109be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e29190613d53565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610a2a57600080fd5b505af1158015610a3e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a669190810190613d86565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906107539082908690610aa5908790613e4d565b61154b565b60008060026005541415610ad95760405162461bcd60e51b8152600401610ad090613e65565b60405180910390fd5b60026005557f00000000000000000000000000000000000000000000000000000000000000004210610b1d5760405162461bcd60e51b8152600401610ad090613e9c565b6000610b27610785565b9050610b5e610b557f000000000000000000000000000000000000000000000000000000000000000061198d565b82908942611a02565b909350915085831115610ba95760405162461bcd60e51b81526020600482015260136024820152721cd8de481a5b88195e18d95959081b1a5b5a5d606a1b6044820152606401610ad0565b610bdd6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168989611a49565b610ca27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3957600080fd5b505afa158015610c4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c719190613d53565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084611a49565b8315610d14573363fa483e72610cb7896118a5565b610cc086611aa0565b88886040518563ffffffff1660e01b8152600401610ce19493929190613eed565b600060405180830381600087803b158015610cfb57600080fd5b505af1158015610d0f573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610d60903090600401613ba2565b60206040518083038186803b158015610d7857600080fd5b505afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190613f0d565b610dbd8260200151611ab4565b1115610dc857600080fd5b610dd181611ac3565b50600160055590969095509350505050565b600080600060026005541415610e0b5760405162461bcd60e51b8152600401610ad090613e65565b60026005556000610e1a610785565b90506000610e477f000000000000000000000000000000000000000000000000000000000000000061198d565b90506000610e5783838c8c611bad565b9198509650945090508015610e9d57610e9283837f000000000000000000000000000000000000000000000000000000000000000042611c18565b610e9d600182611c67565b610ea78b87611c67565b8615610f0b5760405163096006e960e11b815233906312c00dd290610ed8908990899089908e908e90600401613f26565b600060405180830381600087803b158015610ef257600080fd5b505af1158015610f06573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610f57903090600401613ba2565b60206040518083038186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa79190613f0d565b8351610fb290611ab4565b1115610fbd57600080fd5b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190611009903090600401613ba2565b60206040518083038186803b15801561102157600080fd5b505afa158015611035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110599190613f0d565b6110668460200151611ab4565b111561107157600080fd5b61107a83611ac3565b5050506001600581905550955095509592505050565b600080600260055414156110b65760405162461bcd60e51b8152600401610ad090613e65565b600260055560006110c5610785565b90506110d18187611d34565b909350915061110a6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168885611a49565b61113e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168884611a49565b83156111a25760405163c70cd41360e01b8152339063c70cd4139061116f908990879087908b908b90600401613f26565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b505050505b6111ac3087611d6f565b6111b581611ac3565b506001600555909590945092505050565b6060600480546106c290613d18565b600080600260055414156111fb5760405162461bcd60e51b8152600401610ad090613e65565b60026005557f0000000000000000000000000000000000000000000000000000000000000000421061123f5760405162461bcd60e51b8152600401610ad090613e9c565b6000611249610785565b90506112806112777f000000000000000000000000000000000000000000000000000000000000000061198d565b82908942611eab565b9093509150858310156112cc5760405162461bcd60e51b81526020600482015260146024820152731a5b9cdd59999a58da595b9d081cd8de481bdd5d60621b6044820152606401610ad0565b6113006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168985611a49565b61135c7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3957600080fd5b83156113ce573363fa483e7261137189611aa0565b61137a866118a5565b88886040518563ffffffff1660e01b815260040161139b9493929190613eed565b600060405180830381600087803b1580156113b557600080fd5b505af11580156113c9573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061141a903090600401613ba2565b60206040518083038186803b15801561143257600080fd5b505afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146a9190613f0d565b8151610dbd90611ab4565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156114fa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ad0565b611507828686840361154b565b506001949350505050565b6000336107538185856116e9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166115ad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ad0565b6001600160a01b03821661160e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ad0565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061167b8484611520565b905060001981146116e357818110156116d65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610ad0565b6116e3848484840361154b565b50505050565b6001600160a01b03831661174d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ad0565b6001600160a01b0382166117af5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ad0565b6001600160a01b038316600090815260208190526040902054818110156118275760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ad0565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061185e908490613e4d565b92505081905550826001600160a01b0316846001600160a01b031660008051602061416a8339815191528460405161189891815260200190565b60405180910390a36116e3565b60006001600160ff1b038211156118bb57600080fd5b5090565b60008183610140015111156118e1575061012082015160608301819052610759565b6000836101400151836118f49190613f4c565b90508360c0015181111561191657505061012082015160608301819052610759565b600061192f8560c0015183611ecc90919063ffffffff16565b9050600061194582670de0b6b3a7640000613f4c565b90506000611960828860600151611f0390919063ffffffff16565b6101408801516119709085611f03565b61197a9190613e4d565b6060880181905294505050505092915050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119ca57600080fd5b505af11580156119de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107599190613f0d565b600080600080611a1c8888611a16896118a5565b88611f2c565b91509150611a31611a2c836120d0565b611ab4565b9350611a3c81611ab4565b9250505094509492505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611a9b9084906120db565b505050565b6000611aab826118a5565b61075990613f63565b6000808212156118bb57600080fd5b8051600690611ad1906121ad565b81546001600160801b0319166001600160801b03919091161781556020820151611afa906121ad565b81546001600160801b03918216600160801b029116178155610120820151611b21906121d0565b6001820180546001600160701b0319166001600160701b03929092169190911790556060820151611b51906121d0565b81600101600e6101000a8154816001600160701b0302191690836001600160701b03160217905550611b878261014001516121e6565b81600101601c6101000a81548163ffffffff021916908363ffffffff1602179055505050565b600080600080600080600080611bd58c8c611bc78d6118a5565b611bd08d6118a5565b6121f9565b9350935093509350611be684611ab4565b9750611bf183611ab4565b9650611bfc82611ab4565b9550611c0781611ab4565b945050505050945094509450949050565b6000611c318560200151856123a590919063ffffffff16565b9050611c57856000015182876080015186868a60e00151611c529190613f4c565b6123dc565b6101209095019490945250505050565b6001600160a01b038216611cbd5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610ad0565b8060026000828254611ccf9190613e4d565b90915550506001600160a01b03821660009081526020819052604081208054839290611cfc908490613e4d565b90915550506040518181526001600160a01b0383169060009060008051602061416a8339815191529060200160405180910390a35050565b600080600080611d4c86611d47876118a5565b61242f565b91509150611d5982611ab4565b9350611d6481611ab4565b925050509250929050565b6001600160a01b038216611dcf5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610ad0565b6001600160a01b03821660009081526020819052604090205481811015611e435760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610ad0565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611e72908490613f4c565b90915550506040518281526000906001600160a01b0385169060008051602061416a8339815191529060200160405180910390a3505050565b600080600080611ebf8888611a1689611aa0565b91509150611a3182611ab4565b600082611edb57506000610759565b6000611eef670de0b6b3a764000085613f80565b9050611efb8382613fb5565b915050610759565b600080611f108385613f80565b9050611f24670de0b6b3a764000082613fb5565b949350505050565b6000808560e001518310611f525760405162461bcd60e51b8152600401610ad090613e9c565b611f846040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b838760e00151611f949190613f4c565b815286518512611fdf5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401610ad0565b611fee878783600001516124f5565b60608401819052604084018290526020840183905289516120129390929189612559565b608082015260408051606081018252600080825260208201819052918101919091526120528860a0015183608001518885600001518c61010001516125ed565b604084015260208301528152875161206a90876126ef565b80895260208201516040840151612096929161208591613fc9565b6020850151606086015186516123dc565b61012089018190526120a757600080fd5b6120c188888360000151846020015185604001518a612736565b90999098509650505050505050565b600061075982613f63565b6000612130826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127879092919063ffffffff16565b805190915015611a9b578080602001905181019061214e919061400a565b611a9b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ad0565b6000816000131580156121c7575060016001607f1b038213155b6118bb57600080fd5b60006001600160701b038211156118bb57600080fd5b600063ffffffff8211156118bb57600080fd5b60008060008060008613801561220f5750600085135b61224a5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401610ad0565b604088015161227b576122696103e861226389896123a5565b906126ef565b92506103e89350859150849050612303565b875160408901516122be9190612291908861402c565b61229b91906140b1565b60208a015160408b01516122af908a61402c565b6122b991906140b1565b612796565b925087604001518389602001516122d5919061402c565b6122df91906140b1565b915087604001518389600001516122f6919061402c565b61230091906140b1565b90505b81886020018181516123159190613fc9565b905250875181908990612329908390613fc9565b9052506123368484613fc9565b886040018181516123479190613fc9565b9052506000831361239a5760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401610ad0565b945094509450949050565b600080600083126123b75760016123bb565b6000195b90506123d2610808856123cd866127ac565b6127c3565b611f24908261402c565b6000806123ed878787876000612559565b905060006123fd611a2c836127e2565b90508361240f62015180610168613f80565b6124199083613f80565b6124239190613fb5565b98975050505050505050565b600080600083136124765760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401610ad0565b6040840151602085015161248a908561402c565b61249491906140b1565b60408501518551919350906124a9908561402c565b6124b391906140b1565b60408501519091506124c590846126ef565b604085015283516124d690826126ef565b845260208401516124e790836126ef565b602090940193909352929050565b6000806000612504868561288d565b925061251d8660200151866123a590919063ffffffff16565b86519092501580159061252f57508115155b61253857600080fd5b61254e866000015187610120015184868861290c565b905093509350939050565b60008061256687846126ef565b9050600061257e612577888a613fc9565b8390612989565b9050670d529ae9e860000081131561259557600080fd5b60006125a0826129c1565b9050856125ad8289612989565b6125b79190613fc9565b9350670de0b6b3a76400008412156125e15760405162461bcd60e51b8152600401610ad0906140df565b50505095945050505050565b60008080806126046125ff888a612989565b6120d0565b905060006126128a88612a01565b905060008813156126775760006126298a83612989565b9050670de0b6b3a76400008112156126535760405162461bcd60e51b8152600401610ad0906140df565b61266f61266883670de0b6b3a764000061410e565b8490612a3a565b9150506126a4565b6126a18161268d81670de0b6b3a764000061410e565b612697908561402c565b6125ff91906140b1565b90505b60646126b0878361402c565b6126ba91906140b1565b92506126c6818361410e565b94506126e0836126d6838561410e565b6125ff9190613fc9565b93505050955095509592505050565b60008183121561272c5760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401610ad0565b61077e828461410e565b600080806127448887612a64565b90508089602001516127569190613fc9565b60208a0152610140890184905261276d8886612a64565b91506127798888612a64565b925050965096945050505050565b6060611f248484600085612a91565b60008183126127a5578161077e565b5090919050565b60008082136118bb576127be82613f63565b610759565b6000670de0b6b3a76400006127d88484613f80565b61077e9190613fb5565b60008082136128235760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610ad0565b8161283e67016345785d8a0000670de0b6b3a764000061410e565b1280156128635750612860670de0b6b3a764000067016345785d8a0000613fc9565b82125b1561288457670de0b6b3a764000061287a83612bc2565b61075991906140b1565b61075982612e03565b6000612898826118a5565b6128aa61080862015180610168613f80565b84608001516128b9919061402c565b6128c391906140b1565b9050600081136107595760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401610ad0565b6000806129198684612a01565b9050670de0b6b3a76400008112156129435760405162461bcd60e51b8152600401610ad0906140df565b6000612959612952878a613fc9565b8990612989565b90506000612966826129c1565b90506129728187612989565b61297c908461410e565b9998505050505050505050565b60008261299857506000610759565b60006129ab670de0b6b3a76400006118a5565b6129b5908561402c565b9050611efb83826140b1565b6000670de0b6b3a76400008214156129d857600080fd5b60006129f66129ef84670de0b6b3a764000061410e565b8490612989565b905061077e816127e2565b600080612a1362015180610168613f80565b612a1d8486613f80565b612a279190613fb5565b9050611f24612a35826118a5565b6133d1565b600080612a47838561402c565b9050612a5a670de0b6b3a76400006118a5565b611f2490826140b1565b60008060008312612a76576001612a7a565b6000195b90506123d261080885612a8c866127ac565b613a2c565b606082471015612af25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610ad0565b6001600160a01b0385163b612b495760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ad0565b600080866001600160a01b03168587604051612b65919061414d565b60006040518083038185875af1925050503d8060008114612ba2576040519150601f19603f3d011682016040523d82523d6000602084013e612ba7565b606091505b5091509150612bb7828286613a41565b979650505050505050565b6000612bd6670de0b6b3a76400008361402c565b91506000612bf26a0c097ce7bc90715b34b9f160241b84613fc9565b6a0c097ce7bc90715b34b9f160241b612c0b818661410e565b612c15919061402c565b612c1f91906140b1565b905060006a0c097ce7bc90715b34b9f160241b612c3c838061402c565b612c4691906140b1565b905081806a0c097ce7bc90715b34b9f160241b612c63848361402c565b612c6d91906140b1565b9150612c7a6003836140b1565b612c849082613fc9565b90506a0c097ce7bc90715b34b9f160241b612c9f848461402c565b612ca991906140b1565b9150612cb66005836140b1565b612cc09082613fc9565b90506a0c097ce7bc90715b34b9f160241b612cdb848461402c565b612ce591906140b1565b9150612cf26007836140b1565b612cfc9082613fc9565b90506a0c097ce7bc90715b34b9f160241b612d17848461402c565b612d2191906140b1565b9150612d2e6009836140b1565b612d389082613fc9565b90506a0c097ce7bc90715b34b9f160241b612d53848461402c565b612d5d91906140b1565b9150612d6a600b836140b1565b612d749082613fc9565b90506a0c097ce7bc90715b34b9f160241b612d8f848461402c565b612d9991906140b1565b9150612da6600d836140b1565b612db09082613fc9565b90506a0c097ce7bc90715b34b9f160241b612dcb848461402c565b612dd591906140b1565b9150612de2600f836140b1565b612dec9082613fc9565b9050612df981600261402c565b9695505050505050565b6000670de0b6b3a7640000821215612e3a57611aab82612e2b670de0b6b3a76400008061402c565b612e3591906140b1565b612e03565b6000612e64670de0b6b3a764000072195e54c5dd42177f53a27172fa9ec63026282760241b61402c565b8312612ea257612e8a72195e54c5dd42177f53a27172fa9ec63026282760241b846140b1565b9250612e9f6806f05b59d3b200000082613fc9565b90505b612ec0670de0b6b3a76400006b1425982cf597cd205cef738061402c565b8312612ef457612edc6b1425982cf597cd205cef7380846140b1565b9250612ef16803782dace9d900000082613fc9565b90505b612eff60648261402c565b9050612f0c60648461402c565b92506e01855144814a7ff805980ff00840008312612f69576e01855144814a7ff805980ff0084000612f4768056bc75e2d631000008561402c565b612f5191906140b1565b9250612f6668ad78ebc5ac6200000082613fc9565b90505b6b02df0ab5a80a22c61ab5a7008312612fbe576b02df0ab5a80a22c61ab5a700612f9c68056bc75e2d631000008561402c565b612fa691906140b1565b9250612fbb6856bc75e2d63100000082613fc9565b90505b693f1fce3da636ea5cf850831261300f57693f1fce3da636ea5cf850612fed68056bc75e2d631000008561402c565b612ff791906140b1565b925061300c682b5e3af16b1880000082613fc9565b90505b690127fa27722cc06cc5e2831261306057690127fa27722cc06cc5e261303e68056bc75e2d631000008561402c565b61304891906140b1565b925061305d6815af1d78b58c40000082613fc9565b90505b68280e60114edb805d0383126130af5768280e60114edb805d0361308d68056bc75e2d631000008561402c565b61309791906140b1565b92506130ac680ad78ebc5ac620000082613fc9565b90505b680ebc5fb4174612111083126130fe57680ebc5fb417461211106130dc68056bc75e2d631000008561402c565b6130e691906140b1565b92506130fb68056bc75e2d6310000082613fc9565b90505b6808f00f760a4b2db55d831261314d576808f00f760a4b2db55d61312b68056bc75e2d631000008561402c565b61313591906140b1565b925061314a6802b5e3af16b188000082613fc9565b90505b6806f5f1775788937937831261319c576806f5f177578893793761317a68056bc75e2d631000008561402c565b61318491906140b1565b925061319968015af1d78b58c4000082613fc9565b90505b6806248f33704b28660383126131ea576806248f33704b2866036131c968056bc75e2d631000008561402c565b6131d391906140b1565b92506131e767ad78ebc5ac62000082613fc9565b90505b6805c548670b9510e7ac8312613238576805c548670b9510e7ac61321768056bc75e2d631000008561402c565b61322191906140b1565b92506132356756bc75e2d631000082613fc9565b90505b600061324d68056bc75e2d6310000085613fc9565b68056bc75e2d63100000613261818761410e565b61326b919061402c565b61327591906140b1565b9050600068056bc75e2d6310000061328d838061402c565b61329791906140b1565b9050818068056bc75e2d631000006132af848361402c565b6132b991906140b1565b91506132c66003836140b1565b6132d09082613fc9565b905068056bc75e2d631000006132e6848461402c565b6132f091906140b1565b91506132fd6005836140b1565b6133079082613fc9565b905068056bc75e2d6310000061331d848461402c565b61332791906140b1565b91506133346007836140b1565b61333e9082613fc9565b905068056bc75e2d63100000613354848461402c565b61335e91906140b1565b915061336b6009836140b1565b6133759082613fc9565b905068056bc75e2d6310000061338b848461402c565b61339591906140b1565b91506133a2600b836140b1565b6133ac9082613fc9565b90506133b960028261402c565b905060646133c78287613fc9565b612bb791906140b1565b6000680238fd42c5cf03ffff1982121580156133f6575068070c1cc73b00c800008213155b6134355760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610ad0565b600082121561345c5761344a612a3583613f63565b61287a670de0b6b3a76400008061402c565b60006806f05b59d3b200000083126134a1576134816806f05b59d3b20000008461410e565b925072195e54c5dd42177f53a27172fa9ec63026282760241b90506134de565b6803782dace9d900000083126134da576134c46803782dace9d90000008461410e565b92506b1425982cf597cd205cef738090506134de565b5060015b6134e960648461402c565b925068056bc75e2d6310000068ad78ebc5ac62000000841261354a5761351868ad78ebc5ac620000008561410e565b935068056bc75e2d6310000061353d6e01855144814a7ff805980ff00840008361402c565b61354791906140b1565b90505b6856bc75e2d631000000841261359c5761356d6856bc75e2d6310000008561410e565b935068056bc75e2d6310000061358f6b02df0ab5a80a22c61ab5a7008361402c565b61359991906140b1565b90505b682b5e3af16b1880000084126135ec576135bf682b5e3af16b188000008561410e565b935068056bc75e2d631000006135df693f1fce3da636ea5cf8508361402c565b6135e991906140b1565b90505b6815af1d78b58c400000841261363c5761360f6815af1d78b58c4000008561410e565b935068056bc75e2d6310000061362f690127fa27722cc06cc5e28361402c565b61363991906140b1565b90505b680ad78ebc5ac6200000841261368b5761365f680ad78ebc5ac62000008561410e565b935068056bc75e2d6310000061367e68280e60114edb805d038361402c565b61368891906140b1565b90505b68056bc75e2d6310000084126136da576136ae68056bc75e2d631000008561410e565b935068056bc75e2d631000006136cd680ebc5fb417461211108361402c565b6136d791906140b1565b90505b6802b5e3af16b18800008412613729576136fd6802b5e3af16b18800008561410e565b935068056bc75e2d6310000061371c6808f00f760a4b2db55d8361402c565b61372691906140b1565b90505b68015af1d78b58c4000084126137785761374c68015af1d78b58c400008561410e565b935068056bc75e2d6310000061376b6806f5f17757889379378361402c565b61377591906140b1565b90505b68056bc75e2d631000008461378d8183613fc9565b9150600268056bc75e2d631000006137a5888461402c565b6137af91906140b1565b6137b991906140b1565b90506137c58183613fc9565b9150600368056bc75e2d631000006137dd888461402c565b6137e791906140b1565b6137f191906140b1565b90506137fd8183613fc9565b9150600468056bc75e2d63100000613815888461402c565b61381f91906140b1565b61382991906140b1565b90506138358183613fc9565b9150600568056bc75e2d6310000061384d888461402c565b61385791906140b1565b61386191906140b1565b905061386d8183613fc9565b9150600668056bc75e2d63100000613885888461402c565b61388f91906140b1565b61389991906140b1565b90506138a58183613fc9565b9150600768056bc75e2d631000006138bd888461402c565b6138c791906140b1565b6138d191906140b1565b90506138dd8183613fc9565b9150600868056bc75e2d631000006138f5888461402c565b6138ff91906140b1565b61390991906140b1565b90506139158183613fc9565b9150600968056bc75e2d6310000061392d888461402c565b61393791906140b1565b61394191906140b1565b905061394d8183613fc9565b9150600a68056bc75e2d63100000613965888461402c565b61396f91906140b1565b61397991906140b1565b90506139858183613fc9565b9150600b68056bc75e2d6310000061399d888461402c565b6139a791906140b1565b6139b191906140b1565b90506139bd8183613fc9565b9150600c68056bc75e2d631000006139d5888461402c565b6139df91906140b1565b6139e991906140b1565b90506139f58183613fc9565b915060648468056bc75e2d63100000613a0e858761402c565b613a1891906140b1565b613a22919061402c565b612df991906140b1565b6000826127d8670de0b6b3a764000084613f80565b60608315613a5057508161077e565b825115613a605782518084602001fd5b8160405162461bcd60e51b8152600401610ad09190613aa6565b60005b83811015613a95578181015183820152602001613a7d565b838111156116e35750506000910152565b6020815260008251806020840152613ac5816040850160208701613a7a565b601f01601f19169190910160400192915050565b6001600160a01b0381168114613aee57600080fd5b50565b60008060408385031215613b0457600080fd5b8235613b0f81613ad9565b946020939093013593505050565b600080600060608486031215613b3257600080fd5b8335613b3d81613ad9565b92506020840135613b4d81613ad9565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b81811015613b9657835183529284019291840191600101613b7a565b50909695505050505050565b6001600160a01b0391909116815260200190565b60008083601f840112613bc857600080fd5b5081356001600160401b03811115613bdf57600080fd5b602083019150836020828501011115613bf757600080fd5b9250929050565b600080600080600060808688031215613c1657600080fd5b8535613c2181613ad9565b9450602086013593506040860135925060608601356001600160401b03811115613c4a57600080fd5b613c5688828901613bb6565b969995985093965092949392505050565b600060208284031215613c7957600080fd5b813561077e81613ad9565b60008060008060608587031215613c9a57600080fd5b8435613ca581613ad9565b93506020850135925060408501356001600160401b03811115613cc757600080fd5b613cd387828801613bb6565b95989497509550505050565b60008060408385031215613cf257600080fd5b8235613cfd81613ad9565b91506020830135613d0d81613ad9565b809150509250929050565b600181811c90821680613d2c57607f821691505b60208210811415613d4d57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215613d6557600080fd5b815161077e81613ad9565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215613d9957600080fd5b82516001600160401b0380821115613db057600080fd5b818501915085601f830112613dc457600080fd5b815181811115613dd657613dd6613d70565b8060051b604051601f19603f83011681018181108582111715613dfb57613dfb613d70565b604052918252848201925083810185019188831115613e1957600080fd5b938501935b8285101561242357845184529385019392850192613e1e565b634e487b7160e01b600052601160045260246000fd5b60008219821115613e6057613e60613e37565b500190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600e908201526d13505492d15517d156141254915160921b604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b848152836020820152606060408201526000612df9606083018486613ec4565b600060208284031215613f1f57600080fd5b5051919050565b858152846020820152836040820152608060608201526000612bb7608083018486613ec4565b600082821015613f5e57613f5e613e37565b500390565b6000600160ff1b821415613f7957613f79613e37565b5060000390565b6000816000190483118215151615613f9a57613f9a613e37565b500290565b634e487b7160e01b600052601260045260246000fd5b600082613fc457613fc4613f9f565b500490565b600080821280156001600160ff1b0384900385131615613feb57613feb613e37565b600160ff1b839003841281161561400457614004613e37565b50500190565b60006020828403121561401c57600080fd5b8151801515811461077e57600080fd5b60006001600160ff1b038184138284138082168684048611161561405257614052613e37565b600160ff1b600087128281168783058912161561407157614071613e37565b6000871292508782058712848416161561408d5761408d613e37565b878505871281841616156140a3576140a3613e37565b505050929093029392505050565b6000826140c0576140c0613f9f565b600160ff1b8214600019841416156140da576140da613e37565b500590565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b85018412161561412c5761412c613e37565b6001600160ff1b038401831381161561414757614147613e37565b50500390565b6000825161415f818460208701613a7a565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c17fde023ecdf5efd1b55bcc31790df616d5a06f0676bb6efc8f23180ae6b10164736f6c63430008090033";
|
|
815
|
+
|
|
816
|
+
type PendleMarketConstructorParams =
|
|
817
|
+
| [signer?: Signer]
|
|
818
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
819
|
+
|
|
820
|
+
const isSuperArgs = (
|
|
821
|
+
xs: PendleMarketConstructorParams
|
|
822
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
823
|
+
|
|
824
|
+
export class PendleMarket__factory extends ContractFactory {
|
|
825
|
+
constructor(...args: PendleMarketConstructorParams) {
|
|
826
|
+
if (isSuperArgs(args)) {
|
|
827
|
+
super(...args);
|
|
828
|
+
} else {
|
|
829
|
+
super(_abi, _bytecode, args[0]);
|
|
830
|
+
}
|
|
831
|
+
this.contractName = "PendleMarket";
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
deploy(
|
|
835
|
+
_OT: string,
|
|
836
|
+
_rateOracleTimeWindow: BigNumberish,
|
|
837
|
+
_feeRateRoot: BigNumberish,
|
|
838
|
+
_scalarRoot: BigNumberish,
|
|
839
|
+
_anchorRoot: BigNumberish,
|
|
840
|
+
_reserveFeePercent: BigNumberish,
|
|
841
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
842
|
+
): Promise<PendleMarket> {
|
|
843
|
+
return super.deploy(
|
|
844
|
+
_OT,
|
|
845
|
+
_rateOracleTimeWindow,
|
|
846
|
+
_feeRateRoot,
|
|
847
|
+
_scalarRoot,
|
|
848
|
+
_anchorRoot,
|
|
849
|
+
_reserveFeePercent,
|
|
850
|
+
overrides || {}
|
|
851
|
+
) as Promise<PendleMarket>;
|
|
852
|
+
}
|
|
853
|
+
getDeployTransaction(
|
|
854
|
+
_OT: string,
|
|
855
|
+
_rateOracleTimeWindow: BigNumberish,
|
|
856
|
+
_feeRateRoot: BigNumberish,
|
|
857
|
+
_scalarRoot: BigNumberish,
|
|
858
|
+
_anchorRoot: BigNumberish,
|
|
859
|
+
_reserveFeePercent: BigNumberish,
|
|
860
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
861
|
+
): TransactionRequest {
|
|
862
|
+
return super.getDeployTransaction(
|
|
863
|
+
_OT,
|
|
864
|
+
_rateOracleTimeWindow,
|
|
865
|
+
_feeRateRoot,
|
|
866
|
+
_scalarRoot,
|
|
867
|
+
_anchorRoot,
|
|
868
|
+
_reserveFeePercent,
|
|
869
|
+
overrides || {}
|
|
870
|
+
);
|
|
871
|
+
}
|
|
872
|
+
attach(address: string): PendleMarket {
|
|
873
|
+
return super.attach(address) as PendleMarket;
|
|
874
|
+
}
|
|
875
|
+
connect(signer: Signer): PendleMarket__factory {
|
|
876
|
+
return super.connect(signer) as PendleMarket__factory;
|
|
877
|
+
}
|
|
878
|
+
static readonly contractName: "PendleMarket";
|
|
879
|
+
public readonly contractName: "PendleMarket";
|
|
880
|
+
static readonly bytecode = _bytecode;
|
|
881
|
+
static readonly abi = _abi;
|
|
882
|
+
static createInterface(): PendleMarketInterface {
|
|
883
|
+
return new utils.Interface(_abi) as PendleMarketInterface;
|
|
884
|
+
}
|
|
885
|
+
static connect(
|
|
886
|
+
address: string,
|
|
887
|
+
signerOrProvider: Signer | Provider
|
|
888
|
+
): PendleMarket {
|
|
889
|
+
return new Contract(address, _abi, signerOrProvider) as PendleMarket;
|
|
890
|
+
}
|
|
891
|
+
}
|