@pendle/core-v2 6.9.0 → 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 (110) 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 +3 -0
  71. package/deployments/143-core.json +4 -1
  72. package/deployments/42161-core.json +4 -1
  73. package/deployments/4663-core.json +48 -0
  74. package/deployments/4663-offchain-helper.json +12 -0
  75. package/package.json +1 -1
  76. package/typechain-types/AaveV4MoneyMarket.ts +573 -0
  77. package/typechain-types/AaveV4MoneyMarketView.ts +362 -0
  78. package/typechain-types/EulerMoneyMarket.ts +599 -0
  79. package/typechain-types/EulerMoneyMarketView.ts +375 -0
  80. package/typechain-types/IAaveOracle.ts +17 -149
  81. package/typechain-types/IEVC.ts +1647 -0
  82. package/typechain-types/IEulerFactory.ts +94 -0
  83. package/typechain-types/IEulerPriceOracle.ts +123 -0
  84. package/typechain-types/IEulerVault.ts +1298 -0
  85. package/typechain-types/IHubBase.ts +452 -0
  86. package/typechain-types/IPPTLooper.ts +68 -68
  87. package/typechain-types/ISpoke.ts +577 -0
  88. package/typechain-types/PTLooperBase.ts +68 -68
  89. package/typechain-types/PendlePTLooper.ts +68 -68
  90. package/typechain-types/factories/AaveMoneyMarketView__factory.ts +1 -1
  91. package/typechain-types/factories/AaveMoneyMarket__factory.ts +1 -1
  92. package/typechain-types/factories/AaveV4MoneyMarketView__factory.ts +349 -0
  93. package/typechain-types/factories/AaveV4MoneyMarket__factory.ts +673 -0
  94. package/typechain-types/factories/EulerMoneyMarketView__factory.ts +371 -0
  95. package/typechain-types/factories/EulerMoneyMarket__factory.ts +720 -0
  96. package/typechain-types/factories/IAaveOracle__factory.ts +3 -93
  97. package/typechain-types/factories/IEVC__factory.ts +968 -0
  98. package/typechain-types/factories/IEulerFactory__factory.ts +42 -0
  99. package/typechain-types/factories/IEulerPriceOracle__factory.ts +68 -0
  100. package/typechain-types/factories/IEulerVault__factory.ts +945 -0
  101. package/typechain-types/factories/IHubBase__factory.ts +334 -0
  102. package/typechain-types/factories/IPPTLooper__factory.ts +243 -248
  103. package/typechain-types/factories/ISpoke__factory.ts +407 -0
  104. package/typechain-types/factories/MorphoBlueMoneyMarketView__factory.ts +1 -1
  105. package/typechain-types/factories/MorphoBlueMoneyMarket__factory.ts +1 -1
  106. package/typechain-types/factories/PTLooperBase__factory.ts +243 -248
  107. package/typechain-types/factories/PendlePTLooper__factory.ts +244 -249
  108. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  109. package/typechain-types/hardhat.d.ts +99 -0
  110. package/typechain-types/index.ts +22 -2
