@pendle/core-v2 4.5.2 → 4.7.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 (160) 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/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +4 -0
  36. package/build/artifacts/contracts/interfaces/{IPPtLpOracle.sol/IPPtLpOracle.json → IPPYLpOracle.sol/IPPYLpOracle.json} +50 -2
  37. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +4 -0
  38. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.json +30 -0
  39. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +4 -0
  40. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.json +37 -0
  41. package/build/artifacts/contracts/interfaces/Karak/IKarakVault.sol/IKarakVault.dbg.json +4 -0
  42. package/build/artifacts/contracts/interfaces/Karak/IKarakVault.sol/IKarakVault.json +24 -0
  43. package/build/artifacts/contracts/interfaces/Karak/IKarakVaultSupervisor.sol/IKarakVaultSupervisor.dbg.json +4 -0
  44. package/build/artifacts/contracts/interfaces/Karak/IKarakVaultSupervisor.sol/IKarakVaultSupervisor.json +76 -0
  45. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  46. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +25 -2
  47. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  48. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  49. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  50. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  51. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +4 -0
  52. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +422 -0
  53. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +4 -0
  54. package/build/artifacts/contracts/oracles/{PendlePtOracleLib.sol/PendlePtOracleLib.json → PendlePYOracleLib.sol/PendlePYOracleLib.json} +4 -4
  55. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  56. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
  57. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +4 -0
  58. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +183 -0
  59. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +4 -0
  60. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +183 -0
  61. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  62. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  63. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  64. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1202 -36
  65. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  66. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  67. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  69. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +4 -0
  70. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +34 -0
  71. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  72. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol +32 -0
  73. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol +80 -0
  74. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol +73 -0
  75. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol +141 -0
  76. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol +18 -0
  77. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol +71 -0
  78. package/contracts/interfaces/IERC4626.sol +2 -0
  79. package/contracts/interfaces/IPActionMiscV3.sol +99 -0
  80. package/contracts/interfaces/{IPPtLpOracle.sol → IPPYLpOracle.sol} +5 -1
  81. package/contracts/interfaces/IPReflector.sol +6 -0
  82. package/contracts/interfaces/IPTokenWithSupplyCap.sol +9 -0
  83. package/contracts/interfaces/Karak/IKarakVault.sol +6 -0
  84. package/contracts/interfaces/Karak/IKarakVaultSupervisor.sol +8 -0
  85. package/contracts/offchain-helpers/PendlePoolDeployHelper.sol +5 -0
  86. package/contracts/oracles/PendleLpOracleLib.sol +4 -4
  87. package/contracts/oracles/{PendlePtLpOracle.sol → PendlePYLpOracle.sol} +51 -21
  88. package/contracts/oracles/{PendlePtOracleLib.sol → PendlePYOracleLib.sol} +31 -1
  89. package/contracts/oracles/samples/BoringLpGlpOracle.sol +2 -2
  90. package/contracts/oracles/samples/{BoringPtUsdChainlinkOracle.sol → BoringPYUsdChainlinkAssetOracle.sol} +36 -12
  91. package/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol +102 -0
  92. package/contracts/router/ActionMiscV3.sol +182 -34
  93. package/contracts/router/ActionSwapYTV3.sol +0 -85
  94. package/contracts/router/Reflector.sol +70 -0
  95. package/contracts/router/base/ActionBase.sol +90 -1
  96. package/deployments/1-core.json +11 -2
  97. package/deployments/1-markets/KARAK-SUSDE-MAINNET-SEP2024.json +14 -0
  98. package/deployments/1-markets/KARAK-USDE-MAINNET-SEP2024.json +14 -0
  99. package/deployments/1-markets/KARAK-WEETH-MAINNET-SEP2024.json +14 -0
  100. package/deployments/10-core.json +11 -2
  101. package/deployments/42161-core.json +11 -2
  102. package/deployments/42161-markets/CAMELOT-PEP-ARBITRUM-JUNE2025.json +14 -0
  103. package/deployments/42161-markets/RSETH-ARBITRUM-SEP2024-NEW.json +11 -0
  104. package/deployments/5000-core.json +11 -2
  105. package/deployments/56-core.json +11 -2
  106. package/package.json +1 -1
  107. package/typechain-types/ActionMiscV3.ts +628 -16
  108. package/typechain-types/IERC4626.ts +34 -0
  109. package/typechain-types/IKarakVault.ts +84 -0
  110. package/typechain-types/IKarakVaultSupervisor.ts +190 -0
  111. package/typechain-types/IPActionMiscV3.ts +628 -16
  112. package/typechain-types/IPAllActionV3.ts +535 -0
  113. package/typechain-types/IPReflector.ts +95 -0
  114. package/typechain-types/IPTokenWithSupplyCap.ts +110 -0
  115. package/typechain-types/PendleKarakVaultERC20SY.ts +1324 -0
  116. package/typechain-types/PendleKarakVaultEzETHSY.ts +1400 -0
  117. package/typechain-types/PendleKarakVaultSUSDESY.ts +1380 -0
  118. package/typechain-types/PendleKarakVaultSYBaseUpg.ts +1312 -0
  119. package/typechain-types/PendleKarakVaultUSDESY.ts +1366 -0
  120. package/typechain-types/PendleKarakVaultWEETHSY.ts +1370 -0
  121. package/typechain-types/PendlePYLpOracle.ts +10 -3
  122. package/typechain-types/PendlePoolDeployHelper.ts +44 -0
  123. package/typechain-types/Reflector.ts +95 -0
  124. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  125. package/typechain-types/factories/ActionMiscV3__factory.ts +1201 -35
  126. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  127. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  128. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  129. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  130. package/typechain-types/factories/IKarakVaultSupervisor__factory.ts +95 -0
  131. package/typechain-types/factories/IKarakVault__factory.ts +36 -0
  132. package/typechain-types/factories/IPActionMiscV3__factory.ts +1200 -34
  133. package/typechain-types/factories/IPAllActionV3__factory.ts +1228 -62
  134. package/typechain-types/factories/IPReflector__factory.ts +42 -0
  135. package/typechain-types/factories/IPTokenWithSupplyCap__factory.ts +56 -0
  136. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  137. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  138. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  139. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  140. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1139 -0
  141. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1236 -0
  142. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1180 -0
  143. package/typechain-types/factories/PendleKarakVaultSYBaseUpg__factory.ts +1055 -0
  144. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1165 -0
  145. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1189 -0
  146. package/typechain-types/factories/PendlePYLpOracle__factory.ts +12 -24
  147. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +24 -1
  148. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  149. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  150. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  151. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  152. package/typechain-types/factories/Reflector__factory.ts +84 -0
  153. package/typechain-types/hardhat.d.ts +99 -0
  154. package/typechain-types/index.ts +22 -0
  155. package/build/artifacts/contracts/interfaces/IPPtLpOracle.sol/IPPtLpOracle.dbg.json +0 -4
  156. package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.dbg.json +0 -4
  157. package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.json +0 -367
  158. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +0 -4
  159. package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.dbg.json +0 -4
  160. package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.json +0 -157
