@pendle/core-v2 6.8.1 → 6.10.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 (119) hide show
  1. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.json +244 -249
  3. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.dbg.json +1 -1
  4. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.dbg.json +1 -1
  5. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.json +244 -249
  6. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.dbg.json +1 -1
  7. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.json +2 -2
  8. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.dbg.json +1 -1
  9. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.json +246 -251
  10. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.dbg.json +1 -1
  11. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.dbg.json +1 -1
  12. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.dbg.json +1 -1
  13. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.json +2 -2
  14. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.dbg.json +1 -1
  15. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.json +2 -2
  16. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MMPayloadLib.sol/AaveV4MMPayloadLib.dbg.json +4 -0
  17. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MMPayloadLib.sol/AaveV4MMPayloadLib.json +10 -0
  18. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarket.sol/AaveV4MoneyMarket.dbg.json +4 -0
  19. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarket.sol/AaveV4MoneyMarket.json +615 -0
  20. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarketView.sol/AaveV4MoneyMarketView.dbg.json +4 -0
  21. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarketView.sol/AaveV4MoneyMarketView.json +280 -0
  22. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IAaveOracle.sol/IAaveOracle.dbg.json +4 -0
  23. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IAaveOracle.sol/IAaveOracle.json +30 -0
  24. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IHubBase.sol/IHubBase.dbg.json +4 -0
  25. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IHubBase.sol/IHubBase.json +322 -0
  26. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/ISpoke.sol/ISpoke.dbg.json +4 -0
  27. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/ISpoke.sol/ISpoke.json +398 -0
  28. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMMPayloadLib.sol/EulerMMPayloadLib.dbg.json +4 -0
  29. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMMPayloadLib.sol/EulerMMPayloadLib.json +10 -0
  30. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarket.sol/EulerMoneyMarket.dbg.json +4 -0
  31. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarket.sol/EulerMoneyMarket.json +651 -0
  32. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarketView.sol/EulerMoneyMarketView.dbg.json +4 -0
  33. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarketView.sol/EulerMoneyMarketView.json +298 -0
  34. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEthereumVaultConnector.sol/IEVC.dbg.json +4 -0
  35. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEthereumVaultConnector.sol/IEVC.json +959 -0
  36. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerFactory.sol/IEulerFactory.dbg.json +4 -0
  37. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerFactory.sol/IEulerFactory.json +30 -0
  38. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerPriceOracle.sol/IEulerPriceOracle.dbg.json +4 -0
  39. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerPriceOracle.sol/IEulerPriceOracle.json +53 -0
  40. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/AmountCapLib.dbg.json +4 -0
  41. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/AmountCapLib.json +10 -0
  42. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/IEulerVault.dbg.json +4 -0
  43. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/IEulerVault.json +933 -0
  44. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.dbg.json +1 -1
  45. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.json +2 -2
  46. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.dbg.json +1 -1
  47. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.json +2 -2
  48. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  49. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  52. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  53. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  54. package/contracts/interfaces/IPPTLooper.sol +2 -4
  55. package/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol +6 -6
  56. package/contracts/pt-looping/PendlePTLooper.sol +4 -2
  57. package/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MMPayloadLib.sol +20 -0
  58. package/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarket.sol +85 -0
  59. package/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarketView.sol +180 -0
  60. package/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IAaveOracle.sol +12 -0
  61. package/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IHubBase.sol +72 -0
  62. package/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/ISpoke.sol +88 -0
  63. package/contracts/pt-looping/money-market/implementations/euler/EulerMMPayloadLib.sol +25 -0
  64. package/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarket.sol +104 -0
  65. package/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarketView.sol +105 -0
  66. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEthereumVaultConnector.sol +432 -0
  67. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerFactory.sol +10 -0
  68. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerPriceOracle.sol +26 -0
  69. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol +149 -0
  70. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +6 -0
  71. package/deployments/1-offchain-helper.json +2 -1
  72. package/deployments/143-core.json +7 -1
  73. package/deployments/143-offchain-helper.json +2 -1
  74. package/deployments/196-core.json +49 -0
  75. package/deployments/196-offchain-helper.json +12 -0
  76. package/deployments/42161-core.json +4 -1
  77. package/deployments/42161-offchain-helper.json +2 -1
  78. package/deployments/4663-core.json +48 -0
  79. package/deployments/4663-offchain-helper.json +12 -0
  80. package/deployments/56-offchain-helper.json +2 -1
  81. package/deployments/8453-offchain-helper.json +2 -1
  82. package/deployments/9745-offchain-helper.json +2 -1
  83. package/deployments/999-offchain-helper.json +2 -1
  84. package/package.json +1 -1
  85. package/typechain-types/AaveV4MoneyMarket.ts +573 -0
  86. package/typechain-types/AaveV4MoneyMarketView.ts +362 -0
  87. package/typechain-types/EulerMoneyMarket.ts +599 -0
  88. package/typechain-types/EulerMoneyMarketView.ts +375 -0
  89. package/typechain-types/IAaveOracle.ts +17 -149
  90. package/typechain-types/IEVC.ts +1647 -0
  91. package/typechain-types/IEulerFactory.ts +94 -0
  92. package/typechain-types/IEulerPriceOracle.ts +123 -0
  93. package/typechain-types/IEulerVault.ts +1298 -0
  94. package/typechain-types/IHubBase.ts +452 -0
  95. package/typechain-types/IPPTLooper.ts +68 -68
  96. package/typechain-types/ISpoke.ts +577 -0
  97. package/typechain-types/PTLooperBase.ts +68 -68
  98. package/typechain-types/PendlePTLooper.ts +68 -68
  99. package/typechain-types/factories/AaveMoneyMarketView__factory.ts +1 -1
  100. package/typechain-types/factories/AaveMoneyMarket__factory.ts +1 -1
  101. package/typechain-types/factories/AaveV4MoneyMarketView__factory.ts +349 -0
  102. package/typechain-types/factories/AaveV4MoneyMarket__factory.ts +673 -0
  103. package/typechain-types/factories/EulerMoneyMarketView__factory.ts +371 -0
  104. package/typechain-types/factories/EulerMoneyMarket__factory.ts +720 -0
  105. package/typechain-types/factories/IAaveOracle__factory.ts +3 -93
  106. package/typechain-types/factories/IEVC__factory.ts +968 -0
  107. package/typechain-types/factories/IEulerFactory__factory.ts +42 -0
  108. package/typechain-types/factories/IEulerPriceOracle__factory.ts +68 -0
  109. package/typechain-types/factories/IEulerVault__factory.ts +945 -0
  110. package/typechain-types/factories/IHubBase__factory.ts +334 -0
  111. package/typechain-types/factories/IPPTLooper__factory.ts +243 -248
  112. package/typechain-types/factories/ISpoke__factory.ts +407 -0
  113. package/typechain-types/factories/MorphoBlueMoneyMarketView__factory.ts +1 -1
  114. package/typechain-types/factories/MorphoBlueMoneyMarket__factory.ts +1 -1
  115. package/typechain-types/factories/PTLooperBase__factory.ts +243 -248
  116. package/typechain-types/factories/PendlePTLooper__factory.ts +244 -249
  117. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  118. package/typechain-types/hardhat.d.ts +99 -45
  119. package/typechain-types/index.ts +22 -12
