@pendle/core-v2 4.5.2 → 4.6.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.
Files changed (129) hide show
  1. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
  2. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
  3. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +4 -0
  4. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +1070 -0
  5. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +4 -0
  6. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +1144 -0
  7. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +4 -0
  8. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +1111 -0
  9. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +4 -0
  10. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.json +1036 -0
  11. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +4 -0
  12. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +1096 -0
  13. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +4 -0
  14. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +1116 -0
  15. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  16. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  17. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  19. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  21. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  23. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  25. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  27. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  29. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  30. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  31. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  32. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +1200 -34
  33. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  34. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +1228 -62
  35. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +4 -0
  36. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.json +30 -0
  37. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +4 -0
  38. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.json +37 -0
  39. package/build/artifacts/contracts/interfaces/Karak/IKarakVault.sol/IKarakVault.dbg.json +4 -0
  40. package/build/artifacts/contracts/interfaces/Karak/IKarakVault.sol/IKarakVault.json +24 -0
  41. package/build/artifacts/contracts/interfaces/Karak/IKarakVaultSupervisor.sol/IKarakVaultSupervisor.dbg.json +4 -0
  42. package/build/artifacts/contracts/interfaces/Karak/IKarakVaultSupervisor.sol/IKarakVaultSupervisor.json +76 -0
  43. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +25 -2
  45. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  46. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  47. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  48. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  49. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  50. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1202 -36
  51. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  52. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  53. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  54. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  55. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +4 -0
  56. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +34 -0
  57. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  58. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol +32 -0
  59. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol +80 -0
  60. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol +73 -0
  61. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol +141 -0
  62. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol +18 -0
  63. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol +71 -0
  64. package/contracts/interfaces/IERC4626.sol +2 -0
  65. package/contracts/interfaces/IPActionMiscV3.sol +99 -0
  66. package/contracts/interfaces/IPReflector.sol +6 -0
  67. package/contracts/interfaces/IPTokenWithSupplyCap.sol +9 -0
  68. package/contracts/interfaces/Karak/IKarakVault.sol +6 -0
  69. package/contracts/interfaces/Karak/IKarakVaultSupervisor.sol +8 -0
  70. package/contracts/offchain-helpers/PendlePoolDeployHelper.sol +5 -0
  71. package/contracts/router/ActionMiscV3.sol +182 -34
  72. package/contracts/router/ActionSwapYTV3.sol +0 -85
  73. package/contracts/router/Reflector.sol +70 -0
  74. package/contracts/router/base/ActionBase.sol +90 -1
  75. package/deployments/1-core.json +10 -1
  76. package/deployments/1-markets/KARAK-SUSDE-MAINNET-SEP2024.json +14 -0
  77. package/deployments/1-markets/KARAK-USDE-MAINNET-SEP2024.json +14 -0
  78. package/deployments/1-markets/KARAK-WEETH-MAINNET-SEP2024.json +14 -0
  79. package/deployments/10-core.json +10 -1
  80. package/deployments/42161-core.json +10 -1
  81. package/deployments/42161-markets/RSETH-ARBITRUM-SEP2024-NEW.json +11 -0
  82. package/deployments/5000-core.json +10 -1
  83. package/deployments/56-core.json +10 -1
  84. package/package.json +1 -1
  85. package/typechain-types/ActionMiscV3.ts +628 -16
  86. package/typechain-types/IERC4626.ts +34 -0
  87. package/typechain-types/IKarakVault.ts +84 -0
  88. package/typechain-types/IKarakVaultSupervisor.ts +190 -0
  89. package/typechain-types/IPActionMiscV3.ts +628 -16
  90. package/typechain-types/IPAllActionV3.ts +535 -0
  91. package/typechain-types/IPReflector.ts +95 -0
  92. package/typechain-types/IPTokenWithSupplyCap.ts +110 -0
  93. package/typechain-types/PendleKarakVaultERC20SY.ts +1324 -0
  94. package/typechain-types/PendleKarakVaultEzETHSY.ts +1400 -0
  95. package/typechain-types/PendleKarakVaultSUSDESY.ts +1380 -0
  96. package/typechain-types/PendleKarakVaultSYBaseUpg.ts +1312 -0
  97. package/typechain-types/PendleKarakVaultUSDESY.ts +1366 -0
  98. package/typechain-types/PendleKarakVaultWEETHSY.ts +1370 -0
  99. package/typechain-types/PendlePoolDeployHelper.ts +44 -0
  100. package/typechain-types/Reflector.ts +95 -0
  101. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  102. package/typechain-types/factories/ActionMiscV3__factory.ts +1201 -35
  103. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  104. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  105. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  106. package/typechain-types/factories/IKarakVaultSupervisor__factory.ts +95 -0
  107. package/typechain-types/factories/IKarakVault__factory.ts +36 -0
  108. package/typechain-types/factories/IPActionMiscV3__factory.ts +1200 -34
  109. package/typechain-types/factories/IPAllActionV3__factory.ts +1228 -62
  110. package/typechain-types/factories/IPReflector__factory.ts +42 -0
  111. package/typechain-types/factories/IPTokenWithSupplyCap__factory.ts +56 -0
  112. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  113. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  114. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  115. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  116. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1139 -0
  117. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1236 -0
  118. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1180 -0
  119. package/typechain-types/factories/PendleKarakVaultSYBaseUpg__factory.ts +1055 -0
  120. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1165 -0
  121. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1189 -0
  122. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +24 -1
  123. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  124. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  125. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  126. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  127. package/typechain-types/factories/Reflector__factory.ts +84 -0
  128. package/typechain-types/hardhat.d.ts +94 -31
  129. package/typechain-types/index.ts +22 -8