@@ -0,0 +1,1165 @@
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
+ PendleKarakVaultUSDESY,
8
+ PendleKarakVaultUSDESYInterface,
9
+ } from "../PendleKarakVaultUSDESY";
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
+ {
645
+ internalType: "string",
646
+ name: "_name",
647
+ type: "string",
648
+ },
649
+ {
650
+ internalType: "string",
651
+ name: "_symbol",
652
+ type: "string",
653
+ },
654
+ ],
655
+ name: "initialize",
656
+ outputs: [],
657
+ stateMutability: "nonpayable",
658
+ type: "function",
659
+ },
660
+ {
661
+ inputs: [
662
+ {
663
+ internalType: "address",
664
+ name: "token",
665
+ type: "address",
666
+ },
667
+ ],
668
+ name: "isValidTokenIn",
669
+ outputs: [
670
+ {
671
+ internalType: "bool",
672
+ name: "",
673
+ type: "bool",
674
+ },
675
+ ],
676
+ stateMutability: "view",
677
+ type: "function",
678
+ },
679
+ {
680
+ inputs: [
681
+ {
682
+ internalType: "address",
683
+ name: "token",
684
+ type: "address",
685
+ },
686
+ ],
687
+ name: "isValidTokenOut",
688
+ outputs: [
689
+ {
690
+ internalType: "bool",
691
+ name: "",
692
+ type: "bool",
693
+ },
694
+ ],
695
+ stateMutability: "view",
696
+ type: "function",
697
+ },
698
+ {
699
+ inputs: [],
700
+ name: "name",
701
+ outputs: [
702
+ {
703
+ internalType: "string",
704
+ name: "",
705
+ type: "string",
706
+ },
707
+ ],
708
+ stateMutability: "view",
709
+ type: "function",
710
+ },
711
+ {
712
+ inputs: [
713
+ {
714
+ internalType: "address",
715
+ name: "owner",
716
+ type: "address",
717
+ },
718
+ ],
719
+ name: "nonces",
720
+ outputs: [
721
+ {
722
+ internalType: "uint256",
723
+ name: "",
724
+ type: "uint256",
725
+ },
726
+ ],
727
+ stateMutability: "view",
728
+ type: "function",
729
+ },
730
+ {
731
+ inputs: [],
732
+ name: "owner",
733
+ outputs: [
734
+ {
735
+ internalType: "address",
736
+ name: "",
737
+ type: "address",
738
+ },
739
+ ],
740
+ stateMutability: "view",
741
+ type: "function",
742
+ },
743
+ {
744
+ inputs: [],
745
+ name: "pause",
746
+ outputs: [],
747
+ stateMutability: "nonpayable",
748
+ type: "function",
749
+ },
750
+ {
751
+ inputs: [],
752
+ name: "paused",
753
+ outputs: [
754
+ {
755
+ internalType: "bool",
756
+ name: "",
757
+ type: "bool",
758
+ },
759
+ ],
760
+ stateMutability: "view",
761
+ type: "function",
762
+ },
763
+ {
764
+ inputs: [],
765
+ name: "pendingOwner",
766
+ outputs: [
767
+ {
768
+ internalType: "address",
769
+ name: "",
770
+ type: "address",
771
+ },
772
+ ],
773
+ stateMutability: "view",
774
+ type: "function",
775
+ },
776
+ {
777
+ inputs: [
778
+ {
779
+ internalType: "address",
780
+ name: "owner",
781
+ type: "address",
782
+ },
783
+ {
784
+ internalType: "address",
785
+ name: "spender",
786
+ type: "address",
787
+ },
788
+ {
789
+ internalType: "uint256",
790
+ name: "value",
791
+ type: "uint256",
792
+ },
793
+ {
794
+ internalType: "uint256",
795
+ name: "deadline",
796
+ type: "uint256",
797
+ },
798
+ {
799
+ internalType: "uint8",
800
+ name: "v",
801
+ type: "uint8",
802
+ },
803
+ {
804
+ internalType: "bytes32",
805
+ name: "r",
806
+ type: "bytes32",
807
+ },
808
+ {
809
+ internalType: "bytes32",
810
+ name: "s",
811
+ type: "bytes32",
812
+ },
813
+ ],
814
+ name: "permit",
815
+ outputs: [],
816
+ stateMutability: "nonpayable",
817
+ type: "function",
818
+ },
819
+ {
820
+ inputs: [
821
+ {
822
+ internalType: "address",
823
+ name: "tokenIn",
824
+ type: "address",
825
+ },
826
+ {
827
+ internalType: "uint256",
828
+ name: "amountTokenToDeposit",
829
+ type: "uint256",
830
+ },
831
+ ],
832
+ name: "previewDeposit",
833
+ outputs: [
834
+ {
835
+ internalType: "uint256",
836
+ name: "amountSharesOut",
837
+ type: "uint256",
838
+ },
839
+ ],
840
+ stateMutability: "view",
841
+ type: "function",
842
+ },
843
+ {
844
+ inputs: [
845
+ {
846
+ internalType: "address",
847
+ name: "tokenOut",
848
+ type: "address",
849
+ },
850
+ {
851
+ internalType: "uint256",
852
+ name: "amountSharesToRedeem",
853
+ type: "uint256",
854
+ },
855
+ ],
856
+ name: "previewRedeem",
857
+ outputs: [
858
+ {
859
+ internalType: "uint256",
860
+ name: "amountTokenOut",
861
+ type: "uint256",
862
+ },
863
+ ],
864
+ stateMutability: "view",
865
+ type: "function",
866
+ },
867
+ {
868
+ inputs: [
869
+ {
870
+ internalType: "address",
871
+ name: "receiver",
872
+ type: "address",
873
+ },
874
+ {
875
+ internalType: "uint256",
876
+ name: "amountSharesToRedeem",
877
+ type: "uint256",
878
+ },
879
+ {
880
+ internalType: "address",
881
+ name: "tokenOut",
882
+ type: "address",
883
+ },
884
+ {
885
+ internalType: "uint256",
886
+ name: "minTokenOut",
887
+ type: "uint256",
888
+ },
889
+ {
890
+ internalType: "bool",
891
+ name: "burnFromInternalBalance",
892
+ type: "bool",
893
+ },
894
+ ],
895
+ name: "redeem",
896
+ outputs: [
897
+ {
898
+ internalType: "uint256",
899
+ name: "amountTokenOut",
900
+ type: "uint256",
901
+ },
902
+ ],
903
+ stateMutability: "nonpayable",
904
+ type: "function",
905
+ },
906
+ {
907
+ inputs: [],
908
+ name: "rewardIndexesCurrent",
909
+ outputs: [
910
+ {
911
+ internalType: "uint256[]",
912
+ name: "indexes",
913
+ type: "uint256[]",
914
+ },
915
+ ],
916
+ stateMutability: "nonpayable",
917
+ type: "function",
918
+ },
919
+ {
920
+ inputs: [],
921
+ name: "rewardIndexesStored",
922
+ outputs: [
923
+ {
924
+ internalType: "uint256[]",
925
+ name: "indexes",
926
+ type: "uint256[]",
927
+ },
928
+ ],
929
+ stateMutability: "view",
930
+ type: "function",
931
+ },
932
+ {
933
+ inputs: [],
934
+ name: "stakeToken",
935
+ outputs: [
936
+ {
937
+ internalType: "address",
938
+ name: "",
939
+ type: "address",
940
+ },
941
+ ],
942
+ stateMutability: "view",
943
+ type: "function",
944
+ },
945
+ {
946
+ inputs: [],
947
+ name: "symbol",
948
+ outputs: [
949
+ {
950
+ internalType: "string",
951
+ name: "",
952
+ type: "string",
953
+ },
954
+ ],
955
+ stateMutability: "view",
956
+ type: "function",
957
+ },
958
+ {
959
+ inputs: [],
960
+ name: "totalSupply",
961
+ outputs: [
962
+ {
963
+ internalType: "uint256",
964
+ name: "",
965
+ type: "uint256",
966
+ },
967
+ ],
968
+ stateMutability: "view",
969
+ type: "function",
970
+ },
971
+ {
972
+ inputs: [
973
+ {
974
+ internalType: "address",
975
+ name: "to",
976
+ type: "address",
977
+ },
978
+ {
979
+ internalType: "uint256",
980
+ name: "amount",
981
+ type: "uint256",
982
+ },
983
+ ],
984
+ name: "transfer",
985
+ outputs: [
986
+ {
987
+ internalType: "bool",
988
+ name: "",
989
+ type: "bool",
990
+ },
991
+ ],
992
+ stateMutability: "nonpayable",
993
+ type: "function",
994
+ },
995
+ {
996
+ inputs: [
997
+ {
998
+ internalType: "address",
999
+ name: "from",
1000
+ type: "address",
1001
+ },
1002
+ {
1003
+ internalType: "address",
1004
+ name: "to",
1005
+ type: "address",
1006
+ },
1007
+ {
1008
+ internalType: "uint256",
1009
+ name: "amount",
1010
+ type: "uint256",
1011
+ },
1012
+ ],
1013
+ name: "transferFrom",
1014
+ outputs: [
1015
+ {
1016
+ internalType: "bool",
1017
+ name: "",
1018
+ type: "bool",
1019
+ },
1020
+ ],
1021
+ stateMutability: "nonpayable",
1022
+ type: "function",
1023
+ },
1024
+ {
1025
+ inputs: [
1026
+ {
1027
+ internalType: "address",
1028
+ name: "newOwner",
1029
+ type: "address",
1030
+ },
1031
+ {
1032
+ internalType: "bool",
1033
+ name: "direct",
1034
+ type: "bool",
1035
+ },
1036
+ {
1037
+ internalType: "bool",
1038
+ name: "renounce",
1039
+ type: "bool",
1040
+ },
1041
+ ],
1042
+ name: "transferOwnership",
1043
+ outputs: [],
1044
+ stateMutability: "nonpayable",
1045
+ type: "function",
1046
+ },
1047
+ {
1048
+ inputs: [],
1049
+ name: "unpause",
1050
+ outputs: [],
1051
+ stateMutability: "nonpayable",
1052
+ type: "function",
1053
+ },
1054
+ {
1055
+ inputs: [],
1056
+ name: "vault",
1057
+ outputs: [
1058
+ {
1059
+ internalType: "address",
1060
+ name: "",
1061
+ type: "address",
1062
+ },
1063
+ ],
1064
+ stateMutability: "view",
1065
+ type: "function",
1066
+ },
1067
+ {
1068
+ inputs: [],
1069
+ name: "vaultSupervisor",
1070
+ outputs: [
1071
+ {
1072
+ internalType: "address",
1073
+ name: "",
1074
+ type: "address",
1075
+ },
1076
+ ],
1077
+ stateMutability: "view",
1078
+ type: "function",
1079
+ },
1080
+ {
1081
+ inputs: [],
1082
+ name: "yieldToken",
1083
+ outputs: [
1084
+ {
1085
+ internalType: "address",
1086
+ name: "",
1087
+ type: "address",
1088
+ },
1089
+ ],
1090
+ stateMutability: "view",
1091
+ type: "function",
1092
+ },
1093
+ {
1094
+ stateMutability: "payable",
1095
+ type: "receive",
1096
+ },
1097
+ ];
1098
+
1099
+ const _bytecode =
1100
+ "0x6101206040523480156200001257600080fd5b5060405162003fde38038062003fde83398101604081905262000035916200023a565b8181818181806001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000079573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009f919062000272565b60ff16608052610134805460ff191690556001600160a01b0390811660a052821660c0819052604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa15801562000101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012791906200029e565b6001600160a01b0390811660e052166101005250620001456200014f565b50505050620002bc565b600154600160a81b900460ff1615620001be5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146200021b576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b03811681146200023557600080fd5b919050565b600080604083850312156200024e57600080fd5b62000259836200021d565b915062000269602084016200021d565b90509250929050565b6000602082840312156200028557600080fd5b815160ff811681146200029757600080fd5b9392505050565b600060208284031215620002b157600080fd5b62000297826200021d565b60805160a05160c05160e05161010051613bef620003ef6000396000818161049e0152818161194f015281816119da015281816121cc015261238301526000818161040e01528181610bdd01528181611280015281816112a1015281816115f5015281816118210152818161189a015281816118cb01528181612161015281816124970152818161251001526125410152600081816107330152818161075a015281816107f30152818161090501528181610bbc01528181610cc6015281816110c701528181611119015281816115ba0152818161185e0152818161191901528181611a0701528181612182015281816121ab015281816123b001528181612411015281816124d40152818161257c015281816126020152612688015260006104f2015260006103540152613bef6000f3fe6080604052600436106101e55760003560e01c80630186533d146101f157806306fdde0314610219578063071bc3c91461023b578063078dfbe71461025d578063095ea7b31461027f578063128fced1146102af57806318160ddd146102dc57806320e8c565146102fa578063213cae631461030d57806323b872dd14610322578063313ce567146103425780633644e515146103885780633ba0b9a91461039d5780633f4ba83a146103b25780634cd88b76146103c75780634e71e0c8146103e757806351ed6a30146103fc5780635c975abb1461043d57806370a08231146104565780637235200e1461048c578063769f8e5d146104c057806376d5de85146104e0578063784367d6146105145780637ecebe001461053457806380975cc4146105545780638456cb591461056957806384b0196e1461057e5780638da5cb5b146105a657806395d89b41146105c6578063a40bee50146105db578063a9059cbb146105ff578063b8f82b261461061f578063c4f59f9b1461063f578063cbe52ae314610660578063d505accf14610680578063da88ecb4146106a0578063dd62ed3e146106c1578063e30c3978146106e1578063ef5cfb8c146102af578063f8b2f991146106a0578063fa5a4f0614610701578063fbfa77cf1461072157600080fd5b366101ec57005b600080fd5b3480156101fd57600080fd5b50610206610755565b6040519081526020015b60405180910390f35b34801561022557600080fd5b5061022e61086c565b604051610210919061331d565b34801561024757600080fd5b506102506108fe565b6040516102109190613330565b34801561026957600080fd5b5061027d6102783660046133a7565b61092e565b005b34801561028b57600080fd5b5061029f61029a3660046133f0565b610a33565b6040519015158152602001610210565b3480156102bb57600080fd5b506102cf6102ca36600461341a565b610a4d565b6040516102109190613471565b3480156102e857600080fd5b506004546001600160f81b0316610206565b610206610308366004613484565b610a68565b34801561031957600080fd5b50610250610bb1565b34801561032e57600080fd5b5061029f61033d3660046134c6565b610c07565b34801561034e57600080fd5b506103767f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610210565b34801561039457600080fd5b50610206610c85565b3480156103a957600080fd5b50610206610c8f565b3480156103be57600080fd5b5061027d610d57565b3480156103d357600080fd5b5061027d6103e23660046135a4565b610d8b565b3480156103f357600080fd5b5061027d610ec5565b34801561040857600080fd5b506104307f000000000000000000000000000000000000000000000000000000000000000081565b6040516102109190613607565b34801561044957600080fd5b506101345460ff1661029f565b34801561046257600080fd5b5061020661047136600461341a565b6001600160a01b031660009081526002602052604090205490565b34801561049857600080fd5b506104307f000000000000000000000000000000000000000000000000000000000000000081565b3480156104cc57600080fd5b506102066104db36600461361b565b610f70565b3480156104ec57600080fd5b506104307f000000000000000000000000000000000000000000000000000000000000000081565b34801561052057600080fd5b5061029f61052f36600461341a565b6110c5565b34801561054057600080fd5b5061020661054f36600461341a565b6110f7565b34801561056057600080fd5b50610206611115565b34801561057557600080fd5b5061027d611199565b34801561058a57600080fd5b506105936111cb565b6040516102109796959493929190613676565b3480156105b257600080fd5b50600054610430906001600160a01b031681565b3480156105d257600080fd5b5061022e611269565b3480156105e757600080fd5b506105f0611278565b604051610210939291906136fc565b34801561060b57600080fd5b5061029f61061a3660046133f0565b61132c565b34801561062b57600080fd5b5061020661063a3660046133f0565b61139e565b34801561064b57600080fd5b50604080516000815260208101909152610250565b34801561066c57600080fd5b5061020661067b3660046133f0565b6113d9565b34801561068c57600080fd5b5061027d61069b36600461374d565b611409565b3480156106ac57600080fd5b506040805160008152602081019091526102cf565b3480156106cd57600080fd5b506102066106dc3660046137ba565b61158b565b3480156106ed57600080fd5b50600154610430906001600160a01b031681565b34801561070d57600080fd5b5061029f61071c36600461341a565b6115b6565b34801561072d57600080fd5b506104307f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322da98e76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da91906137ed565b6040516363737ac960e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c6e6f59290602401602060405180830381865afa158015610842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086691906137ed565b91505090565b60606005805461087b90613806565b80601f01602080910402602001604051908101604052809291908181526020018280546108a790613806565b80156108f45780601f106108c9576101008083540402835291602001916108f4565b820191906000526020600020905b8154815290600101906020018083116108d757829003601f168201915b5050505050905090565b60606109297f0000000000000000000000000000000000000000000000000000000000000000611636565b905090565b6000546001600160a01b031633146109615760405162461bcd60e51b81526004016109589061383a565b60405180910390fd5b8115610a12576001600160a01b03831615158061097b5750805b6109bf5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610958565b600080546040516001600160a01b0380871693921691600080516020613b7a83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b600033610a41818585611691565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600454600090600119600160f81b90910460ff1601610a995760405162461bcd60e51b81526004016109589061386f565b600480546001600160f81b0316600160f91b179055610ab7846115b6565b610ad657836040516315d57ce360e31b81526004016109589190613607565b82600003610af757604051630a907f2f60e41b815260040160405180910390fd5b610b028433856117b6565b610b0c848461181d565b905081811015610b33578082604051635e38f95d60e11b81526004016109589291906138a6565b610b3d8582611a6b565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610b8c9291906138a6565b60405180910390a4600480546001600160f81b0316600160f81b179055949350505050565b606061092981610c017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611b83565b90611c11565b600454600090600119600160f81b90910460ff1601610c385760405162461bcd60e51b81526004016109589061386f565b600480546001600160f81b0316600160f91b17905533610c59858285611df6565b610c64858585611e70565b6001915050600480546001600160f81b0316600160f81b1790559392505050565b6000610929612092565b600080670de0b6b3a76400006040516303d1689d60e11b8152670de0b6b3a764000060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906307a2d13a90602401602060405180830381865afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3191906137ed565b9050670de0b6b3a7640000610d4682846138ca565b610d5091906138f7565b9250505090565b6000546001600160a01b03163314610d815760405162461bcd60e51b81526004016109589061383a565b610d8961209c565b565b600154600160a81b900460ff1615808015610db1575060018054600160a01b900460ff16105b80610dd85750610dc0306120e9565b158015610dd8575060018054600160a01b900460ff16145b610e3b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610958565b6001805460ff60a01b1916600160a01b1790558015610e68576001805460ff60a81b1916600160a81b1790555b610e7283836120f8565b610e7a612133565b8015610a2e576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001546001600160a01b0316338114610f205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610958565b600080546040516001600160a01b0380851693921691600080516020613b7a83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600454600090600119600160f81b90910460ff1601610fa15760405162461bcd60e51b81526004016109589061386f565b600480546001600160f81b0316600160f91b179055610fbf846110c5565b610fde57836040516388a5056160e01b81526004016109589190613607565b84600003610fff5760405163c3d83b0760e01b815260040160405180910390fd5b81156110145761100f30866121f0565b61101e565b61101e33866121f0565b611029868587612369565b9050828110156110505780836040516305ff726560e51b81526004016109589291906138a6565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c888560405161109f9291906138a6565b60405180910390a4600480546001600160f81b0316600160f81b17905595945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6001600160a01b0381166000908152609f6020526040812054610a47565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611175573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092991906137ed565b6000546001600160a01b031633146111c35760405162461bcd60e51b81526004016109589061383a565b610d89612437565b600060608060008060006060606b546000801b1480156111eb5750606c54155b61122f5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610958565b611237612475565b61123f612484565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606006805461087b90613806565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611321919061390b565b925092509250909192565b600454600090600119600160f81b90910460ff160161135d5760405162461bcd60e51b81526004016109589061386f565b600480546001600160f81b0316600160f91b1790553361137e818585611e70565b6001915050600480546001600160f81b0316600160f81b17905592915050565b60006113a9836115b6565b6113c857826040516315d57ce360e31b81526004016109589190613607565b6113d28383612493565b9392505050565b60006113e4836110c5565b61140357826040516388a5056160e01b81526004016109589190613607565b816113d2565b834211156114595760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610958565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886114a68c6001600160a01b03166000908152609f6020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006115018261276a565b9050600061151182878787612797565b9050896001600160a01b0316816001600160a01b0316146115745760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610958565b61157f8a8a8a611691565b50505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061162957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610a4757506000610a47565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061166c5761166c613928565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b6001600160a01b0383166116f35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610958565b6001600160a01b0382166117545760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610958565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661180257803414610a2e5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610958565b8015610a2e57610a2e6001600160a01b0384168330846127c1565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415801561189357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156118c9577f00000000000000000000000000000000000000000000000000000000000000006118c3848461282c565b90935091505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036119c357604051630efe6a8b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052600060448301527f00000000000000000000000000000000000000000000000000000000000000001690630efe6a8b906064016020604051808303816000875af1158015611998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bc91906137ed565b9050610a47565b604051638b19802560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638b19802590611a31907f000000000000000000000000000000000000000000000000000000000000000090869060040161393e565b600060405180830381600087803b158015611a4b57600080fd5b505af1158015611a5f573d6000803e3d6000fd5b50505050819050610a47565b6001600160a01b038216611ac15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610958565b611acd60008383612836565b611ad68161283e565b60048054600090611af19084906001600160f81b0316613957565b92506101000a8154816001600160f81b0302191690836001600160f81b031602179055508060026000846001600160a01b03166001600160a01b031681526020019081526020016000206000828254611b4a9190613977565b90915550506040518181526001600160a01b03831690600090600080516020613b9a8339815191529060200160405180910390a35b5050565b60408051600280825260608083018452926020830190803683370190505090508281600081518110611bb757611bb7613928565b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110611beb57611beb613928565b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b606060008083516001600160401b03811115611c2f57611c2f613502565b604051908082528060200260200182016040528015611c58578160200160208202803683370190505b50905060005b8451811015611cc357611c8a86868381518110611c7d57611c7d613928565b6020026020010151612858565b611cbb5782806001019350506001828281518110611caa57611caa613928565b911515602092830291909101909101525b600101611c5e565b50818551016001600160401b03811115611cdf57611cdf613502565b604051908082528060200260200182016040528015611d08578160200160208202803683370190505b50925060005b8551811015611d6357858181518110611d2957611d29613928565b6020026020010151848281518110611d4357611d43613928565b6001600160a01b0390921660209283029190910190910152600101611d0e565b50845160005b8551811015611dec57828181518110611d8457611d84613928565b602002602001015115611de457858181518110611da357611da3613928565b6020026020010151858380600101945081518110611dc357611dc3613928565b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101611d69565b5050505092915050565b6000611e02848461158b565b90506000198114611e6a5781811015611e5d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610958565b611e6a8484848403611691565b50505050565b6001600160a01b038316611ed45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610958565b6001600160a01b038216611f365760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610958565b816001600160a01b0316836001600160a01b031603611f915760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b6044820152606401610958565b611f9c838383612836565b6001600160a01b038316600090815260026020526040902054818110156120145760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610958565b6001600160a01b0380851660009081526002602052604080822085850390559185168152908120805484929061204b908490613977565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613b9a8339815191528460405161208591815260200190565b60405180910390a3611e6a565b60006109296128b7565b6120a461292b565b610134805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516120df9190613607565b60405180910390a1565b6001600160a01b03163b151590565b600154600160a81b900460ff166121215760405162461bcd60e51b81526004016109589061398a565b61212b8282612975565b611b7f6129cb565b600154600160a81b900460ff1661215c5760405162461bcd60e51b81526004016109589061398a565b6121a67f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612a08565b610d897f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612a08565b6001600160a01b0382166122505760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610958565b61225c82600083612836565b6001600160a01b038216600090815260026020526040902054818110156122d05760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610958565b6001600160a01b038316600090815260026020526040902082820390556122f68261283e565b600480546000906123119084906001600160f81b03166139d5565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020613b9a833981519152846040516117a991815260200190565b604051637fb2a0a160e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637fb2a0a1906123da907f000000000000000000000000000000000000000000000000000000000000000090869060040161393e565b600060405180830381600087803b1580156123f457600080fd5b505af1158015612408573d6000803e3d6000fd5b50505050610a617f00000000000000000000000000000000000000000000000000000000000000008584612ac8565b61243f612b8c565b610134805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120d23390565b6060606d805461087b90613806565b6060606e805461087b90613806565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415801561250957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561253f577f0000000000000000000000000000000000000000000000000000000000000000612539848461282c565b90935091505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036127645760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125fc91906137ed565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561265e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061268291906137ed565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322da98e76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270891906137ed565b9050806127158685613977565b1115612745576040516313a2ce0760e11b8152600481018290526024810184905260448101869052606401610958565b8261275083876138ca565b61275a91906138f7565b9350505050610a47565b50919050565b6000610a47612777612092565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006127a887878787612bd3565b915091506127b581612c8d565b5090505b949350505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611e6a9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612dd5565b6000610a476139f5565b610a2e612b8c565b60006001600160f81b0382111561285457600080fd5b5090565b8151600090815b818110156128ac57836001600160a01b031685828151811061288357612883613928565b60200260200101516001600160a01b0316036128a457600192505050610a47565b60010161285f565b506000949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6128e2612eaa565b6128ea612f03565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6101345460ff16610d895760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610958565b600154600160a81b900460ff1661299e5760405162461bcd60e51b81526004016109589061398a565b6129a88282612f34565b611b7f82604051806040016040528060018152602001603160f81b815250612f90565b600154600160a81b900460ff166129f45760405162461bcd60e51b81526004016109589061398a565b600080546001600160a01b03191633179055565b6001600160a01b038216612a1a575050565b612a2c60026001600160601b03613a0b565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015612a85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa991906137ed565b1015611b7f57612abb82826000612fc3565b611b7f8282600019612fc3565b80600003612ad557505050565b6001600160a01b038316612b78576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612b30576040519150601f19603f3d011682016040523d82523d6000602084013e612b35565b606091505b5050905080611e6a5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610958565b610a2e6001600160a01b03841683836130d7565b6101345460ff1615610d895760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610958565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115612c005750600090506003612c84565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612c54573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612c7d57600060019250925050612c84565b9150600090505b94509492505050565b6000816004811115612ca157612ca16136e6565b03612ca95750565b6001816004811115612cbd57612cbd6136e6565b03612d055760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610958565b6002816004811115612d1957612d196136e6565b03612d665760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610958565b6003816004811115612d7a57612d7a6136e6565b03612dd25760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610958565b50565b6000612e2a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130f69092919063ffffffff16565b9050805160001480612e4b575080806020019051810190612e4b9190613a31565b610a2e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610958565b600080612eb5612475565b805190915015612ecc578051602090910120919050565b606b548015612edb5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612f0e612484565b805190915015612f25578051602090910120919050565b606c548015612edb5792915050565b600154600160a81b900460ff16612f5d5760405162461bcd60e51b81526004016109589061398a565b6005612f698382613a9e565b506006612f768282613a9e565b5050600480546001600160f81b0316600160f81b17905550565b600154600160a81b900460ff16612fb95760405162461bcd60e51b81526004016109589061398a565b611b7f8282613105565b600080846001600160a01b031663095ea7b360e01b8585604051602401612feb92919061393e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516130299190613b5d565b6000604051808303816000865af19150503d8060008114613066576040519150601f19603f3d011682016040523d82523d6000602084013e61306b565b606091505b50915091508180156130955750805115806130955750808060200190518101906130959190613a31565b6130d05760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b6044820152606401610958565b5050505050565b610a2e8363a9059cbb60e01b84846040516024016127f592919061393e565b60606127b98484600085613156565b600154600160a81b900460ff1661312e5760405162461bcd60e51b81526004016109589061398a565b606d61313a8382613a9e565b50606e6131478282613a9e565b50506000606b819055606c5550565b6060824710156131b75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610958565b600080866001600160a01b031685876040516131d39190613b5d565b60006040518083038185875af1925050503d8060008114613210576040519150601f19603f3d011682016040523d82523d6000602084013e613215565b606091505b509150915061322687838387613231565b979650505050505050565b6060831561329e5782516000036132975761324b856120e9565b6132975760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610958565b50816127b9565b6127b983838151156132b35781518083602001fd5b8060405162461bcd60e51b8152600401610958919061331d565b60005b838110156132e85781810151838201526020016132d0565b50506000910152565b600081518084526133098160208601602086016132cd565b601f01601f19169290920160200192915050565b6020815260006113d260208301846132f1565b6020808252825182820181905260009190848201906040850190845b818110156133715783516001600160a01b03168352928401929184019160010161334c565b50909695505050505050565b80356001600160a01b038116811461339457600080fd5b919050565b8015158114612dd257600080fd5b6000806000606084860312156133bc57600080fd5b6133c58461337d565b925060208401356133d581613399565b915060408401356133e581613399565b809150509250925092565b6000806040838503121561340357600080fd5b61340c8361337d565b946020939093013593505050565b60006020828403121561342c57600080fd5b6113d28261337d565b60008151808452602080850194506020840160005b838110156134665781518752958201959082019060010161344a565b509495945050505050565b6020815260006113d26020830184613435565b6000806000806080858703121561349a57600080fd5b6134a38561337d565b93506134b16020860161337d565b93969395505050506040820135916060013590565b6000806000606084860312156134db57600080fd5b6134e48461337d565b92506134f26020850161337d565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261352957600080fd5b81356001600160401b038082111561354357613543613502565b604051601f8301601f19908116603f0116810190828211818310171561356b5761356b613502565b8160405283815286602085880101111561358457600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156135b757600080fd5b82356001600160401b03808211156135ce57600080fd5b6135da86838701613518565b935060208501359150808211156135f057600080fd5b506135fd85828601613518565b9150509250929050565b6001600160a01b0391909116815260200190565b600080600080600060a0868803121561363357600080fd5b61363c8661337d565b9450602086013593506136516040870161337d565b925060608601359150608086013561366881613399565b809150509295509295909350565b60ff60f81b8816815260e06020820152600061369560e08301896132f1565b82810360408401526136a781896132f1565b606084018890526001600160a01b038716608085015260a0840186905283810360c085015290506136d88185613435565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b606081016002851061371e57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff81168114612dd257600080fd5b600080600080600080600060e0888a03121561376857600080fd5b6137718861337d565b965061377f6020890161337d565b95506040880135945060608801359350608088013561379d8161373e565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156137cd57600080fd5b6137d68361337d565b91506137e46020840161337d565b90509250929050565b6000602082840312156137ff57600080fd5b5051919050565b600181811c9082168061381a57607f821691505b60208210810361276457634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4757610a476138b4565b634e487b7160e01b600052601260045260246000fd5b600082613906576139066138e1565b500490565b60006020828403121561391d57600080fd5b81516113d28161373e565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b6001600160f81b03818116838216019080821115610a6157610a616138b4565b80820180821115610a4757610a476138b4565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160f81b03828116828216039080821115610a6157610a616138b4565b634e487b7160e01b600052600160045260246000fd5b60006001600160601b0383811680613a2557613a256138e1565b92169190910492915050565b600060208284031215613a4357600080fd5b81516113d281613399565b601f821115610a2e576000816000526020600020601f850160051c81016020861015613a775750805b601f850160051c820191505b81811015613a9657828155600101613a83565b505050505050565b81516001600160401b03811115613ab757613ab7613502565b613acb81613ac58454613806565b84613a4e565b602080601f831160018114613b005760008415613ae85750858301515b600019600386901b1c1916600185901b178555613a96565b600085815260208120601f198616915b82811015613b2f57888601518255948401946001909101908401613b10565b5085821015613b4d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613b6f8184602087016132cd565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122059bd8f35e18c16d2ba27c7a228f2f04fda2be9cf83c1a52a2115f54162015a0f64736f6c63430008170033";
1101
+
1102
+ type PendleKarakVaultUSDESYConstructorParams =
1103
+ | [signer?: Signer]
1104
+ | ConstructorParameters<typeof ContractFactory>;
1105
+
1106
+ const isSuperArgs = (
1107
+ xs: PendleKarakVaultUSDESYConstructorParams
1108
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1109
+
1110
+ export class PendleKarakVaultUSDESY__factory extends ContractFactory {
1111
+ constructor(...args: PendleKarakVaultUSDESYConstructorParams) {
1112
+ if (isSuperArgs(args)) {
1113
+ super(...args);
1114
+ } else {
1115
+ super(_abi, _bytecode, args[0]);
1116
+ }
1117
+ this.contractName = "PendleKarakVaultUSDESY";
1118
+ }
1119
+
1120
+ deploy(
1121
+ _vault: string,
1122
+ _vaultSupervisor: string,
1123
+ overrides?: Overrides & { from?: string | Promise<string> }
1124
+ ): Promise<PendleKarakVaultUSDESY> {
1125
+ return super.deploy(
1126
+ _vault,
1127
+ _vaultSupervisor,
1128
+ overrides || {}
1129
+ ) as Promise<PendleKarakVaultUSDESY>;
1130
+ }
1131
+ getDeployTransaction(
1132
+ _vault: string,
1133
+ _vaultSupervisor: string,
1134
+ overrides?: Overrides & { from?: string | Promise<string> }
1135
+ ): TransactionRequest {
1136
+ return super.getDeployTransaction(
1137
+ _vault,
1138
+ _vaultSupervisor,
1139
+ overrides || {}
1140
+ );
1141
+ }
1142
+ attach(address: string): PendleKarakVaultUSDESY {
1143
+ return super.attach(address) as PendleKarakVaultUSDESY;
1144
+ }
1145
+ connect(signer: Signer): PendleKarakVaultUSDESY__factory {
1146
+ return super.connect(signer) as PendleKarakVaultUSDESY__factory;
1147
+ }
1148
+ static readonly contractName: "PendleKarakVaultUSDESY";
1149
+ public readonly contractName: "PendleKarakVaultUSDESY";
1150
+ static readonly bytecode = _bytecode;
1151
+ static readonly abi = _abi;
1152
+ static createInterface(): PendleKarakVaultUSDESYInterface {
1153
+ return new utils.Interface(_abi) as PendleKarakVaultUSDESYInterface;
1154
+ }
1155
+ static connect(
1156
+ address: string,
1157
+ signerOrProvider: Signer | Provider
1158
+ ): PendleKarakVaultUSDESY {
1159
+ return new Contract(
1160
+ address,
1161
+ _abi,
1162
+ signerOrProvider
1163
+ ) as PendleKarakVaultUSDESY;
1164
+ }
1165
+ }