@@ -0,0 +1,720 @@
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
+ EulerMoneyMarket,
8
+ EulerMoneyMarketInterface,
9
+ } from "../EulerMoneyMarket";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "ptLooper",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "_evc",
22
+ type: "address",
23
+ },
24
+ {
25
+ internalType: "address",
26
+ name: "_factory",
27
+ type: "address",
28
+ },
29
+ ],
30
+ stateMutability: "nonpayable",
31
+ type: "constructor",
32
+ },
33
+ {
34
+ anonymous: false,
35
+ inputs: [
36
+ {
37
+ indexed: true,
38
+ internalType: "contract IPLoopPositionBox",
39
+ name: "box",
40
+ type: "address",
41
+ },
42
+ {
43
+ indexed: true,
44
+ internalType: "address",
45
+ name: "asset",
46
+ type: "address",
47
+ },
48
+ {
49
+ indexed: false,
50
+ internalType: "uint256",
51
+ name: "amount",
52
+ type: "uint256",
53
+ },
54
+ {
55
+ indexed: false,
56
+ internalType: "uint256",
57
+ name: "balanceBefore",
58
+ type: "uint256",
59
+ },
60
+ ],
61
+ name: "Borrowed",
62
+ type: "event",
63
+ },
64
+ {
65
+ anonymous: false,
66
+ inputs: [
67
+ {
68
+ indexed: true,
69
+ internalType: "contract IPLoopPositionBox",
70
+ name: "box",
71
+ type: "address",
72
+ },
73
+ {
74
+ indexed: true,
75
+ internalType: "address",
76
+ name: "asset",
77
+ type: "address",
78
+ },
79
+ {
80
+ indexed: false,
81
+ internalType: "uint256",
82
+ name: "amount",
83
+ type: "uint256",
84
+ },
85
+ {
86
+ indexed: false,
87
+ internalType: "uint256",
88
+ name: "balanceBefore",
89
+ type: "uint256",
90
+ },
91
+ ],
92
+ name: "Lent",
93
+ type: "event",
94
+ },
95
+ {
96
+ anonymous: false,
97
+ inputs: [
98
+ {
99
+ indexed: true,
100
+ internalType: "contract IPLoopPositionBox",
101
+ name: "box",
102
+ type: "address",
103
+ },
104
+ {
105
+ indexed: true,
106
+ internalType: "address",
107
+ name: "asset",
108
+ type: "address",
109
+ },
110
+ {
111
+ indexed: false,
112
+ internalType: "uint256",
113
+ name: "amount",
114
+ type: "uint256",
115
+ },
116
+ {
117
+ indexed: false,
118
+ internalType: "uint256",
119
+ name: "balanceBefore",
120
+ type: "uint256",
121
+ },
122
+ ],
123
+ name: "Repaid",
124
+ type: "event",
125
+ },
126
+ {
127
+ anonymous: false,
128
+ inputs: [
129
+ {
130
+ indexed: true,
131
+ internalType: "address",
132
+ name: "rewardController",
133
+ type: "address",
134
+ },
135
+ {
136
+ indexed: false,
137
+ internalType: "address[]",
138
+ name: "rewardTokens",
139
+ type: "address[]",
140
+ },
141
+ {
142
+ indexed: false,
143
+ internalType: "uint256[]",
144
+ name: "claimedAmount",
145
+ type: "uint256[]",
146
+ },
147
+ ],
148
+ name: "RewardsClaimed",
149
+ type: "event",
150
+ },
151
+ {
152
+ anonymous: false,
153
+ inputs: [
154
+ {
155
+ indexed: true,
156
+ internalType: "contract IPLoopPositionBox",
157
+ name: "box",
158
+ type: "address",
159
+ },
160
+ {
161
+ indexed: true,
162
+ internalType: "address",
163
+ name: "asset",
164
+ type: "address",
165
+ },
166
+ {
167
+ indexed: false,
168
+ internalType: "uint256",
169
+ name: "amount",
170
+ type: "uint256",
171
+ },
172
+ {
173
+ indexed: false,
174
+ internalType: "uint256",
175
+ name: "balanceBefore",
176
+ type: "uint256",
177
+ },
178
+ ],
179
+ name: "Withdrawn",
180
+ type: "event",
181
+ },
182
+ {
183
+ inputs: [],
184
+ name: "EVC",
185
+ outputs: [
186
+ {
187
+ internalType: "contract IEVC",
188
+ name: "",
189
+ type: "address",
190
+ },
191
+ ],
192
+ stateMutability: "view",
193
+ type: "function",
194
+ },
195
+ {
196
+ inputs: [],
197
+ name: "FACTORY",
198
+ outputs: [
199
+ {
200
+ internalType: "contract IEulerFactory",
201
+ name: "",
202
+ type: "address",
203
+ },
204
+ ],
205
+ stateMutability: "view",
206
+ type: "function",
207
+ },
208
+ {
209
+ inputs: [],
210
+ name: "POSITION_BOX_FACTORY",
211
+ outputs: [
212
+ {
213
+ internalType: "contract IPLoopPositionBoxFactory",
214
+ name: "",
215
+ type: "address",
216
+ },
217
+ ],
218
+ stateMutability: "view",
219
+ type: "function",
220
+ },
221
+ {
222
+ inputs: [],
223
+ name: "PT_LOOPER",
224
+ outputs: [
225
+ {
226
+ internalType: "contract IPPTLooper",
227
+ name: "",
228
+ type: "address",
229
+ },
230
+ ],
231
+ stateMutability: "view",
232
+ type: "function",
233
+ },
234
+ {
235
+ inputs: [
236
+ {
237
+ components: [
238
+ {
239
+ internalType: "contract IPLoopPositionBox",
240
+ name: "box",
241
+ type: "address",
242
+ },
243
+ {
244
+ internalType: "bytes32",
245
+ name: "mmPayload",
246
+ type: "bytes32",
247
+ },
248
+ {
249
+ internalType: "address",
250
+ name: "collateral",
251
+ type: "address",
252
+ },
253
+ {
254
+ internalType: "address",
255
+ name: "debtAsset",
256
+ type: "address",
257
+ },
258
+ ],
259
+ internalType: "struct MarketCtx",
260
+ name: "ctx",
261
+ type: "tuple",
262
+ },
263
+ {
264
+ internalType: "uint256",
265
+ name: "amount",
266
+ type: "uint256",
267
+ },
268
+ ],
269
+ name: "borrow",
270
+ outputs: [
271
+ {
272
+ internalType: "uint256",
273
+ name: "borrowed",
274
+ type: "uint256",
275
+ },
276
+ {
277
+ internalType: "uint256",
278
+ name: "postDebtBalance",
279
+ type: "uint256",
280
+ },
281
+ ],
282
+ stateMutability: "nonpayable",
283
+ type: "function",
284
+ },
285
+ {
286
+ inputs: [
287
+ {
288
+ components: [
289
+ {
290
+ internalType: "contract IPLoopPositionBox",
291
+ name: "box",
292
+ type: "address",
293
+ },
294
+ {
295
+ internalType: "bytes32",
296
+ name: "mmPayload",
297
+ type: "bytes32",
298
+ },
299
+ {
300
+ internalType: "address",
301
+ name: "collateral",
302
+ type: "address",
303
+ },
304
+ {
305
+ internalType: "address",
306
+ name: "debtAsset",
307
+ type: "address",
308
+ },
309
+ ],
310
+ internalType: "struct MarketCtx",
311
+ name: "ctx",
312
+ type: "tuple",
313
+ },
314
+ {
315
+ internalType: "address",
316
+ name: "extRewardController",
317
+ type: "address",
318
+ },
319
+ {
320
+ internalType: "bytes",
321
+ name: "data",
322
+ type: "bytes",
323
+ },
324
+ {
325
+ internalType: "address[]",
326
+ name: "rewardTokens",
327
+ type: "address[]",
328
+ },
329
+ ],
330
+ name: "claimRewards",
331
+ outputs: [
332
+ {
333
+ internalType: "uint256[]",
334
+ name: "claimedAmount",
335
+ type: "uint256[]",
336
+ },
337
+ ],
338
+ stateMutability: "nonpayable",
339
+ type: "function",
340
+ },
341
+ {
342
+ inputs: [
343
+ {
344
+ components: [
345
+ {
346
+ internalType: "contract IPLoopPositionBox",
347
+ name: "box",
348
+ type: "address",
349
+ },
350
+ {
351
+ internalType: "bytes32",
352
+ name: "mmPayload",
353
+ type: "bytes32",
354
+ },
355
+ {
356
+ internalType: "address",
357
+ name: "collateral",
358
+ type: "address",
359
+ },
360
+ {
361
+ internalType: "address",
362
+ name: "debtAsset",
363
+ type: "address",
364
+ },
365
+ ],
366
+ internalType: "struct MarketCtx",
367
+ name: "ctx",
368
+ type: "tuple",
369
+ },
370
+ ],
371
+ name: "collateralBalance",
372
+ outputs: [
373
+ {
374
+ internalType: "uint256",
375
+ name: "balance",
376
+ type: "uint256",
377
+ },
378
+ ],
379
+ stateMutability: "view",
380
+ type: "function",
381
+ },
382
+ {
383
+ inputs: [
384
+ {
385
+ components: [
386
+ {
387
+ internalType: "contract IPLoopPositionBox",
388
+ name: "box",
389
+ type: "address",
390
+ },
391
+ {
392
+ internalType: "bytes32",
393
+ name: "mmPayload",
394
+ type: "bytes32",
395
+ },
396
+ {
397
+ internalType: "address",
398
+ name: "collateral",
399
+ type: "address",
400
+ },
401
+ {
402
+ internalType: "address",
403
+ name: "debtAsset",
404
+ type: "address",
405
+ },
406
+ ],
407
+ internalType: "struct MarketCtx",
408
+ name: "ctx",
409
+ type: "tuple",
410
+ },
411
+ ],
412
+ name: "debtBalance",
413
+ outputs: [
414
+ {
415
+ internalType: "uint256",
416
+ name: "balance",
417
+ type: "uint256",
418
+ },
419
+ ],
420
+ stateMutability: "view",
421
+ type: "function",
422
+ },
423
+ {
424
+ inputs: [
425
+ {
426
+ components: [
427
+ {
428
+ internalType: "contract IPLoopPositionBox",
429
+ name: "box",
430
+ type: "address",
431
+ },
432
+ {
433
+ internalType: "bytes32",
434
+ name: "mmPayload",
435
+ type: "bytes32",
436
+ },
437
+ {
438
+ internalType: "address",
439
+ name: "collateral",
440
+ type: "address",
441
+ },
442
+ {
443
+ internalType: "address",
444
+ name: "debtAsset",
445
+ type: "address",
446
+ },
447
+ ],
448
+ internalType: "struct MarketCtx",
449
+ name: "ctx",
450
+ type: "tuple",
451
+ },
452
+ ],
453
+ name: "initialize",
454
+ outputs: [],
455
+ stateMutability: "nonpayable",
456
+ type: "function",
457
+ },
458
+ {
459
+ inputs: [
460
+ {
461
+ components: [
462
+ {
463
+ internalType: "contract IPLoopPositionBox",
464
+ name: "box",
465
+ type: "address",
466
+ },
467
+ {
468
+ internalType: "bytes32",
469
+ name: "mmPayload",
470
+ type: "bytes32",
471
+ },
472
+ {
473
+ internalType: "address",
474
+ name: "collateral",
475
+ type: "address",
476
+ },
477
+ {
478
+ internalType: "address",
479
+ name: "debtAsset",
480
+ type: "address",
481
+ },
482
+ ],
483
+ internalType: "struct MarketCtx",
484
+ name: "ctx",
485
+ type: "tuple",
486
+ },
487
+ {
488
+ internalType: "uint256",
489
+ name: "amount",
490
+ type: "uint256",
491
+ },
492
+ ],
493
+ name: "lend",
494
+ outputs: [
495
+ {
496
+ internalType: "uint256",
497
+ name: "lent",
498
+ type: "uint256",
499
+ },
500
+ {
501
+ internalType: "uint256",
502
+ name: "postCollateralBalance",
503
+ type: "uint256",
504
+ },
505
+ ],
506
+ stateMutability: "nonpayable",
507
+ type: "function",
508
+ },
509
+ {
510
+ inputs: [
511
+ {
512
+ components: [
513
+ {
514
+ internalType: "contract IPLoopPositionBox",
515
+ name: "box",
516
+ type: "address",
517
+ },
518
+ {
519
+ internalType: "bytes32",
520
+ name: "mmPayload",
521
+ type: "bytes32",
522
+ },
523
+ {
524
+ internalType: "address",
525
+ name: "collateral",
526
+ type: "address",
527
+ },
528
+ {
529
+ internalType: "address",
530
+ name: "debtAsset",
531
+ type: "address",
532
+ },
533
+ ],
534
+ internalType: "struct MarketCtx",
535
+ name: "ctx",
536
+ type: "tuple",
537
+ },
538
+ ],
539
+ name: "oraclePtDebtRate",
540
+ outputs: [
541
+ {
542
+ internalType: "uint256",
543
+ name: "",
544
+ type: "uint256",
545
+ },
546
+ ],
547
+ stateMutability: "view",
548
+ type: "function",
549
+ },
550
+ {
551
+ inputs: [
552
+ {
553
+ components: [
554
+ {
555
+ internalType: "contract IPLoopPositionBox",
556
+ name: "box",
557
+ type: "address",
558
+ },
559
+ {
560
+ internalType: "bytes32",
561
+ name: "mmPayload",
562
+ type: "bytes32",
563
+ },
564
+ {
565
+ internalType: "address",
566
+ name: "collateral",
567
+ type: "address",
568
+ },
569
+ {
570
+ internalType: "address",
571
+ name: "debtAsset",
572
+ type: "address",
573
+ },
574
+ ],
575
+ internalType: "struct MarketCtx",
576
+ name: "ctx",
577
+ type: "tuple",
578
+ },
579
+ {
580
+ internalType: "uint256",
581
+ name: "amount",
582
+ type: "uint256",
583
+ },
584
+ ],
585
+ name: "repay",
586
+ outputs: [
587
+ {
588
+ internalType: "uint256",
589
+ name: "repaid",
590
+ type: "uint256",
591
+ },
592
+ {
593
+ internalType: "uint256",
594
+ name: "postDebtBalance",
595
+ type: "uint256",
596
+ },
597
+ ],
598
+ stateMutability: "nonpayable",
599
+ type: "function",
600
+ },
601
+ {
602
+ inputs: [
603
+ {
604
+ components: [
605
+ {
606
+ internalType: "contract IPLoopPositionBox",
607
+ name: "box",
608
+ type: "address",
609
+ },
610
+ {
611
+ internalType: "bytes32",
612
+ name: "mmPayload",
613
+ type: "bytes32",
614
+ },
615
+ {
616
+ internalType: "address",
617
+ name: "collateral",
618
+ type: "address",
619
+ },
620
+ {
621
+ internalType: "address",
622
+ name: "debtAsset",
623
+ type: "address",
624
+ },
625
+ ],
626
+ internalType: "struct MarketCtx",
627
+ name: "ctx",
628
+ type: "tuple",
629
+ },
630
+ {
631
+ internalType: "uint256",
632
+ name: "amount",
633
+ type: "uint256",
634
+ },
635
+ ],
636
+ name: "withdraw",
637
+ outputs: [
638
+ {
639
+ internalType: "uint256",
640
+ name: "withdrawn",
641
+ type: "uint256",
642
+ },
643
+ {
644
+ internalType: "uint256",
645
+ name: "postCollateralBalance",
646
+ type: "uint256",
647
+ },
648
+ ],
649
+ stateMutability: "nonpayable",
650
+ type: "function",
651
+ },
652
+ ];
653
+
654
+ const _bytecode =
655
+ "0x610100604052348015610010575f5ffd5b5060405161245c38038061245c83398101604081905261002f916100d3565b6001600160a01b03831660808190526040805163ca6f50fd60e01b8152905185929163ca6f50fd9160048083019260209291908290030181865afa158015610079573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009d919061011d565b6001600160a01b0390811660a05292831660c052501660e0525061013f565b6001600160a01b03811681146100d0575f5ffd5b50565b5f5f5f606084860312156100e5575f5ffd5b83516100f0816100bc565b6020850151909350610101816100bc565b6040850151909250610112816100bc565b809150509250925092565b5f6020828403121561012d575f5ffd5b8151610138816100bc565b9392505050565b60805160a05160c05160e0516122736101e95f395f81816101490152818161037d0152818161056e0152818161087201528181610df001528181610e330152818161118c015281816112c3015281816114a8015261157901525f81816101a90152818161104f01526110c801525f81816101f0015261024301525f8181610115015281816102a20152818161049a0152818161092501528181610c530152610d2701526122735ff3fe608060405234801561000f575f5ffd5b50600436106100ac575f3560e01c8062f1a3d6146100b05780630a44c195146100c5578063180cad99146100ef5780631a174fc4146101105780632dd31000146101445780633a2e717b1461016b5780639025036a1461017e5780639e4f39c814610191578063a70354a1146101a4578063b3fd98f0146101cb578063ca6f50fd146101eb578063d30cd70814610212578063ec09498514610225575b5f5ffd5b6100c36100be366004611cd6565b610238565b005b6100d86100d3366004611cf0565b610295565b6040516100e6929190611d19565b60405180910390f35b6101026100fd366004611cd6565b610371565b6040519081526020016100e6565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e69190611d27565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6100d8610179366004611cf0565b61048d565b61010261018c366004611cd6565b610562565b61010261019f366004611cd6565b610867565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6101de6101d9366004611dc3565b610918565b6040516100e69190611eb6565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6100d8610220366004611cf0565b610c46565b6100d8610233366004611cf0565b610d1a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102895760405162461bcd60e51b815260040161028090611ec8565b60405180910390fd5b61029281610de5565b50565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102df5760405162461bcd60e51b815260040161028090611ec8565b5f6102e985610867565b9050835f036102fc575f9250905061036a565b6103068585611181565b92506103128184611f0f565b915084606001516001600160a01b0316855f01516001600160a01b03167fc14e9e6b4d98a542b05a0f6b64acd5f4cbdb914be88432d87486b664e97071a78584604051610360929190611d19565b60405180910390a3505b9250929050565b5f5f6103b383602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661120f90919063ffffffff16565b6040516370a0823160e01b81529091506001600160a01b038216906307a2d13a9082906370a08231906103ea903090600401611d27565b602060405180830381865afa158015610405573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104299190611f22565b6040518263ffffffff1660e01b815260040161044791815260200190565b602060405180830381865afa158015610462573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104869190611f22565b9392505050565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d75760405162461bcd60e51b815260040161028090611ec8565b5f6104e185610867565b90508315806104ee575080155b156104fd575f9250905061036a565b61050885858361128a565b92506105148382611f39565b915084606001516001600160a01b0316855f01516001600160a01b03167fe62a777dbd48d3912f68a1b9445813ee02bc3ac18b97dc129ca462cc77bb641b8584604051610360929190611d19565b5f5f6105a483602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661135690919063ffffffff16565b90505f816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106079190611f4c565b90505f826001600160a01b0316633e8333646040518163ffffffff1660e01b8152600401602060405180830381865afa158015610646573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066a9190611f4c565b90505f85604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d19190611f67565b6106dc90600a61206a565b90505f86606001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107439190611f67565b61074e90600a61206a565b90505f846001600160a01b031663ae68676c848a60400151876040518463ffffffff1660e01b815260040161078593929190612078565b602060405180830381865afa1580156107a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c49190611f22565b6060890151604051632b9a19db60e21b81529192505f916001600160a01b0388169163ae68676c916107fc9187918a90600401612078565b602060405180830381865afa158015610817573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083b9190611f22565b905061085a61084a8583612097565b6108548585612097565b90611386565b9998505050505050505050565b5f6108a882602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661135690919063ffffffff16565b6001600160a01b031663d283e75f306040518263ffffffff1660e01b81526004016108d39190611d27565b602060405180830381865afa1580156108ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109129190611f22565b92915050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109625760405162461bcd60e51b815260040161028090611ec8565b81515f816001600160401b0381111561097d5761097d611c01565b6040519080825280602002602001820160405280156109a6578160200160208202803683370190505b5090505f5b828110156109fa576109d58582815181106109c8576109c86120ae565b60200260200101516113b4565b8282815181106109e7576109e76120ae565b60209081029190910101526001016109ab565b505f876001600160a01b03168787604051610a169291906120c2565b5f604051808303815f865af19150503d805f8114610a4f576040519150601f19603f3d011682016040523d82523d5f602084013e610a54565b606091505b5050905080610aa55760405162461bcd60e51b815260206004820181905260248201527f4d6f6e65794d61726b65743a20636c61696d52657761726473206661696c65646044820152606401610280565b5f895f01516001600160a01b031663117803e36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b099190611f4c565b9050836001600160401b03811115610b2357610b23611c01565b604051908082528060200260200182016040528015610b4c578160200160208202803683370190505b5094505f5b84811015610bf557838181518110610b6b57610b6b6120ae565b6020026020010151610b888883815181106109c8576109c86120ae565b610b929190611f39565b868281518110610ba457610ba46120ae565b602002602001018181525050610bed878281518110610bc557610bc56120ae565b602002602001015183888481518110610be057610be06120ae565b60200260200101516113bf565b600101610b51565b50886001600160a01b03167fc53cb8bc1a7200a84d0b66a538905a245c4915aace7f1ce5dc4a0ba107ebc15c8787604051610c319291906120d1565b60405180910390a25050505095945050505050565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c905760405162461bcd60e51b815260040161028090611ec8565b5f610c9a85610371565b9050831580610ca7575080155b15610cb6575f9250905061036a565b610cc0858561149c565b9250610ccc8382611f39565b915084604001516001600160a01b0316855f01516001600160a01b03167f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe28584604051610360929190611d19565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d645760405162461bcd60e51b815260040161028090611ec8565b5f610d6e85610371565b9050835f03610d81575f9250905061036a565b610d8b858561155b565b9250610d978184611f0f565b915084604001516001600160a01b0316855f01516001600160a01b03167fb07c18dba66f7fd615f13c777549719e8ea100489339e0fdc30b7076bd77d6048584604051610360929190611d19565b5f610e2682602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661120f90919063ffffffff16565b90505f610e6983602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661135690919063ffffffff16565b905082604001516001600160a01b0316826001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed99190611f4c565b6001600160a01b031614610f435760405162461bcd60e51b815260206004820152602b60248201527f45756c65724d6f6e65794d61726b65743a2062617365207661756c742061737360448201526a0cae840dad2e6dac2e8c6d60ab1b6064820152608401610280565b82606001516001600160a01b0316816001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f8d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb19190611f4c565b6001600160a01b03161461101c5760405162461bcd60e51b815260206004820152602c60248201527f45756c65724d6f6e65794d61726b65743a2071756f7465207661756c7420617360448201526b0e6cae840dad2e6dac2e8c6d60a31b6064820152608401610280565b61102a836040015183611693565b611038836060015182611693565b604051636a27f72d60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d44fee5a906110869030908690600401612127565b5f604051808303815f87803b15801561109d575f5ffd5b505af11580156110af573d5f5f3e3d5ffd5b50506040516330da145b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063c368516c91506111019030908590600401612127565b5f604051808303815f87803b158015611118575f5ffd5b505af115801561112a573d5f5f3e3d5ffd5b50505050816001600160a01b03166364b1cdd66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611166575f5ffd5b505af1158015611178573d5f5f3e3d5ffd5b50505050505050565b5f6111c283602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661135690919063ffffffff16565b8351604051630967fa2960e31b81526001600160a01b039290921691634b3fd148916111f391869190600401612141565b6020604051808303815f875af1158015610462573d5f5f3e3d5ffd5b604051631bc66db160e11b81525f90608083901c906001600160a01b0385169063378cdb6290611243908490600401612158565b602060405180830381865afa15801561125e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112829190611f4c565b949350505050565b5f611295838361174e565b90508015610486576112b08460600151855f01513084611763565b60208401516112e9906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690611356565b6001600160a01b031663acb7081582306040518363ffffffff1660e01b8152600401611316929190612141565b6020604051808303815f875af1158015611332573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112829190611f22565b604051631bc66db160e11b81525f9082906001600160a01b0385169063378cdb6290611243908490600401612158565b5f8061139a670de0b6b3a764000085612097565b90508281816113ab576113ab61216c565b04949350505050565b5f610912308361177e565b8015806113d457506001600160a01b03821630145b156113de57505050565b6001600160a01b038316611483575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114611435576040519150601f19603f3d011682016040523d82523d5f602084013e61143a565b606091505b505090508061147d5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610280565b50505050565b6114976001600160a01b038416838361180d565b505050565b5f5f6114de84602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661120f90919063ffffffff16565b8451604051632d182be560e21b81529192506001600160a01b0383169163b460af9491611512918791903090600401612078565b6020604051808303815f875af115801561152e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115529190611f22565b50919392505050565b5f61156e8360400151845f015184611863565b5f6115af84602001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661120f90919063ffffffff16565b90505f816001600160a01b0316636e553f6585306040518363ffffffff1660e01b81526004016115e0929190612141565b6020604051808303815f875af11580156115fc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116209190611f22565b6040516303d1689d60e11b8152600481018290529091506001600160a01b038316906307a2d13a90602401602060405180830381865afa158015611666573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168a9190611f22565b95945050505050565b6001600160a01b0382166116a5575050565b6116b760026001600160601b03612180565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b81526004016116ee929190612127565b602060405180830381865afa158015611709573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172d9190611f22565b101561174a5761173e82825f6118ca565b61174a82825f196118ca565b5050565b5f81831061175c5781610486565b5090919050565b801561147d5761147d6001600160a01b0385168484846119d9565b5f6001600160a01b038216156117fe576040516370a0823160e01b81526001600160a01b038316906370a08231906117ba908690600401611d27565b602060405180830381865afa1580156117d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117f99190611f22565b610486565b50506001600160a01b03163190565b6114978363a9059cbb60e01b848460405160240161182c9291906121ba565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611a11565b6001600160a01b0383166118af578034146114975760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610280565b8015611497576114976001600160a01b0384168330846119d9565b5f5f846001600160a01b031663095ea7b360e01b85856040516024016118f19291906121ba565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161192f91906121d3565b5f604051808303815f865af19150503d805f8114611968576040519150601f19603f3d011682016040523d82523d5f602084013e61196d565b606091505b509150915081801561199757508051158061199757508080602001905181019061199791906121e9565b6119d25760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b6044820152606401610280565b5050505050565b6040516001600160a01b038085166024830152831660448201526064810182905261147d9085906323b872dd60e01b9060840161182c565b5f611a65826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611ae49092919063ffffffff16565b905080515f1480611a85575080806020019051810190611a8591906121e9565b6114975760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610280565b606061128284845f85855f5f866001600160a01b03168587604051611b0991906121d3565b5f6040518083038185875af1925050503d805f8114611b43576040519150601f19603f3d011682016040523d82523d5f602084013e611b48565b606091505b5091509150611b5987838387611b64565b979650505050505050565b60608315611bd25782515f03611bcb576001600160a01b0385163b611bcb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610280565b5081611282565b6112828383815115611be75781518083602001fd5b8060405162461bcd60e51b81526004016102809190612208565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611c3d57611c3d611c01565b604052919050565b6001600160a01b0381168114610292575f5ffd5b5f60808284031215611c69575f5ffd5b604051608081016001600160401b0381118282101715611c8b57611c8b611c01565b6040529050808235611c9c81611c45565b8152602083810135908201526040830135611cb681611c45565b60408201526060830135611cc981611c45565b6060919091015292915050565b5f60808284031215611ce6575f5ffd5b6104868383611c59565b5f5f60a08385031215611d01575f5ffd5b611d0b8484611c59565b946080939093013593505050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b5f82601f830112611d4a575f5ffd5b81356001600160401b03811115611d6357611d63611c01565b8060051b611d7360208201611c15565b91825260208185018101929081019086841115611d8e575f5ffd5b6020860192505b83831015611db9578235611da881611c45565b825260209283019290910190611d95565b9695505050505050565b5f5f5f5f5f60e08688031215611dd7575f5ffd5b611de18787611c59565b94506080860135611df181611c45565b935060a08601356001600160401b03811115611e0b575f5ffd5b8601601f81018813611e1b575f5ffd5b80356001600160401b03811115611e30575f5ffd5b886020828401011115611e41575f5ffd5b6020919091019350915060c08601356001600160401b03811115611e63575f5ffd5b611e6f88828901611d3b565b9150509295509295909350565b5f8151808452602084019350602083015f5b82811015611eac578151865260209586019590910190600101611e8e565b5093949350505050565b602081525f6104866020830184611e7c565b602080825260199082015278135bdb995e53585c9ad95d0e881d5b985d5d1a1bdc9a5e9959603a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561091257610912611efb565b5f60208284031215611f32575f5ffd5b5051919050565b8181038181111561091257610912611efb565b5f60208284031215611f5c575f5ffd5b815161048681611c45565b5f60208284031215611f77575f5ffd5b815160ff81168114610486575f5ffd5b6001815b6001841115611fc257808504811115611fa657611fa6611efb565b6001841615611fb457908102905b60019390931c928002611f8b565b935093915050565b5f82611fd857506001610912565b81611fe457505f610912565b8160018114611ffa576002811461200457612020565b6001915050610912565b60ff84111561201557612015611efb565b50506001821b610912565b5060208310610133831016604e8410600b8410161715612043575081810a610912565b61204f5f198484611f87565b805f190482111561206257612062611efb565b029392505050565b5f61048660ff841683611fca565b9283526001600160a01b03918216602084015216604082015260600190565b808202811582820484141761091257610912611efb565b634e487b7160e01b5f52603260045260245ffd5b818382375f9101908152919050565b604080825283519082018190525f9060208501906060840190835b818110156121135783516001600160a01b03168352602093840193909201916001016120ec565b50508381036020850152611db98186611e7c565b6001600160a01b0392831681529116602082015260400190565b9182526001600160a01b0316602082015260400190565b6001600160801b0391909116815260200190565b634e487b7160e01b5f52601260045260245ffd5b5f6001600160601b038316806121a457634e487b7160e01b5f52601260045260245ffd5b6001600160601b03929092169190910492915050565b6001600160a01b03929092168252602082015260400190565b5f82518060208501845e5f920191825250919050565b5f602082840312156121f9575f5ffd5b81518015158114610486575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea26469706673582212205f3cbe92bd11389b3f1e5eaf2d0ca2ceef7e954a646653869919e21c2f6cb09a64736f6c634300081e0033";
656
+
657
+ type EulerMoneyMarketConstructorParams =
658
+ | [signer?: Signer]
659
+ | ConstructorParameters<typeof ContractFactory>;
660
+
661
+ const isSuperArgs = (
662
+ xs: EulerMoneyMarketConstructorParams
663
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
664
+
665
+ export class EulerMoneyMarket__factory extends ContractFactory {
666
+ constructor(...args: EulerMoneyMarketConstructorParams) {
667
+ if (isSuperArgs(args)) {
668
+ super(...args);
669
+ } else {
670
+ super(_abi, _bytecode, args[0]);
671
+ }
672
+ this.contractName = "EulerMoneyMarket";
673
+ }
674
+
675
+ deploy(
676
+ ptLooper: string,
677
+ _evc: string,
678
+ _factory: string,
679
+ overrides?: Overrides & { from?: string | Promise<string> }
680
+ ): Promise<EulerMoneyMarket> {
681
+ return super.deploy(
682
+ ptLooper,
683
+ _evc,
684
+ _factory,
685
+ overrides || {}
686
+ ) as Promise<EulerMoneyMarket>;
687
+ }
688
+ getDeployTransaction(
689
+ ptLooper: string,
690
+ _evc: string,
691
+ _factory: string,
692
+ overrides?: Overrides & { from?: string | Promise<string> }
693
+ ): TransactionRequest {
694
+ return super.getDeployTransaction(
695
+ ptLooper,
696
+ _evc,
697
+ _factory,
698
+ overrides || {}
699
+ );
700
+ }
701
+ attach(address: string): EulerMoneyMarket {
702
+ return super.attach(address) as EulerMoneyMarket;
703
+ }
704
+ connect(signer: Signer): EulerMoneyMarket__factory {
705
+ return super.connect(signer) as EulerMoneyMarket__factory;
706
+ }
707
+ static readonly contractName: "EulerMoneyMarket";
708
+ public readonly contractName: "EulerMoneyMarket";
709
+ static readonly bytecode = _bytecode;
710
+ static readonly abi = _abi;
711
+ static createInterface(): EulerMoneyMarketInterface {
712
+ return new utils.Interface(_abi) as EulerMoneyMarketInterface;
713
+ }
714
+ static connect(
715
+ address: string,
716
+ signerOrProvider: Signer | Provider
717
+ ): EulerMoneyMarket {
718
+ return new Contract(address, _abi, signerOrProvider) as EulerMoneyMarket;
719
+ }
720
+ }