@@ -0,0 +1,1180 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ PendleKarakVaultSUSDESY,
8
+ PendleKarakVaultSUSDESYInterface,
9
+ } from "../PendleKarakVaultSUSDESY";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "_vault",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "_vaultSupervisor",
22
+ type: "address",
23
+ },
24
+ ],
25
+ stateMutability: "nonpayable",
26
+ type: "constructor",
27
+ },
28
+ {
29
+ inputs: [
30
+ {
31
+ internalType: "uint256",
32
+ name: "assetLimit",
33
+ type: "uint256",
34
+ },
35
+ {
36
+ internalType: "uint256",
37
+ name: "totalAsset",
38
+ type: "uint256",
39
+ },
40
+ {
41
+ internalType: "uint256",
42
+ name: "amountAssetToDeposit",
43
+ type: "uint256",
44
+ },
45
+ ],
46
+ name: "KarakVaultAssetLimitExceeded",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [
51
+ {
52
+ internalType: "uint256",
53
+ name: "actualSharesOut",
54
+ type: "uint256",
55
+ },
56
+ {
57
+ internalType: "uint256",
58
+ name: "requiredSharesOut",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ name: "SYInsufficientSharesOut",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [
67
+ {
68
+ internalType: "uint256",
69
+ name: "actualTokenOut",
70
+ type: "uint256",
71
+ },
72
+ {
73
+ internalType: "uint256",
74
+ name: "requiredTokenOut",
75
+ type: "uint256",
76
+ },
77
+ ],
78
+ name: "SYInsufficientTokenOut",
79
+ type: "error",
80
+ },
81
+ {
82
+ inputs: [
83
+ {
84
+ internalType: "address",
85
+ name: "token",
86
+ type: "address",
87
+ },
88
+ ],
89
+ name: "SYInvalidTokenIn",
90
+ type: "error",
91
+ },
92
+ {
93
+ inputs: [
94
+ {
95
+ internalType: "address",
96
+ name: "token",
97
+ type: "address",
98
+ },
99
+ ],
100
+ name: "SYInvalidTokenOut",
101
+ type: "error",
102
+ },
103
+ {
104
+ inputs: [],
105
+ name: "SYZeroDeposit",
106
+ type: "error",
107
+ },
108
+ {
109
+ inputs: [],
110
+ name: "SYZeroRedeem",
111
+ type: "error",
112
+ },
113
+ {
114
+ anonymous: false,
115
+ inputs: [
116
+ {
117
+ indexed: true,
118
+ internalType: "address",
119
+ name: "owner",
120
+ type: "address",
121
+ },
122
+ {
123
+ indexed: true,
124
+ internalType: "address",
125
+ name: "spender",
126
+ type: "address",
127
+ },
128
+ {
129
+ indexed: false,
130
+ internalType: "uint256",
131
+ name: "value",
132
+ type: "uint256",
133
+ },
134
+ ],
135
+ name: "Approval",
136
+ type: "event",
137
+ },
138
+ {
139
+ anonymous: false,
140
+ inputs: [
141
+ {
142
+ indexed: true,
143
+ internalType: "address",
144
+ name: "user",
145
+ type: "address",
146
+ },
147
+ {
148
+ indexed: false,
149
+ internalType: "address[]",
150
+ name: "rewardTokens",
151
+ type: "address[]",
152
+ },
153
+ {
154
+ indexed: false,
155
+ internalType: "uint256[]",
156
+ name: "rewardAmounts",
157
+ type: "uint256[]",
158
+ },
159
+ ],
160
+ name: "ClaimRewards",
161
+ type: "event",
162
+ },
163
+ {
164
+ anonymous: false,
165
+ inputs: [
166
+ {
167
+ indexed: true,
168
+ internalType: "address",
169
+ name: "caller",
170
+ type: "address",
171
+ },
172
+ {
173
+ indexed: true,
174
+ internalType: "address",
175
+ name: "receiver",
176
+ type: "address",
177
+ },
178
+ {
179
+ indexed: true,
180
+ internalType: "address",
181
+ name: "tokenIn",
182
+ type: "address",
183
+ },
184
+ {
185
+ indexed: false,
186
+ internalType: "uint256",
187
+ name: "amountDeposited",
188
+ type: "uint256",
189
+ },
190
+ {
191
+ indexed: false,
192
+ internalType: "uint256",
193
+ name: "amountSyOut",
194
+ type: "uint256",
195
+ },
196
+ ],
197
+ name: "Deposit",
198
+ type: "event",
199
+ },
200
+ {
201
+ anonymous: false,
202
+ inputs: [],
203
+ name: "EIP712DomainChanged",
204
+ type: "event",
205
+ },
206
+ {
207
+ anonymous: false,
208
+ inputs: [
209
+ {
210
+ indexed: false,
211
+ internalType: "uint8",
212
+ name: "version",
213
+ type: "uint8",
214
+ },
215
+ ],
216
+ name: "Initialized",
217
+ type: "event",
218
+ },
219
+ {
220
+ anonymous: false,
221
+ inputs: [
222
+ {
223
+ indexed: true,
224
+ internalType: "address",
225
+ name: "previousOwner",
226
+ type: "address",
227
+ },
228
+ {
229
+ indexed: true,
230
+ internalType: "address",
231
+ name: "newOwner",
232
+ type: "address",
233
+ },
234
+ ],
235
+ name: "OwnershipTransferred",
236
+ type: "event",
237
+ },
238
+ {
239
+ anonymous: false,
240
+ inputs: [
241
+ {
242
+ indexed: false,
243
+ internalType: "address",
244
+ name: "account",
245
+ type: "address",
246
+ },
247
+ ],
248
+ name: "Paused",
249
+ type: "event",
250
+ },
251
+ {
252
+ anonymous: false,
253
+ inputs: [
254
+ {
255
+ indexed: true,
256
+ internalType: "address",
257
+ name: "caller",
258
+ type: "address",
259
+ },
260
+ {
261
+ indexed: true,
262
+ internalType: "address",
263
+ name: "receiver",
264
+ type: "address",
265
+ },
266
+ {
267
+ indexed: true,
268
+ internalType: "address",
269
+ name: "tokenOut",
270
+ type: "address",
271
+ },
272
+ {
273
+ indexed: false,
274
+ internalType: "uint256",
275
+ name: "amountSyToRedeem",
276
+ type: "uint256",
277
+ },
278
+ {
279
+ indexed: false,
280
+ internalType: "uint256",
281
+ name: "amountTokenOut",
282
+ type: "uint256",
283
+ },
284
+ ],
285
+ name: "Redeem",
286
+ type: "event",
287
+ },
288
+ {
289
+ anonymous: false,
290
+ inputs: [
291
+ {
292
+ indexed: true,
293
+ internalType: "address",
294
+ name: "from",
295
+ type: "address",
296
+ },
297
+ {
298
+ indexed: true,
299
+ internalType: "address",
300
+ name: "to",
301
+ type: "address",
302
+ },
303
+ {
304
+ indexed: false,
305
+ internalType: "uint256",
306
+ name: "value",
307
+ type: "uint256",
308
+ },
309
+ ],
310
+ name: "Transfer",
311
+ type: "event",
312
+ },
313
+ {
314
+ anonymous: false,
315
+ inputs: [
316
+ {
317
+ indexed: false,
318
+ internalType: "address",
319
+ name: "account",
320
+ type: "address",
321
+ },
322
+ ],
323
+ name: "Unpaused",
324
+ type: "event",
325
+ },
326
+ {
327
+ inputs: [],
328
+ name: "DOMAIN_SEPARATOR",
329
+ outputs: [
330
+ {
331
+ internalType: "bytes32",
332
+ name: "",
333
+ type: "bytes32",
334
+ },
335
+ ],
336
+ stateMutability: "view",
337
+ type: "function",
338
+ },
339
+ {
340
+ inputs: [
341
+ {
342
+ internalType: "address",
343
+ name: "",
344
+ type: "address",
345
+ },
346
+ ],
347
+ name: "accruedRewards",
348
+ outputs: [
349
+ {
350
+ internalType: "uint256[]",
351
+ name: "rewardAmounts",
352
+ type: "uint256[]",
353
+ },
354
+ ],
355
+ stateMutability: "view",
356
+ type: "function",
357
+ },
358
+ {
359
+ inputs: [
360
+ {
361
+ internalType: "address",
362
+ name: "owner",
363
+ type: "address",
364
+ },
365
+ {
366
+ internalType: "address",
367
+ name: "spender",
368
+ type: "address",
369
+ },
370
+ ],
371
+ name: "allowance",
372
+ outputs: [
373
+ {
374
+ internalType: "uint256",
375
+ name: "",
376
+ type: "uint256",
377
+ },
378
+ ],
379
+ stateMutability: "view",
380
+ type: "function",
381
+ },
382
+ {
383
+ inputs: [
384
+ {
385
+ internalType: "address",
386
+ name: "spender",
387
+ type: "address",
388
+ },
389
+ {
390
+ internalType: "uint256",
391
+ name: "amount",
392
+ type: "uint256",
393
+ },
394
+ ],
395
+ name: "approve",
396
+ outputs: [
397
+ {
398
+ internalType: "bool",
399
+ name: "",
400
+ type: "bool",
401
+ },
402
+ ],
403
+ stateMutability: "nonpayable",
404
+ type: "function",
405
+ },
406
+ {
407
+ inputs: [],
408
+ name: "assetInfo",
409
+ outputs: [
410
+ {
411
+ internalType: "enum IStandardizedYield.AssetType",
412
+ name: "",
413
+ type: "uint8",
414
+ },
415
+ {
416
+ internalType: "address",
417
+ name: "",
418
+ type: "address",
419
+ },
420
+ {
421
+ internalType: "uint8",
422
+ name: "",
423
+ type: "uint8",
424
+ },
425
+ ],
426
+ stateMutability: "view",
427
+ type: "function",
428
+ },
429
+ {
430
+ inputs: [
431
+ {
432
+ internalType: "address",
433
+ name: "account",
434
+ type: "address",
435
+ },
436
+ ],
437
+ name: "balanceOf",
438
+ outputs: [
439
+ {
440
+ internalType: "uint256",
441
+ name: "",
442
+ type: "uint256",
443
+ },
444
+ ],
445
+ stateMutability: "view",
446
+ type: "function",
447
+ },
448
+ {
449
+ inputs: [],
450
+ name: "claimOwnership",
451
+ outputs: [],
452
+ stateMutability: "nonpayable",
453
+ type: "function",
454
+ },
455
+ {
456
+ inputs: [
457
+ {
458
+ internalType: "address",
459
+ name: "",
460
+ type: "address",
461
+ },
462
+ ],
463
+ name: "claimRewards",
464
+ outputs: [
465
+ {
466
+ internalType: "uint256[]",
467
+ name: "rewardAmounts",
468
+ type: "uint256[]",
469
+ },
470
+ ],
471
+ stateMutability: "nonpayable",
472
+ type: "function",
473
+ },
474
+ {
475
+ inputs: [],
476
+ name: "decimals",
477
+ outputs: [
478
+ {
479
+ internalType: "uint8",
480
+ name: "",
481
+ type: "uint8",
482
+ },
483
+ ],
484
+ stateMutability: "view",
485
+ type: "function",
486
+ },
487
+ {
488
+ inputs: [
489
+ {
490
+ internalType: "address",
491
+ name: "receiver",
492
+ type: "address",
493
+ },
494
+ {
495
+ internalType: "address",
496
+ name: "tokenIn",
497
+ type: "address",
498
+ },
499
+ {
500
+ internalType: "uint256",
501
+ name: "amountTokenToDeposit",
502
+ type: "uint256",
503
+ },
504
+ {
505
+ internalType: "uint256",
506
+ name: "minSharesOut",
507
+ type: "uint256",
508
+ },
509
+ ],
510
+ name: "deposit",
511
+ outputs: [
512
+ {
513
+ internalType: "uint256",
514
+ name: "amountSharesOut",
515
+ type: "uint256",
516
+ },
517
+ ],
518
+ stateMutability: "payable",
519
+ type: "function",
520
+ },
521
+ {
522
+ inputs: [],
523
+ name: "eip712Domain",
524
+ outputs: [
525
+ {
526
+ internalType: "bytes1",
527
+ name: "fields",
528
+ type: "bytes1",
529
+ },
530
+ {
531
+ internalType: "string",
532
+ name: "name",
533
+ type: "string",
534
+ },
535
+ {
536
+ internalType: "string",
537
+ name: "version",
538
+ type: "string",
539
+ },
540
+ {
541
+ internalType: "uint256",
542
+ name: "chainId",
543
+ type: "uint256",
544
+ },
545
+ {
546
+ internalType: "address",
547
+ name: "verifyingContract",
548
+ type: "address",
549
+ },
550
+ {
551
+ internalType: "bytes32",
552
+ name: "salt",
553
+ type: "bytes32",
554
+ },
555
+ {
556
+ internalType: "uint256[]",
557
+ name: "extensions",
558
+ type: "uint256[]",
559
+ },
560
+ ],
561
+ stateMutability: "view",
562
+ type: "function",
563
+ },
564
+ {
565
+ inputs: [],
566
+ name: "exchangeRate",
567
+ outputs: [
568
+ {
569
+ internalType: "uint256",
570
+ name: "",
571
+ type: "uint256",
572
+ },
573
+ ],
574
+ stateMutability: "view",
575
+ type: "function",
576
+ },
577
+ {
578
+ inputs: [],
579
+ name: "getAbsoluteSupplyCap",
580
+ outputs: [
581
+ {
582
+ internalType: "uint256",
583
+ name: "",
584
+ type: "uint256",
585
+ },
586
+ ],
587
+ stateMutability: "view",
588
+ type: "function",
589
+ },
590
+ {
591
+ inputs: [],
592
+ name: "getAbsoluteTotalSupply",
593
+ outputs: [
594
+ {
595
+ internalType: "uint256",
596
+ name: "",
597
+ type: "uint256",
598
+ },
599
+ ],
600
+ stateMutability: "view",
601
+ type: "function",
602
+ },
603
+ {
604
+ inputs: [],
605
+ name: "getRewardTokens",
606
+ outputs: [
607
+ {
608
+ internalType: "address[]",
609
+ name: "rewardTokens",
610
+ type: "address[]",
611
+ },
612
+ ],
613
+ stateMutability: "view",
614
+ type: "function",
615
+ },
616
+ {
617
+ inputs: [],
618
+ name: "getTokensIn",
619
+ outputs: [
620
+ {
621
+ internalType: "address[]",
622
+ name: "",
623
+ type: "address[]",
624
+ },
625
+ ],
626
+ stateMutability: "view",
627
+ type: "function",
628
+ },
629
+ {
630
+ inputs: [],
631
+ name: "getTokensOut",
632
+ outputs: [
633
+ {
634
+ internalType: "address[]",
635
+ name: "",
636
+ type: "address[]",
637
+ },
638
+ ],
639
+ stateMutability: "view",
640
+ type: "function",
641
+ },
642
+ {
643
+ inputs: [],
644
+ name: "initialize",
645
+ outputs: [],
646
+ stateMutability: "nonpayable",
647
+ type: "function",
648
+ },
649
+ {
650
+ inputs: [
651
+ {
652
+ internalType: "address",
653
+ name: "token",
654
+ type: "address",
655
+ },
656
+ ],
657
+ name: "isValidTokenIn",
658
+ outputs: [
659
+ {
660
+ internalType: "bool",
661
+ name: "",
662
+ type: "bool",
663
+ },
664
+ ],
665
+ stateMutability: "view",
666
+ type: "function",
667
+ },
668
+ {
669
+ inputs: [
670
+ {
671
+ internalType: "address",
672
+ name: "token",
673
+ type: "address",
674
+ },
675
+ ],
676
+ name: "isValidTokenOut",
677
+ outputs: [
678
+ {
679
+ internalType: "bool",
680
+ name: "",
681
+ type: "bool",
682
+ },
683
+ ],
684
+ stateMutability: "view",
685
+ type: "function",
686
+ },
687
+ {
688
+ inputs: [],
689
+ name: "name",
690
+ outputs: [
691
+ {
692
+ internalType: "string",
693
+ name: "",
694
+ type: "string",
695
+ },
696
+ ],
697
+ stateMutability: "view",
698
+ type: "function",
699
+ },
700
+ {
701
+ inputs: [
702
+ {
703
+ internalType: "address",
704
+ name: "owner",
705
+ type: "address",
706
+ },
707
+ ],
708
+ name: "nonces",
709
+ outputs: [
710
+ {
711
+ internalType: "uint256",
712
+ name: "",
713
+ type: "uint256",
714
+ },
715
+ ],
716
+ stateMutability: "view",
717
+ type: "function",
718
+ },
719
+ {
720
+ inputs: [],
721
+ name: "owner",
722
+ outputs: [
723
+ {
724
+ internalType: "address",
725
+ name: "",
726
+ type: "address",
727
+ },
728
+ ],
729
+ stateMutability: "view",
730
+ type: "function",
731
+ },
732
+ {
733
+ inputs: [],
734
+ name: "pause",
735
+ outputs: [],
736
+ stateMutability: "nonpayable",
737
+ type: "function",
738
+ },
739
+ {
740
+ inputs: [],
741
+ name: "paused",
742
+ outputs: [
743
+ {
744
+ internalType: "bool",
745
+ name: "",
746
+ type: "bool",
747
+ },
748
+ ],
749
+ stateMutability: "view",
750
+ type: "function",
751
+ },
752
+ {
753
+ inputs: [],
754
+ name: "pendingOwner",
755
+ outputs: [
756
+ {
757
+ internalType: "address",
758
+ name: "",
759
+ type: "address",
760
+ },
761
+ ],
762
+ stateMutability: "view",
763
+ type: "function",
764
+ },
765
+ {
766
+ inputs: [
767
+ {
768
+ internalType: "address",
769
+ name: "owner",
770
+ type: "address",
771
+ },
772
+ {
773
+ internalType: "address",
774
+ name: "spender",
775
+ type: "address",
776
+ },
777
+ {
778
+ internalType: "uint256",
779
+ name: "value",
780
+ type: "uint256",
781
+ },
782
+ {
783
+ internalType: "uint256",
784
+ name: "deadline",
785
+ type: "uint256",
786
+ },
787
+ {
788
+ internalType: "uint8",
789
+ name: "v",
790
+ type: "uint8",
791
+ },
792
+ {
793
+ internalType: "bytes32",
794
+ name: "r",
795
+ type: "bytes32",
796
+ },
797
+ {
798
+ internalType: "bytes32",
799
+ name: "s",
800
+ type: "bytes32",
801
+ },
802
+ ],
803
+ name: "permit",
804
+ outputs: [],
805
+ stateMutability: "nonpayable",
806
+ type: "function",
807
+ },
808
+ {
809
+ inputs: [
810
+ {
811
+ internalType: "address",
812
+ name: "tokenIn",
813
+ type: "address",
814
+ },
815
+ {
816
+ internalType: "uint256",
817
+ name: "amountTokenToDeposit",
818
+ type: "uint256",
819
+ },
820
+ ],
821
+ name: "previewDeposit",
822
+ outputs: [
823
+ {
824
+ internalType: "uint256",
825
+ name: "amountSharesOut",
826
+ type: "uint256",
827
+ },
828
+ ],
829
+ stateMutability: "view",
830
+ type: "function",
831
+ },
832
+ {
833
+ inputs: [
834
+ {
835
+ internalType: "address",
836
+ name: "tokenOut",
837
+ type: "address",
838
+ },
839
+ {
840
+ internalType: "uint256",
841
+ name: "amountSharesToRedeem",
842
+ type: "uint256",
843
+ },
844
+ ],
845
+ name: "previewRedeem",
846
+ outputs: [
847
+ {
848
+ internalType: "uint256",
849
+ name: "amountTokenOut",
850
+ type: "uint256",
851
+ },
852
+ ],
853
+ stateMutability: "view",
854
+ type: "function",
855
+ },
856
+ {
857
+ inputs: [
858
+ {
859
+ internalType: "address",
860
+ name: "receiver",
861
+ type: "address",
862
+ },
863
+ {
864
+ internalType: "uint256",
865
+ name: "amountSharesToRedeem",
866
+ type: "uint256",
867
+ },
868
+ {
869
+ internalType: "address",
870
+ name: "tokenOut",
871
+ type: "address",
872
+ },
873
+ {
874
+ internalType: "uint256",
875
+ name: "minTokenOut",
876
+ type: "uint256",
877
+ },
878
+ {
879
+ internalType: "bool",
880
+ name: "burnFromInternalBalance",
881
+ type: "bool",
882
+ },
883
+ ],
884
+ name: "redeem",
885
+ outputs: [
886
+ {
887
+ internalType: "uint256",
888
+ name: "amountTokenOut",
889
+ type: "uint256",
890
+ },
891
+ ],
892
+ stateMutability: "nonpayable",
893
+ type: "function",
894
+ },
895
+ {
896
+ inputs: [],
897
+ name: "rewardIndexesCurrent",
898
+ outputs: [
899
+ {
900
+ internalType: "uint256[]",
901
+ name: "indexes",
902
+ type: "uint256[]",
903
+ },
904
+ ],
905
+ stateMutability: "nonpayable",
906
+ type: "function",
907
+ },
908
+ {
909
+ inputs: [],
910
+ name: "rewardIndexesStored",
911
+ outputs: [
912
+ {
913
+ internalType: "uint256[]",
914
+ name: "indexes",
915
+ type: "uint256[]",
916
+ },
917
+ ],
918
+ stateMutability: "view",
919
+ type: "function",
920
+ },
921
+ {
922
+ inputs: [],
923
+ name: "stakeToken",
924
+ outputs: [
925
+ {
926
+ internalType: "address",
927
+ name: "",
928
+ type: "address",
929
+ },
930
+ ],
931
+ stateMutability: "view",
932
+ type: "function",
933
+ },
934
+ {
935
+ inputs: [],
936
+ name: "susde",
937
+ outputs: [
938
+ {
939
+ internalType: "address",
940
+ name: "",
941
+ type: "address",
942
+ },
943
+ ],
944
+ stateMutability: "view",
945
+ type: "function",
946
+ },
947
+ {
948
+ inputs: [],
949
+ name: "symbol",
950
+ outputs: [
951
+ {
952
+ internalType: "string",
953
+ name: "",
954
+ type: "string",
955
+ },
956
+ ],
957
+ stateMutability: "view",
958
+ type: "function",
959
+ },
960
+ {
961
+ inputs: [],
962
+ name: "totalSupply",
963
+ outputs: [
964
+ {
965
+ internalType: "uint256",
966
+ name: "",
967
+ type: "uint256",
968
+ },
969
+ ],
970
+ stateMutability: "view",
971
+ type: "function",
972
+ },
973
+ {
974
+ inputs: [
975
+ {
976
+ internalType: "address",
977
+ name: "to",
978
+ type: "address",
979
+ },
980
+ {
981
+ internalType: "uint256",
982
+ name: "amount",
983
+ type: "uint256",
984
+ },
985
+ ],
986
+ name: "transfer",
987
+ outputs: [
988
+ {
989
+ internalType: "bool",
990
+ name: "",
991
+ type: "bool",
992
+ },
993
+ ],
994
+ stateMutability: "nonpayable",
995
+ type: "function",
996
+ },
997
+ {
998
+ inputs: [
999
+ {
1000
+ internalType: "address",
1001
+ name: "from",
1002
+ type: "address",
1003
+ },
1004
+ {
1005
+ internalType: "address",
1006
+ name: "to",
1007
+ type: "address",
1008
+ },
1009
+ {
1010
+ internalType: "uint256",
1011
+ name: "amount",
1012
+ type: "uint256",
1013
+ },
1014
+ ],
1015
+ name: "transferFrom",
1016
+ outputs: [
1017
+ {
1018
+ internalType: "bool",
1019
+ name: "",
1020
+ type: "bool",
1021
+ },
1022
+ ],
1023
+ stateMutability: "nonpayable",
1024
+ type: "function",
1025
+ },
1026
+ {
1027
+ inputs: [
1028
+ {
1029
+ internalType: "address",
1030
+ name: "newOwner",
1031
+ type: "address",
1032
+ },
1033
+ {
1034
+ internalType: "bool",
1035
+ name: "direct",
1036
+ type: "bool",
1037
+ },
1038
+ {
1039
+ internalType: "bool",
1040
+ name: "renounce",
1041
+ type: "bool",
1042
+ },
1043
+ ],
1044
+ name: "transferOwnership",
1045
+ outputs: [],
1046
+ stateMutability: "nonpayable",
1047
+ type: "function",
1048
+ },
1049
+ {
1050
+ inputs: [],
1051
+ name: "unpause",
1052
+ outputs: [],
1053
+ stateMutability: "nonpayable",
1054
+ type: "function",
1055
+ },
1056
+ {
1057
+ inputs: [],
1058
+ name: "usde",
1059
+ outputs: [
1060
+ {
1061
+ internalType: "address",
1062
+ name: "",
1063
+ type: "address",
1064
+ },
1065
+ ],
1066
+ stateMutability: "view",
1067
+ type: "function",
1068
+ },
1069
+ {
1070
+ inputs: [],
1071
+ name: "vault",
1072
+ outputs: [
1073
+ {
1074
+ internalType: "address",
1075
+ name: "",
1076
+ type: "address",
1077
+ },
1078
+ ],
1079
+ stateMutability: "view",
1080
+ type: "function",
1081
+ },
1082
+ {
1083
+ inputs: [],
1084
+ name: "vaultSupervisor",
1085
+ outputs: [
1086
+ {
1087
+ internalType: "address",
1088
+ name: "",
1089
+ type: "address",
1090
+ },
1091
+ ],
1092
+ stateMutability: "view",
1093
+ type: "function",
1094
+ },
1095
+ {
1096
+ inputs: [],
1097
+ name: "yieldToken",
1098
+ outputs: [
1099
+ {
1100
+ internalType: "address",
1101
+ name: "",
1102
+ type: "address",
1103
+ },
1104
+ ],
1105
+ stateMutability: "view",
1106
+ type: "function",
1107
+ },
1108
+ {
1109
+ stateMutability: "payable",
1110
+ type: "receive",
1111
+ },
1112
+ ];
1113
+
1114
+ const _bytecode =
1115
+ "0x6101606040523480156200001257600080fd5b50604051620041cb380380620041cb833981016040819052620000359162000244565b818181806001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200027c565b60ff16608052610134805460ff191690556001600160a01b0390811660a052821660c0819052604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa158015620000ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001259190620002a8565b6001600160a01b0390811660e05290811661010052604080516338d52e0f60e01b8152905191851692506338d52e0f9160048083019260209291908290030181865afa1580156200017a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a09190620002a8565b6001600160a01b0316610140819052604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa158015620001eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002119190620002a8565b6001600160a01b03166101205250620002c69050565b80516001600160a01b03811681146200023f57600080fd5b919050565b600080604083850312156200025857600080fd5b620002638362000227565b9150620002736020840162000227565b90509250929050565b6000602082840312156200028f57600080fd5b815160ff81168114620002a157600080fd5b9392505050565b600060208284031215620002bb57600080fd5b620002a18262000227565b60805160a05160c05160e051610100516101205161014051613d846200044760003960008181610241015281816112560152818161218c01528181612a860152612f450152600081816103180152818161065f01528181611235015281816116a801528181611c2f01528181612a2b0152612ef00152600081816104fc015281816119f401528181611a7f015281816123bb015261255201526000818161047901528181610c740152818161166c015281816118c60152818161193f01528181611970015281816124e7015281816126920152818161270b015261273c0152600081816107c3015281816107ea015281816108830152818161099501528181610c5301528181610d5c01528181611023015281816110750152818161163101528181611903015281816119be01528181611aac015281816123e8015281816124490152818161250801528181612531015281816126cf01528181612777015281816127fd015261288301526000610550015260006103df0152613d846000f3fe6080604052600436106101fb5760003560e01c80630186533d14610207578063032988da1461022f57806306fdde0314610270578063071bc3c914610292578063078dfbe7146102b4578063095ea7b3146102d65780630fd761e014610306578063128fced11461033a57806318160ddd1461036757806320e8c56514610385578063213cae631461039857806323b872dd146103ad578063313ce567146103cd5780633644e515146104135780633ba0b9a9146104285780633f4ba83a1461043d5780634e71e0c81461045257806351ed6a30146104675780635c975abb1461049b57806370a08231146104b45780637235200e146104ea578063769f8e5d1461051e57806376d5de851461053e578063784367d6146105725780637ecebe001461059257806380975cc4146105b25780638129fc1c146105c75780638456cb59146105dc57806384b0196e146105f15780638da5cb5b1461061957806395d89b4114610639578063a40bee501461064e578063a9059cbb1461068f578063b8f82b26146106af578063c4f59f9b146106cf578063cbe52ae3146106f0578063d505accf14610710578063da88ecb414610730578063dd62ed3e14610751578063e30c397814610771578063ef5cfb8c1461033a578063f8b2f99114610730578063fa5a4f0614610791578063fbfa77cf146107b157600080fd5b3661020257005b600080fd5b34801561021357600080fd5b5061021c6107e5565b6040519081526020015b60405180910390f35b34801561023b57600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000000081565b6040516102269190613577565b34801561027c57600080fd5b506102856108fc565b60405161022691906135db565b34801561029e57600080fd5b506102a761098e565b60405161022691906135ee565b3480156102c057600080fd5b506102d46102cf366004613665565b6109be565b005b3480156102e257600080fd5b506102f66102f13660046136ae565b610ac3565b6040519015158152602001610226565b34801561031257600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b5061035a6103553660046136d8565b610add565b604051610226919061372f565b34801561037357600080fd5b506004546001600160f81b031661021c565b61021c610393366004613742565b610af8565b3480156103a457600080fd5b506102a7610c41565b3480156103b957600080fd5b506102f66103c8366004613784565b610c9e565b3480156103d957600080fd5b506104017f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610226565b34801561041f57600080fd5b5061021c610d1c565b34801561043457600080fd5b5061021c610d26565b34801561044957600080fd5b506102d4610ded565b34801561045e57600080fd5b506102d4610e21565b34801561047357600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a757600080fd5b506101345460ff166102f6565b3480156104c057600080fd5b5061021c6104cf3660046136d8565b6001600160a01b031660009081526002602052604090205490565b3480156104f657600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000000081565b34801561052a57600080fd5b5061021c6105393660046137c0565b610ecc565b34801561054a57600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000000081565b34801561057e57600080fd5b506102f661058d3660046136d8565b611021565b34801561059e57600080fd5b5061021c6105ad3660046136d8565b611053565b3480156105be57600080fd5b5061021c611071565b3480156105d357600080fd5b506102d46110f5565b3480156105e857600080fd5b506102d46112c4565b3480156105fd57600080fd5b506106066112f6565b604051610226979695949392919061381b565b34801561062557600080fd5b50600054610263906001600160a01b031681565b34801561064557600080fd5b50610285611394565b34801561065a57600080fd5b5060007f00000000000000000000000000000000000000000000000000000000000000006012604051610226939291906138a1565b34801561069b57600080fd5b506102f66106aa3660046136ae565b6113a3565b3480156106bb57600080fd5b5061021c6106ca3660046136ae565b611415565b3480156106db57600080fd5b506040805160008152602081019091526102a7565b3480156106fc57600080fd5b5061021c61070b3660046136ae565b611450565b34801561071c57600080fd5b506102d461072b3660046138e3565b611480565b34801561073c57600080fd5b5060408051600081526020810190915261035a565b34801561075d57600080fd5b5061021c61076c366004613956565b611602565b34801561077d57600080fd5b50600154610263906001600160a01b031681565b34801561079d57600080fd5b506102f66107ac3660046136d8565b61162d565b3480156107bd57600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322da98e76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a9190613989565b6040516363737ac960e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c6e6f59290602401602060405180830381865afa1580156108d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f69190613989565b91505090565b60606005805461090b906139a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610937906139a2565b80156109845780601f1061095957610100808354040283529160200191610984565b820191906000526020600020905b81548152906001019060200180831161096757829003601f168201915b5050505050905090565b60606109b97f00000000000000000000000000000000000000000000000000000000000000006116db565b905090565b6000546001600160a01b031633146109f15760405162461bcd60e51b81526004016109e8906139d6565b60405180910390fd5b8115610aa2576001600160a01b038316151580610a0b5750805b610a4f5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016109e8565b600080546040516001600160a01b0380871693921691600080516020613d0f83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b600033610ad1818585611736565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600454600090600119600160f81b90910460ff1601610b295760405162461bcd60e51b81526004016109e890613a21565b600480546001600160f81b0316600160f91b179055610b478461162d565b610b6657836040516315d57ce360e31b81526004016109e89190613577565b82600003610b8757604051630a907f2f60e41b815260040160405180910390fd5b610b9284338561185b565b610b9c84846118c2565b905081811015610bc3578082604051635e38f95d60e11b81526004016109e8929190613a58565b610bcd8582611b10565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610c1c929190613a58565b60405180910390a4600480546001600160f81b0316600160f81b179055949350505050565b60606109b9610c4e611c28565b610c987f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c53565b90611ce1565b600454600090600119600160f81b90910460ff1601610ccf5760405162461bcd60e51b81526004016109e890613a21565b600480546001600160f81b0316600160f91b17905533610cf0858285611ec6565b610cfb858585611f40565b6001915050600480546001600160f81b0316600160f81b1790559392505050565b60006109b9612162565b600080610d3161216c565b6040516303d1689d60e11b8152670de0b6b3a764000060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906307a2d13a90602401602060405180830381865afa158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc79190613989565b9050670de0b6b3a7640000610ddc8284613a7c565b610de69190613aa9565b9250505090565b6000546001600160a01b03163314610e175760405162461bcd60e51b81526004016109e8906139d6565b610e1f6121db565b565b6001546001600160a01b0316338114610e7c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016109e8565b600080546040516001600160a01b0380851693921691600080516020613d0f83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600454600090600119600160f81b90910460ff1601610efd5760405162461bcd60e51b81526004016109e890613a21565b600480546001600160f81b0316600160f91b179055610f1b84611021565b610f3a57836040516388a5056160e01b81526004016109e89190613577565b84600003610f5b5760405163c3d83b0760e01b815260040160405180910390fd5b8115610f7057610f6b3086612228565b610f7a565b610f7a3386612228565b610f858685876123a1565b905082811015610fac5780836040516305ff726560e51b81526004016109e8929190613a58565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8885604051610ffb929190613a58565b60405180910390a4600480546001600160f81b0316600160f81b17905595945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6001600160a01b0381166000908152609f6020526040812054610ad7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b99190613989565b600154600160a81b900460ff161580801561111b575060018054600160a01b900460ff16105b80611142575061112a3061246f565b158015611142575060018054600160a01b900460ff16145b6111a55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016109e8565b6001805460ff60a01b1916600160a01b17905580156111d2576001805460ff60a81b1916600160a81b1790555b6112286040518060400160405280600e81526020016d5359204b6172616b20735553446560901b8152506040518060400160405280600e81526020016d53592d4b6172616b2d735553446560901b81525061247e565b6112306124b9565b61127a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612572565b80156112c1576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6000546001600160a01b031633146112ee5760405162461bcd60e51b81526004016109e8906139d6565b610e1f612632565b600060608060008060006060606b546000801b1480156113165750606c54155b61135a5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064016109e8565b611362612670565b61136a61267f565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606006805461090b906139a2565b600454600090600119600160f81b90910460ff16016113d45760405162461bcd60e51b81526004016109e890613a21565b600480546001600160f81b0316600160f91b179055336113f5818585611f40565b6001915050600480546001600160f81b0316600160f81b17905592915050565b60006114208361162d565b61143f57826040516315d57ce360e31b81526004016109e89190613577565b611449838361268e565b9392505050565b600061145b83611021565b61147a57826040516388a5056160e01b81526004016109e89190613577565b81611449565b834211156114d05760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016109e8565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861151d8c6001600160a01b03166000908152609f6020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061157882612965565b9050600061158882878787612992565b9050896001600160a01b0316816001600160a01b0316146115eb5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016109e8565b6115f68a8a8a611736565b50505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806116a057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610ad757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811690831614610ad7565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061171157611711613abd565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b6001600160a01b0383166117985760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109e8565b6001600160a01b0382166117f95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109e8565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166118a757803414610abe5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016109e8565b8015610abe57610abe6001600160a01b0384168330846129bc565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415801561193857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561196e577f00000000000000000000000000000000000000000000000000000000000000006119688484612a27565b90935091505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611a6857604051630efe6a8b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052600060448301527f00000000000000000000000000000000000000000000000000000000000000001690630efe6a8b906064016020604051808303816000875af1158015611a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a619190613989565b9050610ad7565b604051638b19802560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638b19802590611ad6907f0000000000000000000000000000000000000000000000000000000000000000908690600401613ad3565b600060405180830381600087803b158015611af057600080fd5b505af1158015611b04573d6000803e3d6000fd5b50505050819050610ad7565b6001600160a01b038216611b665760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016109e8565b611b7260008383612afb565b611b7b81612b03565b60048054600090611b969084906001600160f81b0316613aec565b92506101000a8154816001600160f81b0302191690836001600160f81b031602179055508060026000846001600160a01b03166001600160a01b031681526020019081526020016000206000828254611bef9190613b0c565b90915550506040518181526001600160a01b03831690600090600080516020613d2f8339815191529060200160405180910390a35b5050565b60606109b97f00000000000000000000000000000000000000000000000000000000000000006116db565b60408051600280825260608083018452926020830190803683370190505090508281600081518110611c8757611c87613abd565b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110611cbb57611cbb613abd565b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b606060008083516001600160401b03811115611cff57611cff613a0b565b604051908082528060200260200182016040528015611d28578160200160208202803683370190505b50905060005b8451811015611d9357611d5a86868381518110611d4d57611d4d613abd565b6020026020010151612b1d565b611d8b5782806001019350506001828281518110611d7a57611d7a613abd565b911515602092830291909101909101525b600101611d2e565b50818551016001600160401b03811115611daf57611daf613a0b565b604051908082528060200260200182016040528015611dd8578160200160208202803683370190505b50925060005b8551811015611e3357858181518110611df957611df9613abd565b6020026020010151848281518110611e1357611e13613abd565b6001600160a01b0390921660209283029190910190910152600101611dde565b50845160005b8551811015611ebc57828181518110611e5457611e54613abd565b602002602001015115611eb457858181518110611e7357611e73613abd565b6020026020010151858380600101945081518110611e9357611e93613abd565b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101611e39565b5050505092915050565b6000611ed28484611602565b90506000198114611f3a5781811015611f2d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016109e8565b611f3a8484848403611736565b50505050565b6001600160a01b038316611fa45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109e8565b6001600160a01b0382166120065760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109e8565b816001600160a01b0316836001600160a01b0316036120615760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016109e8565b61206c838383612afb565b6001600160a01b038316600090815260026020526040902054818110156120e45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109e8565b6001600160a01b0380851660009081526002602052604080822085850390559185168152908120805484929061211b908490613b0c565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613d2f8339815191528460405161215591815260200190565b60405180910390a3611f3a565b60006109b9612b7c565b60405163266d6a8360e11b8152670de0b6b3a764000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634cdad50690602401602060405180830381865afa1580156110d1573d6000803e3d6000fd5b6121e3612bf0565b610134805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161221e9190613577565b60405180910390a1565b6001600160a01b0382166122885760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016109e8565b61229482600083612afb565b6001600160a01b038216600090815260026020526040902054818110156123085760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016109e8565b6001600160a01b0383166000908152600260205260409020828203905561232e82612b03565b600480546000906123499084906001600160f81b0316613b1f565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020613d2f8339815191528460405161184e91815260200190565b604051637fb2a0a160e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637fb2a0a190612412907f0000000000000000000000000000000000000000000000000000000000000000908690600401613ad3565b600060405180830381600087803b15801561242c57600080fd5b505af1158015612440573d6000803e3d6000fd5b50505050610af17f00000000000000000000000000000000000000000000000000000000000000008584612c3a565b6001600160a01b03163b151590565b600154600160a81b900460ff166124a75760405162461bcd60e51b81526004016109e890613b3f565b6124b18282612cfe565b611c24612d54565b600154600160a81b900460ff166124e25760405162461bcd60e51b81526004016109e890613b3f565b61252c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612572565b610e1f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005b6001600160a01b038216612584575050565b61259660026001600160601b03613b8a565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa1580156125ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126139190613989565b1015611c245761262582826000612d91565b611c248282600019612d91565b61263a612ea5565b610134805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122113390565b6060606d805461090b906139a2565b6060606e805461090b906139a2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415801561270457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561273a577f00000000000000000000000000000000000000000000000000000000000000006127348484612eec565b90935091505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361295f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f79190613989565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287d9190613989565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322da98e76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129039190613989565b9050806129108685613b0c565b1115612940576040516313a2ce0760e11b81526004810182905260248101849052604481018690526064016109e8565b8261294b8387613a7c565b6129559190613aa9565b9350505050610ad7565b50919050565b6000610ad7612972612162565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006129a387878787612f94565b915091506129b08161304e565b5090505b949350505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611f3a9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613193565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614612a6a57612a6a613bb0565b604051636e553f6560e01b8152600481018390523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303816000875af1158015612ad7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114499190613989565b610abe612ea5565b60006001600160f81b03821115612b1957600080fd5b5090565b8151600090815b81811015612b7157836001600160a01b0316858281518110612b4857612b48613abd565b60200260200101516001600160a01b031603612b6957600192505050610ad7565b600101612b24565b506000949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612ba7613268565b612baf6132c1565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6101345460ff16610e1f5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016109e8565b80600003612c4757505050565b6001600160a01b038316612cea576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612ca2576040519150601f19603f3d011682016040523d82523d6000602084013e612ca7565b606091505b5050905080611f3a5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016109e8565b610abe6001600160a01b03841683836132f2565b600154600160a81b900460ff16612d275760405162461bcd60e51b81526004016109e890613b3f565b612d318282613311565b611c2482604051806040016040528060018152602001603160f81b81525061336d565b600154600160a81b900460ff16612d7d5760405162461bcd60e51b81526004016109e890613b3f565b600080546001600160a01b03191633179055565b600080846001600160a01b031663095ea7b360e01b8585604051602401612db9929190613ad3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612df79190613bc6565b6000604051808303816000865af19150503d8060008114612e34576040519150601f19603f3d011682016040523d82523d6000602084013e612e39565b606091505b5091509150818015612e63575080511580612e63575080806020019051810190612e639190613be2565b612e9e5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016109e8565b5050505050565b6101345460ff1615610e1f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016109e8565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614612f2f57612f2f613bb0565b60405163ef8b30f760e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef8b30f790602401602060405180830381865afa158015612ad7573d6000803e3d6000fd5b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115612fc15750600090506003613045565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613015573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661303e57600060019250925050613045565b9150600090505b94509492505050565b60008160048111156130625761306261388b565b0361306a5750565b600181600481111561307e5761307e61388b565b036130c65760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064016109e8565b60028160048111156130da576130da61388b565b036131275760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016109e8565b600381600481111561313b5761313b61388b565b036112c15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016109e8565b60006131e8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166133a09092919063ffffffff16565b90508051600014806132095750808060200190518101906132099190613be2565b610abe5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109e8565b600080613273612670565b80519091501561328a578051602090910120919050565b606b5480156132995792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b6000806132cc61267f565b8051909150156132e3578051602090910120919050565b606c5480156132995792915050565b610abe8363a9059cbb60e01b84846040516024016129f0929190613ad3565b600154600160a81b900460ff1661333a5760405162461bcd60e51b81526004016109e890613b3f565b60056133468382613c4f565b5060066133538282613c4f565b5050600480546001600160f81b0316600160f81b17905550565b600154600160a81b900460ff166133965760405162461bcd60e51b81526004016109e890613b3f565b611c2482826133af565b60606129b48484600085613400565b600154600160a81b900460ff166133d85760405162461bcd60e51b81526004016109e890613b3f565b606d6133e48382613c4f565b50606e6133f18282613c4f565b50506000606b819055606c5550565b6060824710156134615760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109e8565b600080866001600160a01b0316858760405161347d9190613bc6565b60006040518083038185875af1925050503d80600081146134ba576040519150601f19603f3d011682016040523d82523d6000602084013e6134bf565b606091505b50915091506134d0878383876134db565b979650505050505050565b60608315613548578251600003613541576134f58561246f565b6135415760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109e8565b50816129b4565b6129b4838381511561355d5781518083602001fd5b8060405162461bcd60e51b81526004016109e891906135db565b6001600160a01b0391909116815260200190565b60005b838110156135a657818101518382015260200161358e565b50506000910152565b600081518084526135c781602086016020860161358b565b601f01601f19169290920160200192915050565b60208152600061144960208301846135af565b6020808252825182820181905260009190848201906040850190845b8181101561362f5783516001600160a01b03168352928401929184019160010161360a565b50909695505050505050565b80356001600160a01b038116811461365257600080fd5b919050565b80151581146112c157600080fd5b60008060006060848603121561367a57600080fd5b6136838461363b565b9250602084013561369381613657565b915060408401356136a381613657565b809150509250925092565b600080604083850312156136c157600080fd5b6136ca8361363b565b946020939093013593505050565b6000602082840312156136ea57600080fd5b6114498261363b565b60008151808452602080850194506020840160005b8381101561372457815187529582019590820190600101613708565b509495945050505050565b60208152600061144960208301846136f3565b6000806000806080858703121561375857600080fd5b6137618561363b565b935061376f6020860161363b565b93969395505050506040820135916060013590565b60008060006060848603121561379957600080fd5b6137a28461363b565b92506137b06020850161363b565b9150604084013590509250925092565b600080600080600060a086880312156137d857600080fd5b6137e18661363b565b9450602086013593506137f66040870161363b565b925060608601359150608086013561380d81613657565b809150509295509295909350565b60ff60f81b8816815260e06020820152600061383a60e08301896135af565b828103604084015261384c81896135af565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152905061387d81856136f3565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b60608101600285106138c357634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b600080600080600080600060e0888a0312156138fe57600080fd5b6139078861363b565b96506139156020890161363b565b95506040880135945060608801359350608088013560ff8116811461393957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561396957600080fd5b6139728361363b565b91506139806020840161363b565b90509250929050565b60006020828403121561399b57600080fd5b5051919050565b600181811c908216806139b657607f821691505b60208210810361295f57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610ad757610ad7613a66565b634e487b7160e01b600052601260045260246000fd5b600082613ab857613ab8613a93565b500490565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b6001600160f81b03818116838216019080821115610af157610af1613a66565b80820180821115610ad757610ad7613a66565b6001600160f81b03828116828216039080821115610af157610af1613a66565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006001600160601b0383811680613ba457613ba4613a93565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60008251613bd881846020870161358b565b9190910192915050565b600060208284031215613bf457600080fd5b815161144981613657565b601f821115610abe576000816000526020600020601f850160051c81016020861015613c285750805b601f850160051c820191505b81811015613c4757828155600101613c34565b505050505050565b81516001600160401b03811115613c6857613c68613a0b565b613c7c81613c7684546139a2565b84613bff565b602080601f831160018114613cb15760008415613c995750858301515b600019600386901b1c1916600185901b178555613c47565b600085815260208120601f198616915b82811015613ce057888601518255948401946001909101908401613cc1565b5085821015613cfe5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220208c3bbe45ce1f6a11d248c4be521876548094b9e0264f45a7ca65030fe7411864736f6c63430008170033";
1116
+
1117
+ type PendleKarakVaultSUSDESYConstructorParams =
1118
+ | [signer?: Signer]
1119
+ | ConstructorParameters<typeof ContractFactory>;
1120
+
1121
+ const isSuperArgs = (
1122
+ xs: PendleKarakVaultSUSDESYConstructorParams
1123
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1124
+
1125
+ export class PendleKarakVaultSUSDESY__factory extends ContractFactory {
1126
+ constructor(...args: PendleKarakVaultSUSDESYConstructorParams) {
1127
+ if (isSuperArgs(args)) {
1128
+ super(...args);
1129
+ } else {
1130
+ super(_abi, _bytecode, args[0]);
1131
+ }
1132
+ this.contractName = "PendleKarakVaultSUSDESY";
1133
+ }
1134
+
1135
+ deploy(
1136
+ _vault: string,
1137
+ _vaultSupervisor: string,
1138
+ overrides?: Overrides & { from?: string | Promise<string> }
1139
+ ): Promise<PendleKarakVaultSUSDESY> {
1140
+ return super.deploy(
1141
+ _vault,
1142
+ _vaultSupervisor,
1143
+ overrides || {}
1144
+ ) as Promise<PendleKarakVaultSUSDESY>;
1145
+ }
1146
+ getDeployTransaction(
1147
+ _vault: string,
1148
+ _vaultSupervisor: string,
1149
+ overrides?: Overrides & { from?: string | Promise<string> }
1150
+ ): TransactionRequest {
1151
+ return super.getDeployTransaction(
1152
+ _vault,
1153
+ _vaultSupervisor,
1154
+ overrides || {}
1155
+ );
1156
+ }
1157
+ attach(address: string): PendleKarakVaultSUSDESY {
1158
+ return super.attach(address) as PendleKarakVaultSUSDESY;
1159
+ }
1160
+ connect(signer: Signer): PendleKarakVaultSUSDESY__factory {
1161
+ return super.connect(signer) as PendleKarakVaultSUSDESY__factory;
1162
+ }
1163
+ static readonly contractName: "PendleKarakVaultSUSDESY";
1164
+ public readonly contractName: "PendleKarakVaultSUSDESY";
1165
+ static readonly bytecode = _bytecode;
1166
+ static readonly abi = _abi;
1167
+ static createInterface(): PendleKarakVaultSUSDESYInterface {
1168
+ return new utils.Interface(_abi) as PendleKarakVaultSUSDESYInterface;
1169
+ }
1170
+ static connect(
1171
+ address: string,
1172
+ signerOrProvider: Signer | Provider
1173
+ ): PendleKarakVaultSUSDESY {
1174
+ return new Contract(
1175
+ address,
1176
+ _abi,
1177
+ signerOrProvider
1178
+ ) as PendleKarakVaultSUSDESY;
1179
+ }
1180
+ }