@@ -0,0 +1,615 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AaveV4MoneyMarket",
4
+ "sourceName": "contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarket.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "ptLooper",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": true,
22
+ "internalType": "contract IPLoopPositionBox",
23
+ "name": "box",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": true,
28
+ "internalType": "address",
29
+ "name": "asset",
30
+ "type": "address"
31
+ },
32
+ {
33
+ "indexed": false,
34
+ "internalType": "uint256",
35
+ "name": "amount",
36
+ "type": "uint256"
37
+ },
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "balanceBefore",
42
+ "type": "uint256"
43
+ }
44
+ ],
45
+ "name": "Borrowed",
46
+ "type": "event"
47
+ },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [
51
+ {
52
+ "indexed": true,
53
+ "internalType": "contract IPLoopPositionBox",
54
+ "name": "box",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "indexed": true,
59
+ "internalType": "address",
60
+ "name": "asset",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "indexed": false,
65
+ "internalType": "uint256",
66
+ "name": "amount",
67
+ "type": "uint256"
68
+ },
69
+ {
70
+ "indexed": false,
71
+ "internalType": "uint256",
72
+ "name": "balanceBefore",
73
+ "type": "uint256"
74
+ }
75
+ ],
76
+ "name": "Lent",
77
+ "type": "event"
78
+ },
79
+ {
80
+ "anonymous": false,
81
+ "inputs": [
82
+ {
83
+ "indexed": true,
84
+ "internalType": "contract IPLoopPositionBox",
85
+ "name": "box",
86
+ "type": "address"
87
+ },
88
+ {
89
+ "indexed": true,
90
+ "internalType": "address",
91
+ "name": "asset",
92
+ "type": "address"
93
+ },
94
+ {
95
+ "indexed": false,
96
+ "internalType": "uint256",
97
+ "name": "amount",
98
+ "type": "uint256"
99
+ },
100
+ {
101
+ "indexed": false,
102
+ "internalType": "uint256",
103
+ "name": "balanceBefore",
104
+ "type": "uint256"
105
+ }
106
+ ],
107
+ "name": "Repaid",
108
+ "type": "event"
109
+ },
110
+ {
111
+ "anonymous": false,
112
+ "inputs": [
113
+ {
114
+ "indexed": true,
115
+ "internalType": "address",
116
+ "name": "rewardController",
117
+ "type": "address"
118
+ },
119
+ {
120
+ "indexed": false,
121
+ "internalType": "address[]",
122
+ "name": "rewardTokens",
123
+ "type": "address[]"
124
+ },
125
+ {
126
+ "indexed": false,
127
+ "internalType": "uint256[]",
128
+ "name": "claimedAmount",
129
+ "type": "uint256[]"
130
+ }
131
+ ],
132
+ "name": "RewardsClaimed",
133
+ "type": "event"
134
+ },
135
+ {
136
+ "anonymous": false,
137
+ "inputs": [
138
+ {
139
+ "indexed": true,
140
+ "internalType": "contract IPLoopPositionBox",
141
+ "name": "box",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "indexed": true,
146
+ "internalType": "address",
147
+ "name": "asset",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint256",
153
+ "name": "amount",
154
+ "type": "uint256"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint256",
159
+ "name": "balanceBefore",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "name": "Withdrawn",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "inputs": [],
168
+ "name": "POSITION_BOX_FACTORY",
169
+ "outputs": [
170
+ {
171
+ "internalType": "contract IPLoopPositionBoxFactory",
172
+ "name": "",
173
+ "type": "address"
174
+ }
175
+ ],
176
+ "stateMutability": "view",
177
+ "type": "function"
178
+ },
179
+ {
180
+ "inputs": [],
181
+ "name": "PT_LOOPER",
182
+ "outputs": [
183
+ {
184
+ "internalType": "contract IPPTLooper",
185
+ "name": "",
186
+ "type": "address"
187
+ }
188
+ ],
189
+ "stateMutability": "view",
190
+ "type": "function"
191
+ },
192
+ {
193
+ "inputs": [
194
+ {
195
+ "components": [
196
+ {
197
+ "internalType": "contract IPLoopPositionBox",
198
+ "name": "box",
199
+ "type": "address"
200
+ },
201
+ {
202
+ "internalType": "bytes32",
203
+ "name": "mmPayload",
204
+ "type": "bytes32"
205
+ },
206
+ {
207
+ "internalType": "address",
208
+ "name": "collateral",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "internalType": "address",
213
+ "name": "debtAsset",
214
+ "type": "address"
215
+ }
216
+ ],
217
+ "internalType": "struct MarketCtx",
218
+ "name": "ctx",
219
+ "type": "tuple"
220
+ },
221
+ {
222
+ "internalType": "uint256",
223
+ "name": "amount",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "name": "borrow",
228
+ "outputs": [
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "borrowed",
232
+ "type": "uint256"
233
+ },
234
+ {
235
+ "internalType": "uint256",
236
+ "name": "postDebtBalance",
237
+ "type": "uint256"
238
+ }
239
+ ],
240
+ "stateMutability": "nonpayable",
241
+ "type": "function"
242
+ },
243
+ {
244
+ "inputs": [
245
+ {
246
+ "components": [
247
+ {
248
+ "internalType": "contract IPLoopPositionBox",
249
+ "name": "box",
250
+ "type": "address"
251
+ },
252
+ {
253
+ "internalType": "bytes32",
254
+ "name": "mmPayload",
255
+ "type": "bytes32"
256
+ },
257
+ {
258
+ "internalType": "address",
259
+ "name": "collateral",
260
+ "type": "address"
261
+ },
262
+ {
263
+ "internalType": "address",
264
+ "name": "debtAsset",
265
+ "type": "address"
266
+ }
267
+ ],
268
+ "internalType": "struct MarketCtx",
269
+ "name": "ctx",
270
+ "type": "tuple"
271
+ },
272
+ {
273
+ "internalType": "address",
274
+ "name": "extRewardController",
275
+ "type": "address"
276
+ },
277
+ {
278
+ "internalType": "bytes",
279
+ "name": "data",
280
+ "type": "bytes"
281
+ },
282
+ {
283
+ "internalType": "address[]",
284
+ "name": "rewardTokens",
285
+ "type": "address[]"
286
+ }
287
+ ],
288
+ "name": "claimRewards",
289
+ "outputs": [
290
+ {
291
+ "internalType": "uint256[]",
292
+ "name": "claimedAmount",
293
+ "type": "uint256[]"
294
+ }
295
+ ],
296
+ "stateMutability": "nonpayable",
297
+ "type": "function"
298
+ },
299
+ {
300
+ "inputs": [
301
+ {
302
+ "components": [
303
+ {
304
+ "internalType": "contract IPLoopPositionBox",
305
+ "name": "box",
306
+ "type": "address"
307
+ },
308
+ {
309
+ "internalType": "bytes32",
310
+ "name": "mmPayload",
311
+ "type": "bytes32"
312
+ },
313
+ {
314
+ "internalType": "address",
315
+ "name": "collateral",
316
+ "type": "address"
317
+ },
318
+ {
319
+ "internalType": "address",
320
+ "name": "debtAsset",
321
+ "type": "address"
322
+ }
323
+ ],
324
+ "internalType": "struct MarketCtx",
325
+ "name": "ctx",
326
+ "type": "tuple"
327
+ }
328
+ ],
329
+ "name": "collateralBalance",
330
+ "outputs": [
331
+ {
332
+ "internalType": "uint256",
333
+ "name": "balance",
334
+ "type": "uint256"
335
+ }
336
+ ],
337
+ "stateMutability": "view",
338
+ "type": "function"
339
+ },
340
+ {
341
+ "inputs": [
342
+ {
343
+ "components": [
344
+ {
345
+ "internalType": "contract IPLoopPositionBox",
346
+ "name": "box",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "internalType": "bytes32",
351
+ "name": "mmPayload",
352
+ "type": "bytes32"
353
+ },
354
+ {
355
+ "internalType": "address",
356
+ "name": "collateral",
357
+ "type": "address"
358
+ },
359
+ {
360
+ "internalType": "address",
361
+ "name": "debtAsset",
362
+ "type": "address"
363
+ }
364
+ ],
365
+ "internalType": "struct MarketCtx",
366
+ "name": "ctx",
367
+ "type": "tuple"
368
+ }
369
+ ],
370
+ "name": "debtBalance",
371
+ "outputs": [
372
+ {
373
+ "internalType": "uint256",
374
+ "name": "balance",
375
+ "type": "uint256"
376
+ }
377
+ ],
378
+ "stateMutability": "view",
379
+ "type": "function"
380
+ },
381
+ {
382
+ "inputs": [
383
+ {
384
+ "components": [
385
+ {
386
+ "internalType": "contract IPLoopPositionBox",
387
+ "name": "box",
388
+ "type": "address"
389
+ },
390
+ {
391
+ "internalType": "bytes32",
392
+ "name": "mmPayload",
393
+ "type": "bytes32"
394
+ },
395
+ {
396
+ "internalType": "address",
397
+ "name": "collateral",
398
+ "type": "address"
399
+ },
400
+ {
401
+ "internalType": "address",
402
+ "name": "debtAsset",
403
+ "type": "address"
404
+ }
405
+ ],
406
+ "internalType": "struct MarketCtx",
407
+ "name": "ctx",
408
+ "type": "tuple"
409
+ }
410
+ ],
411
+ "name": "initialize",
412
+ "outputs": [],
413
+ "stateMutability": "nonpayable",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [
418
+ {
419
+ "components": [
420
+ {
421
+ "internalType": "contract IPLoopPositionBox",
422
+ "name": "box",
423
+ "type": "address"
424
+ },
425
+ {
426
+ "internalType": "bytes32",
427
+ "name": "mmPayload",
428
+ "type": "bytes32"
429
+ },
430
+ {
431
+ "internalType": "address",
432
+ "name": "collateral",
433
+ "type": "address"
434
+ },
435
+ {
436
+ "internalType": "address",
437
+ "name": "debtAsset",
438
+ "type": "address"
439
+ }
440
+ ],
441
+ "internalType": "struct MarketCtx",
442
+ "name": "ctx",
443
+ "type": "tuple"
444
+ },
445
+ {
446
+ "internalType": "uint256",
447
+ "name": "amount",
448
+ "type": "uint256"
449
+ }
450
+ ],
451
+ "name": "lend",
452
+ "outputs": [
453
+ {
454
+ "internalType": "uint256",
455
+ "name": "lent",
456
+ "type": "uint256"
457
+ },
458
+ {
459
+ "internalType": "uint256",
460
+ "name": "postCollateralBalance",
461
+ "type": "uint256"
462
+ }
463
+ ],
464
+ "stateMutability": "nonpayable",
465
+ "type": "function"
466
+ },
467
+ {
468
+ "inputs": [
469
+ {
470
+ "components": [
471
+ {
472
+ "internalType": "contract IPLoopPositionBox",
473
+ "name": "box",
474
+ "type": "address"
475
+ },
476
+ {
477
+ "internalType": "bytes32",
478
+ "name": "mmPayload",
479
+ "type": "bytes32"
480
+ },
481
+ {
482
+ "internalType": "address",
483
+ "name": "collateral",
484
+ "type": "address"
485
+ },
486
+ {
487
+ "internalType": "address",
488
+ "name": "debtAsset",
489
+ "type": "address"
490
+ }
491
+ ],
492
+ "internalType": "struct MarketCtx",
493
+ "name": "ctx",
494
+ "type": "tuple"
495
+ }
496
+ ],
497
+ "name": "oraclePtDebtRate",
498
+ "outputs": [
499
+ {
500
+ "internalType": "uint256",
501
+ "name": "",
502
+ "type": "uint256"
503
+ }
504
+ ],
505
+ "stateMutability": "view",
506
+ "type": "function"
507
+ },
508
+ {
509
+ "inputs": [
510
+ {
511
+ "components": [
512
+ {
513
+ "internalType": "contract IPLoopPositionBox",
514
+ "name": "box",
515
+ "type": "address"
516
+ },
517
+ {
518
+ "internalType": "bytes32",
519
+ "name": "mmPayload",
520
+ "type": "bytes32"
521
+ },
522
+ {
523
+ "internalType": "address",
524
+ "name": "collateral",
525
+ "type": "address"
526
+ },
527
+ {
528
+ "internalType": "address",
529
+ "name": "debtAsset",
530
+ "type": "address"
531
+ }
532
+ ],
533
+ "internalType": "struct MarketCtx",
534
+ "name": "ctx",
535
+ "type": "tuple"
536
+ },
537
+ {
538
+ "internalType": "uint256",
539
+ "name": "amount",
540
+ "type": "uint256"
541
+ }
542
+ ],
543
+ "name": "repay",
544
+ "outputs": [
545
+ {
546
+ "internalType": "uint256",
547
+ "name": "repaid",
548
+ "type": "uint256"
549
+ },
550
+ {
551
+ "internalType": "uint256",
552
+ "name": "postDebtBalance",
553
+ "type": "uint256"
554
+ }
555
+ ],
556
+ "stateMutability": "nonpayable",
557
+ "type": "function"
558
+ },
559
+ {
560
+ "inputs": [
561
+ {
562
+ "components": [
563
+ {
564
+ "internalType": "contract IPLoopPositionBox",
565
+ "name": "box",
566
+ "type": "address"
567
+ },
568
+ {
569
+ "internalType": "bytes32",
570
+ "name": "mmPayload",
571
+ "type": "bytes32"
572
+ },
573
+ {
574
+ "internalType": "address",
575
+ "name": "collateral",
576
+ "type": "address"
577
+ },
578
+ {
579
+ "internalType": "address",
580
+ "name": "debtAsset",
581
+ "type": "address"
582
+ }
583
+ ],
584
+ "internalType": "struct MarketCtx",
585
+ "name": "ctx",
586
+ "type": "tuple"
587
+ },
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "amount",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "name": "withdraw",
595
+ "outputs": [
596
+ {
597
+ "internalType": "uint256",
598
+ "name": "withdrawn",
599
+ "type": "uint256"
600
+ },
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "postCollateralBalance",
604
+ "type": "uint256"
605
+ }
606
+ ],
607
+ "stateMutability": "nonpayable",
608
+ "type": "function"
609
+ }
610
+ ],
611
+ "bytecode": "0x60c060405234801561000f575f5ffd5b5060405161203538038061203583398101604081905261002e916100c7565b6001600160a01b03811660808190526040805163ca6f50fd60e01b8152905183929163ca6f50fd9160048083019260209291908290030181865afa158015610078573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009c91906100c7565b6001600160a01b031660a052506100e99050565b6001600160a01b03811681146100c4575f5ffd5b50565b5f602082840312156100d7575f5ffd5b81516100e2816100b0565b9392505050565b60805160a051611f026101335f395f818161018c01526101df01525f818160ff0152818161023e015281816103ad0152818161074a01528181610a780152610b4c0152611f025ff3fe608060405234801561000f575f5ffd5b5060043610610096575f3560e01c8062f1a3d61461009a5780630a44c195146100af578063180cad99146100d95780631a174fc4146100fa5780633a2e717b1461012e5780639025036a146101415780639e4f39c814610154578063b3fd98f014610167578063ca6f50fd14610187578063d30cd708146101ae578063ec094985146101c1575b5f5ffd5b6100ad6100a83660046118a3565b6101d4565b005b6100c26100bd3660046118bd565b610231565b6040516100d09291906118e6565b60405180910390f35b6100ec6100e73660046118a3565b61030d565b6040519081526020016100d0565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d091906118f4565b6100c261013c3660046118bd565b6103a0565b6100ec61014f3660046118a3565b610475565b6100ec6101623660046118a3565b6106f1565b61017a610175366004611986565b61073d565b6040516100d09190611a79565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6100c26101bc3660046118bd565b610a6b565b6100c26101cf3660046118bd565b610b3f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102255760405162461bcd60e51b815260040161021c90611a8b565b60405180910390fd5b61022e81610c0a565b50565b5f80336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461027b5760405162461bcd60e51b815260040161021c90611a8b565b5f610285856106f1565b9050835f03610298575f92509050610306565b6102a28585610e80565b92506102ae8184611ad2565b915084606001516001600160a01b0316855f01516001600160a01b03167fc14e9e6b4d98a542b05a0f6b64acd5f4cbdb914be88432d87486b664e97071a785846040516102fc9291906118e6565b60405180910390a3505b9250929050565b5f5f5f61031d8460200151610f2b565b5060405163f1568a8960e01b815291935065ffffffffffff1691506001600160a01b0383169063f1568a89906103599084903090600401611ae5565b602060405180830381865afa158015610374573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103989190611afc565b949350505050565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103ea5760405162461bcd60e51b815260040161021c90611a8b565b5f6103f4856106f1565b9050831580610401575080155b15610410575f92509050610306565b61041b858583610f3a565b92506104278382611b13565b915084606001516001600160a01b0316855f01516001600160a01b03167fe62a777dbd48d3912f68a1b9445813ee02bc3ac18b97dc129ca462cc77bb641b85846040516102fc9291906118e6565b5f5f5f5f6104868560200151610f2b565b65ffffffffffff16925065ffffffffffff16925092505f836001600160a01b03166338013f026040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fd9190611b26565b60405163d45c35ff60e01b8152600481018590529091505f906001600160a01b0383169063d45c35ff90602401602060405180830381865afa158015610545573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105699190611afc565b60405163d45c35ff60e01b8152600481018590529091505f906001600160a01b0384169063d45c35ff90602401602060405180830381865afa1580156105b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d59190611afc565b905087604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610617573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063b9190611b56565b61064690600a611c52565b6106509082611c60565b88606001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610690573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b49190611b56565b6106bf90600a611c52565b6106d1670de0b6b3a764000085611c60565b6106db9190611c60565b6106e59190611c8b565b98975050505050505050565b5f5f5f6107018460200151610f2b565b604051634db8b95360e11b815292945065ffffffffffff169250506001600160a01b03831690639b7172a6906103599084903090600401611ae5565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107875760405162461bcd60e51b815260040161021c90611a8b565b81515f816001600160401b038111156107a2576107a26117a6565b6040519080825280602002602001820160405280156107cb578160200160208202803683370190505b5090505f5b8281101561081f576107fa8582815181106107ed576107ed611c9e565b6020026020010151610ff8565b82828151811061080c5761080c611c9e565b60209081029190910101526001016107d0565b505f876001600160a01b0316878760405161083b929190611cb2565b5f604051808303815f865af19150503d805f8114610874576040519150601f19603f3d011682016040523d82523d5f602084013e610879565b606091505b50509050806108ca5760405162461bcd60e51b815260206004820181905260248201527f4d6f6e65794d61726b65743a20636c61696d52657761726473206661696c6564604482015260640161021c565b5f895f01516001600160a01b031663117803e36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092e9190611b26565b9050836001600160401b03811115610948576109486117a6565b604051908082528060200260200182016040528015610971578160200160208202803683370190505b5094505f5b84811015610a1a5783818151811061099057610990611c9e565b60200260200101516109ad8883815181106107ed576107ed611c9e565b6109b79190611b13565b8682815181106109c9576109c9611c9e565b602002602001018181525050610a128782815181106109ea576109ea611c9e565b602002602001015183888481518110610a0557610a05611c9e565b6020026020010151611009565b600101610976565b50886001600160a01b03167fc53cb8bc1a7200a84d0b66a538905a245c4915aace7f1ce5dc4a0ba107ebc15c8787604051610a56929190611cc1565b60405180910390a25050505095945050505050565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ab55760405162461bcd60e51b815260040161021c90611a8b565b5f610abf8561030d565b9050831580610acc575080155b15610adb575f92509050610306565b610ae585856110e6565b9250610af18382611b13565b915084604001516001600160a01b0316855f01516001600160a01b03167f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe285846040516102fc9291906118e6565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b895760405162461bcd60e51b815260040161021c90611a8b565b5f610b938561030d565b9050835f03610ba6575f92509050610306565b610bb08585611189565b9250610bbc8184611ad2565b915084604001516001600160a01b0316855f01516001600160a01b03167fb07c18dba66f7fd615f13c777549719e8ea100489339e0fdc30b7076bd77d60485846040516102fc9291906118e6565b5f5f5f610c1a8460200151610f2b565b65ffffffffffff16925065ffffffffffff16925092505f836001600160a01b03166377778db3846040518263ffffffff1660e01b8152600401610c5f91815260200190565b60e060405180830381865afa158015610c7a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9e9190611d3c565b516040516377778db360e01b8152600481018490529091505f906001600160a01b038616906377778db39060240160e060405180830381865afa158015610ce7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0b9190611d3c565b5f0151905085604001516001600160a01b0316826001600160a01b031614610d8c5760405162461bcd60e51b815260206004820152602e60248201527f4161766556344d6f6e65794d61726b65743a20636f6c6c61746572616c20726560448201526d0e6cae4ecca40dad2e6dac2e8c6d60931b606482015260840161021c565b85606001516001600160a01b0316816001600160a01b031614610e025760405162461bcd60e51b815260206004820152602860248201527f4161766556344d6f6e65794d61726b65743a20646562742072657365727665206044820152670dad2e6dac2e8c6d60c31b606482015260840161021c565b610e0c8286611231565b610e168186611231565b604051639e35c53360e01b815260048101859052600160248201523060448201526001600160a01b03861690639e35c533906064015f604051808303815f87803b158015610e62575f5ffd5b505af1158015610e74573d5f5f3e3d5ffd5b50505050505050505050565b5f5f5f610e908560200151610f2b565b60405163035af68360e61b815292945065ffffffffffff169250506001600160a01b0383169063d6bda0c090610ece90849088903090600401611dda565b60408051808303815f875af1158015610ee9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0d9190611df9565b60608701518751919550610f2392509085611009565b505092915050565b606081901c91603082901c9190565b5f5f5f610f4a8660200151610f2b565b65ffffffffffff169250509150610f6185856112f1565b92508215610fef57610f7c8660600151875f01513086611308565b60405163b1e8f8ef60e01b81526001600160a01b0383169063b1e8f8ef90610fac90849087903090600401611dda565b60408051808303815f875af1158015610fc7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190611df9565b9350505b50509392505050565b5f6110033083611323565b92915050565b80158061101e57506001600160a01b03821630145b1561102857505050565b6001600160a01b0383166110cd575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461107f576040519150601f19603f3d011682016040523d82523d5f602084013e611084565b606091505b50509050806110c75760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161021c565b50505050565b6110e16001600160a01b03841683836113b2565b505050565b5f5f5f6110f68560200151610f2b565b50604051630ad58d2f60e01b815291935065ffffffffffff1691506001600160a01b03831690630ad58d2f9061113490849088903090600401611dda565b60408051808303815f875af115801561114f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111739190611df9565b60408701518751919550610f2392509085611009565b5f5f5f6111998560200151610f2b565b5065ffffffffffff16915091506111b88560400151865f015186611408565b60405163852a56a560e01b81526001600160a01b0383169063852a56a5906111e890849088903090600401611dda565b60408051808303815f875af1158015611203573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112279190611df9565b9695505050505050565b6001600160a01b038216611243575050565b61125560026001600160601b03611e1b565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa1580156112ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d09190611afc565b10156112ed576112e182825f61146f565b6112ed82825f1961146f565b5050565b5f8183106112ff5781611301565b825b9392505050565b80156110c7576110c76001600160a01b03851684848461157e565b5f6001600160a01b038216156113a3576040516370a0823160e01b81526001600160a01b038316906370a082319061135f9086906004016118f4565b602060405180830381865afa15801561137a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139e9190611afc565b611301565b50506001600160a01b03163190565b6110e18363a9059cbb60e01b84846040516024016113d1929190611e49565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115b6565b6001600160a01b038316611454578034146110e15760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161021c565b80156110e1576110e16001600160a01b03841683308461157e565b5f5f846001600160a01b031663095ea7b360e01b8585604051602401611496929190611e49565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516114d49190611e62565b5f604051808303815f865af19150503d805f811461150d576040519150601f19603f3d011682016040523d82523d5f602084013e611512565b606091505b509150915081801561153c57508051158061153c57508080602001905181019061153c9190611e78565b6115775760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161021c565b5050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526110c79085906323b872dd60e01b906084016113d1565b5f61160a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116899092919063ffffffff16565b905080515f148061162a57508080602001905181019061162a9190611e78565b6110e15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161021c565b606061039884845f85855f5f866001600160a01b031685876040516116ae9190611e62565b5f6040518083038185875af1925050503d805f81146116e8576040519150601f19603f3d011682016040523d82523d5f602084013e6116ed565b606091505b50915091506116fe87838387611709565b979650505050505050565b606083156117775782515f03611770576001600160a01b0385163b6117705760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161021c565b5081610398565b610398838381511561178c5781518083602001fd5b8060405162461bcd60e51b815260040161021c9190611e97565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156117dc576117dc6117a6565b60405290565b604051601f8201601f191681016001600160401b038111828210171561180a5761180a6117a6565b604052919050565b6001600160a01b038116811461022e575f5ffd5b5f60808284031215611836575f5ffd5b604051608081016001600160401b0381118282101715611858576118586117a6565b604052905080823561186981611812565b815260208381013590820152604083013561188381611812565b6040820152606083013561189681611812565b6060919091015292915050565b5f608082840312156118b3575f5ffd5b6113018383611826565b5f5f60a083850312156118ce575f5ffd5b6118d88484611826565b946080939093013593505050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b5f82601f830112611917575f5ffd5b81356001600160401b03811115611930576119306117a6565b8060051b611940602082016117e2565b9182526020818501810192908101908684111561195b575f5ffd5b6020860192505b8383101561122757823561197581611812565b825260209283019290910190611962565b5f5f5f5f5f60e0868803121561199a575f5ffd5b6119a48787611826565b945060808601356119b481611812565b935060a08601356001600160401b038111156119ce575f5ffd5b8601601f810188136119de575f5ffd5b80356001600160401b038111156119f3575f5ffd5b886020828401011115611a04575f5ffd5b6020919091019350915060c08601356001600160401b03811115611a26575f5ffd5b611a3288828901611908565b9150509295509295909350565b5f8151808452602084019350602083015f5b82811015611a6f578151865260209586019590910190600101611a51565b5093949350505050565b602081525f6113016020830184611a3f565b602080825260199082015278135bdb995e53585c9ad95d0e881d5b985d5d1a1bdc9a5e9959603a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561100357611003611abe565b9182526001600160a01b0316602082015260400190565b5f60208284031215611b0c575f5ffd5b5051919050565b8181038181111561100357611003611abe565b5f60208284031215611b36575f5ffd5b815161130181611812565b805160ff81168114611b51575f5ffd5b919050565b5f60208284031215611b66575f5ffd5b61130182611b41565b6001815b6001841115611baa57808504811115611b8e57611b8e611abe565b6001841615611b9c57908102905b60019390931c928002611b73565b935093915050565b5f82611bc057506001611003565b81611bcc57505f611003565b8160018114611be25760028114611bec57611c08565b6001915050611003565b60ff841115611bfd57611bfd611abe565b50506001821b611003565b5060208310610133831016604e8410600b8410161715611c2b575081810a611003565b611c375f198484611b6f565b805f1904821115611c4a57611c4a611abe565b029392505050565b5f61130160ff841683611bb2565b808202811582820484141761100357611003611abe565b634e487b7160e01b5f52601260045260245ffd5b5f82611c9957611c99611c77565b500490565b634e487b7160e01b5f52603260045260245ffd5b818382375f9101908152919050565b604080825283519082018190525f9060208501906060840190835b81811015611d035783516001600160a01b0316835260209384019390920191600101611cdc565b505083810360208501526112278186611a3f565b805162ffffff81168114611b51575f5ffd5b805163ffffffff81168114611b51575f5ffd5b5f60e0828403128015611d4d575f5ffd5b50611d566117ba565b8251611d6181611812565b81526020830151611d7181611812565b6020820152604083015161ffff81168114611d8a575f5ffd5b6040820152611d9b60608401611b41565b6060820152611dac60808401611d17565b6080820152611dbd60a08401611b41565b60a0820152611dce60c08401611d29565b60c08201529392505050565b92835260208301919091526001600160a01b0316604082015260600190565b5f5f60408385031215611e0a575f5ffd5b505080516020909101519092909150565b5f6001600160601b03831680611e3357611e33611c77565b6001600160601b03929092169190910492915050565b6001600160a01b03929092168252602082015260400190565b5f82518060208501845e5f920191825250919050565b5f60208284031215611e88575f5ffd5b81518015158114611301575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea2646970667358221220be3ba46db93f7b5bcc815b931c6e045c9dcfafc4143c3cd71e0eb1c72cd6e7f564736f6c634300081e0033",
612
+ "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610096575f3560e01c8062f1a3d61461009a5780630a44c195146100af578063180cad99146100d95780631a174fc4146100fa5780633a2e717b1461012e5780639025036a146101415780639e4f39c814610154578063b3fd98f014610167578063ca6f50fd14610187578063d30cd708146101ae578063ec094985146101c1575b5f5ffd5b6100ad6100a83660046118a3565b6101d4565b005b6100c26100bd3660046118bd565b610231565b6040516100d09291906118e6565b60405180910390f35b6100ec6100e73660046118a3565b61030d565b6040519081526020016100d0565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d091906118f4565b6100c261013c3660046118bd565b6103a0565b6100ec61014f3660046118a3565b610475565b6100ec6101623660046118a3565b6106f1565b61017a610175366004611986565b61073d565b6040516100d09190611a79565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6100c26101bc3660046118bd565b610a6b565b6100c26101cf3660046118bd565b610b3f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102255760405162461bcd60e51b815260040161021c90611a8b565b60405180910390fd5b61022e81610c0a565b50565b5f80336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461027b5760405162461bcd60e51b815260040161021c90611a8b565b5f610285856106f1565b9050835f03610298575f92509050610306565b6102a28585610e80565b92506102ae8184611ad2565b915084606001516001600160a01b0316855f01516001600160a01b03167fc14e9e6b4d98a542b05a0f6b64acd5f4cbdb914be88432d87486b664e97071a785846040516102fc9291906118e6565b60405180910390a3505b9250929050565b5f5f5f61031d8460200151610f2b565b5060405163f1568a8960e01b815291935065ffffffffffff1691506001600160a01b0383169063f1568a89906103599084903090600401611ae5565b602060405180830381865afa158015610374573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103989190611afc565b949350505050565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103ea5760405162461bcd60e51b815260040161021c90611a8b565b5f6103f4856106f1565b9050831580610401575080155b15610410575f92509050610306565b61041b858583610f3a565b92506104278382611b13565b915084606001516001600160a01b0316855f01516001600160a01b03167fe62a777dbd48d3912f68a1b9445813ee02bc3ac18b97dc129ca462cc77bb641b85846040516102fc9291906118e6565b5f5f5f5f6104868560200151610f2b565b65ffffffffffff16925065ffffffffffff16925092505f836001600160a01b03166338013f026040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fd9190611b26565b60405163d45c35ff60e01b8152600481018590529091505f906001600160a01b0383169063d45c35ff90602401602060405180830381865afa158015610545573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105699190611afc565b60405163d45c35ff60e01b8152600481018590529091505f906001600160a01b0384169063d45c35ff90602401602060405180830381865afa1580156105b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d59190611afc565b905087604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610617573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063b9190611b56565b61064690600a611c52565b6106509082611c60565b88606001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610690573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b49190611b56565b6106bf90600a611c52565b6106d1670de0b6b3a764000085611c60565b6106db9190611c60565b6106e59190611c8b565b98975050505050505050565b5f5f5f6107018460200151610f2b565b604051634db8b95360e11b815292945065ffffffffffff169250506001600160a01b03831690639b7172a6906103599084903090600401611ae5565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107875760405162461bcd60e51b815260040161021c90611a8b565b81515f816001600160401b038111156107a2576107a26117a6565b6040519080825280602002602001820160405280156107cb578160200160208202803683370190505b5090505f5b8281101561081f576107fa8582815181106107ed576107ed611c9e565b6020026020010151610ff8565b82828151811061080c5761080c611c9e565b60209081029190910101526001016107d0565b505f876001600160a01b0316878760405161083b929190611cb2565b5f604051808303815f865af19150503d805f8114610874576040519150601f19603f3d011682016040523d82523d5f602084013e610879565b606091505b50509050806108ca5760405162461bcd60e51b815260206004820181905260248201527f4d6f6e65794d61726b65743a20636c61696d52657761726473206661696c6564604482015260640161021c565b5f895f01516001600160a01b031663117803e36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092e9190611b26565b9050836001600160401b03811115610948576109486117a6565b604051908082528060200260200182016040528015610971578160200160208202803683370190505b5094505f5b84811015610a1a5783818151811061099057610990611c9e565b60200260200101516109ad8883815181106107ed576107ed611c9e565b6109b79190611b13565b8682815181106109c9576109c9611c9e565b602002602001018181525050610a128782815181106109ea576109ea611c9e565b602002602001015183888481518110610a0557610a05611c9e565b6020026020010151611009565b600101610976565b50886001600160a01b03167fc53cb8bc1a7200a84d0b66a538905a245c4915aace7f1ce5dc4a0ba107ebc15c8787604051610a56929190611cc1565b60405180910390a25050505095945050505050565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ab55760405162461bcd60e51b815260040161021c90611a8b565b5f610abf8561030d565b9050831580610acc575080155b15610adb575f92509050610306565b610ae585856110e6565b9250610af18382611b13565b915084604001516001600160a01b0316855f01516001600160a01b03167f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe285846040516102fc9291906118e6565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b895760405162461bcd60e51b815260040161021c90611a8b565b5f610b938561030d565b9050835f03610ba6575f92509050610306565b610bb08585611189565b9250610bbc8184611ad2565b915084604001516001600160a01b0316855f01516001600160a01b03167fb07c18dba66f7fd615f13c777549719e8ea100489339e0fdc30b7076bd77d60485846040516102fc9291906118e6565b5f5f5f610c1a8460200151610f2b565b65ffffffffffff16925065ffffffffffff16925092505f836001600160a01b03166377778db3846040518263ffffffff1660e01b8152600401610c5f91815260200190565b60e060405180830381865afa158015610c7a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9e9190611d3c565b516040516377778db360e01b8152600481018490529091505f906001600160a01b038616906377778db39060240160e060405180830381865afa158015610ce7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0b9190611d3c565b5f0151905085604001516001600160a01b0316826001600160a01b031614610d8c5760405162461bcd60e51b815260206004820152602e60248201527f4161766556344d6f6e65794d61726b65743a20636f6c6c61746572616c20726560448201526d0e6cae4ecca40dad2e6dac2e8c6d60931b606482015260840161021c565b85606001516001600160a01b0316816001600160a01b031614610e025760405162461bcd60e51b815260206004820152602860248201527f4161766556344d6f6e65794d61726b65743a20646562742072657365727665206044820152670dad2e6dac2e8c6d60c31b606482015260840161021c565b610e0c8286611231565b610e168186611231565b604051639e35c53360e01b815260048101859052600160248201523060448201526001600160a01b03861690639e35c533906064015f604051808303815f87803b158015610e62575f5ffd5b505af1158015610e74573d5f5f3e3d5ffd5b50505050505050505050565b5f5f5f610e908560200151610f2b565b60405163035af68360e61b815292945065ffffffffffff169250506001600160a01b0383169063d6bda0c090610ece90849088903090600401611dda565b60408051808303815f875af1158015610ee9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0d9190611df9565b60608701518751919550610f2392509085611009565b505092915050565b606081901c91603082901c9190565b5f5f5f610f4a8660200151610f2b565b65ffffffffffff169250509150610f6185856112f1565b92508215610fef57610f7c8660600151875f01513086611308565b60405163b1e8f8ef60e01b81526001600160a01b0383169063b1e8f8ef90610fac90849087903090600401611dda565b60408051808303815f875af1158015610fc7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190611df9565b9350505b50509392505050565b5f6110033083611323565b92915050565b80158061101e57506001600160a01b03821630145b1561102857505050565b6001600160a01b0383166110cd575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461107f576040519150601f19603f3d011682016040523d82523d5f602084013e611084565b606091505b50509050806110c75760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161021c565b50505050565b6110e16001600160a01b03841683836113b2565b505050565b5f5f5f6110f68560200151610f2b565b50604051630ad58d2f60e01b815291935065ffffffffffff1691506001600160a01b03831690630ad58d2f9061113490849088903090600401611dda565b60408051808303815f875af115801561114f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111739190611df9565b60408701518751919550610f2392509085611009565b5f5f5f6111998560200151610f2b565b5065ffffffffffff16915091506111b88560400151865f015186611408565b60405163852a56a560e01b81526001600160a01b0383169063852a56a5906111e890849088903090600401611dda565b60408051808303815f875af1158015611203573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112279190611df9565b9695505050505050565b6001600160a01b038216611243575050565b61125560026001600160601b03611e1b565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa1580156112ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d09190611afc565b10156112ed576112e182825f61146f565b6112ed82825f1961146f565b5050565b5f8183106112ff5781611301565b825b9392505050565b80156110c7576110c76001600160a01b03851684848461157e565b5f6001600160a01b038216156113a3576040516370a0823160e01b81526001600160a01b038316906370a082319061135f9086906004016118f4565b602060405180830381865afa15801561137a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139e9190611afc565b611301565b50506001600160a01b03163190565b6110e18363a9059cbb60e01b84846040516024016113d1929190611e49565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115b6565b6001600160a01b038316611454578034146110e15760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161021c565b80156110e1576110e16001600160a01b03841683308461157e565b5f5f846001600160a01b031663095ea7b360e01b8585604051602401611496929190611e49565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516114d49190611e62565b5f604051808303815f865af19150503d805f811461150d576040519150601f19603f3d011682016040523d82523d5f602084013e611512565b606091505b509150915081801561153c57508051158061153c57508080602001905181019061153c9190611e78565b6115775760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161021c565b5050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526110c79085906323b872dd60e01b906084016113d1565b5f61160a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116899092919063ffffffff16565b905080515f148061162a57508080602001905181019061162a9190611e78565b6110e15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161021c565b606061039884845f85855f5f866001600160a01b031685876040516116ae9190611e62565b5f6040518083038185875af1925050503d805f81146116e8576040519150601f19603f3d011682016040523d82523d5f602084013e6116ed565b606091505b50915091506116fe87838387611709565b979650505050505050565b606083156117775782515f03611770576001600160a01b0385163b6117705760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161021c565b5081610398565b610398838381511561178c5781518083602001fd5b8060405162461bcd60e51b815260040161021c9190611e97565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156117dc576117dc6117a6565b60405290565b604051601f8201601f191681016001600160401b038111828210171561180a5761180a6117a6565b604052919050565b6001600160a01b038116811461022e575f5ffd5b5f60808284031215611836575f5ffd5b604051608081016001600160401b0381118282101715611858576118586117a6565b604052905080823561186981611812565b815260208381013590820152604083013561188381611812565b6040820152606083013561189681611812565b6060919091015292915050565b5f608082840312156118b3575f5ffd5b6113018383611826565b5f5f60a083850312156118ce575f5ffd5b6118d88484611826565b946080939093013593505050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b5f82601f830112611917575f5ffd5b81356001600160401b03811115611930576119306117a6565b8060051b611940602082016117e2565b9182526020818501810192908101908684111561195b575f5ffd5b6020860192505b8383101561122757823561197581611812565b825260209283019290910190611962565b5f5f5f5f5f60e0868803121561199a575f5ffd5b6119a48787611826565b945060808601356119b481611812565b935060a08601356001600160401b038111156119ce575f5ffd5b8601601f810188136119de575f5ffd5b80356001600160401b038111156119f3575f5ffd5b886020828401011115611a04575f5ffd5b6020919091019350915060c08601356001600160401b03811115611a26575f5ffd5b611a3288828901611908565b9150509295509295909350565b5f8151808452602084019350602083015f5b82811015611a6f578151865260209586019590910190600101611a51565b5093949350505050565b602081525f6113016020830184611a3f565b602080825260199082015278135bdb995e53585c9ad95d0e881d5b985d5d1a1bdc9a5e9959603a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561100357611003611abe565b9182526001600160a01b0316602082015260400190565b5f60208284031215611b0c575f5ffd5b5051919050565b8181038181111561100357611003611abe565b5f60208284031215611b36575f5ffd5b815161130181611812565b805160ff81168114611b51575f5ffd5b919050565b5f60208284031215611b66575f5ffd5b61130182611b41565b6001815b6001841115611baa57808504811115611b8e57611b8e611abe565b6001841615611b9c57908102905b60019390931c928002611b73565b935093915050565b5f82611bc057506001611003565b81611bcc57505f611003565b8160018114611be25760028114611bec57611c08565b6001915050611003565b60ff841115611bfd57611bfd611abe565b50506001821b611003565b5060208310610133831016604e8410600b8410161715611c2b575081810a611003565b611c375f198484611b6f565b805f1904821115611c4a57611c4a611abe565b029392505050565b5f61130160ff841683611bb2565b808202811582820484141761100357611003611abe565b634e487b7160e01b5f52601260045260245ffd5b5f82611c9957611c99611c77565b500490565b634e487b7160e01b5f52603260045260245ffd5b818382375f9101908152919050565b604080825283519082018190525f9060208501906060840190835b81811015611d035783516001600160a01b0316835260209384019390920191600101611cdc565b505083810360208501526112278186611a3f565b805162ffffff81168114611b51575f5ffd5b805163ffffffff81168114611b51575f5ffd5b5f60e0828403128015611d4d575f5ffd5b50611d566117ba565b8251611d6181611812565b81526020830151611d7181611812565b6020820152604083015161ffff81168114611d8a575f5ffd5b6040820152611d9b60608401611b41565b6060820152611dac60808401611d17565b6080820152611dbd60a08401611b41565b60a0820152611dce60c08401611d29565b60c08201529392505050565b92835260208301919091526001600160a01b0316604082015260600190565b5f5f60408385031215611e0a575f5ffd5b505080516020909101519092909150565b5f6001600160601b03831680611e3357611e33611c77565b6001600160601b03929092169190910492915050565b6001600160a01b03929092168252602082015260400190565b5f82518060208501845e5f920191825250919050565b5f60208284031215611e88575f5ffd5b81518015158114611301575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea2646970667358221220be3ba46db93f7b5bcc815b931c6e045c9dcfafc4143c3cd71e0eb1c72cd6e7f564736f6c634300081e0033",
613
+ "linkReferences": {},
614
+ "deployedLinkReferences": {}
615
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../../build-info/db2c48eddcec6e7b50deb184b8782109.json"
4
+ }