@rev-net/core-v6 0.0.13 → 0.0.15

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 (64) hide show
  1. package/CHANGE_LOG.md +8 -3
  2. package/SKILLS.md +1 -1
  3. package/foundry.toml +7 -0
  4. package/package.json +8 -9
  5. package/src/REVDeployer.sol +34 -12
  6. package/src/REVLoans.sol +1 -5
  7. package/test/REVDeployerRegressions.t.sol +6 -3
  8. package/test/REVInvincibility.t.sol +6 -18
  9. package/test/REVLoansAttacks.t.sol +19 -11
  10. package/test/REVLoansFeeRecovery.t.sol +19 -11
  11. package/test/REVLoansFindings.t.sol +19 -11
  12. package/test/REVLoansRegressions.t.sol +19 -11
  13. package/test/REVLoansSourced.t.sol +0 -8
  14. package/test/TestCashOutCallerValidation.t.sol +74 -0
  15. package/test/TestLowFindings.t.sol +3 -1
  16. package/test/TestMixedFixes.t.sol +6 -4
  17. package/test/TestSplitWeightAdjustment.t.sol +10 -5
  18. package/test/fork/TestAutoIssuanceFork.t.sol +148 -0
  19. package/test/fork/TestCashOutFork.t.sol +22 -21
  20. package/test/fork/TestIssuanceDecayFork.t.sol +158 -0
  21. package/test/fork/TestLoanERC20Fork.t.sol +463 -0
  22. package/test/fork/TestLoanRepayFork.t.sol +2 -2
  23. package/test/fork/TestPermit2PaymentFork.t.sol +299 -0
  24. package/test/helpers/MaliciousContracts.sol +36 -22
  25. package/test/mock/MockBuybackDataHook.sol +50 -6
  26. package/deployments/revnet-core-v5/arbitrum/REVDeployer.json +0 -2821
  27. package/deployments/revnet-core-v5/arbitrum/REVLoans.json +0 -2260
  28. package/deployments/revnet-core-v5/arbitrum_sepolia/REVDeployer.json +0 -2821
  29. package/deployments/revnet-core-v5/arbitrum_sepolia/REVLoans.json +0 -2260
  30. package/deployments/revnet-core-v5/base/REVDeployer.json +0 -2825
  31. package/deployments/revnet-core-v5/base/REVLoans.json +0 -2264
  32. package/deployments/revnet-core-v5/base_sepolia/REVDeployer.json +0 -2825
  33. package/deployments/revnet-core-v5/base_sepolia/REVLoans.json +0 -2264
  34. package/deployments/revnet-core-v5/ethereum/REVDeployer.json +0 -2825
  35. package/deployments/revnet-core-v5/ethereum/REVLoans.json +0 -2264
  36. package/deployments/revnet-core-v5/optimism/REVDeployer.json +0 -2821
  37. package/deployments/revnet-core-v5/optimism/REVLoans.json +0 -2260
  38. package/deployments/revnet-core-v5/optimism_sepolia/REVDeployer.json +0 -2825
  39. package/deployments/revnet-core-v5/optimism_sepolia/REVLoans.json +0 -2264
  40. package/deployments/revnet-core-v5/sepolia/REVDeployer.json +0 -2825
  41. package/deployments/revnet-core-v5/sepolia/REVLoans.json +0 -2264
  42. package/docs/book.css +0 -13
  43. package/docs/book.toml +0 -13
  44. package/docs/solidity.min.js +0 -74
  45. package/docs/src/README.md +0 -185
  46. package/docs/src/SUMMARY.md +0 -18
  47. package/docs/src/src/README.md +0 -7
  48. package/docs/src/src/REVDeployer.sol/contract.REVDeployer.md +0 -999
  49. package/docs/src/src/REVLoans.sol/contract.REVLoans.md +0 -1108
  50. package/docs/src/src/interfaces/IREVDeployer.sol/interface.IREVDeployer.md +0 -525
  51. package/docs/src/src/interfaces/IREVLoans.sol/interface.IREVLoans.md +0 -598
  52. package/docs/src/src/interfaces/README.md +0 -5
  53. package/docs/src/src/structs/README.md +0 -12
  54. package/docs/src/src/structs/REVAutoIssuance.sol/struct.REVAutoIssuance.md +0 -19
  55. package/docs/src/src/structs/REVBuybackHookConfig.sol/struct.REVBuybackHookConfig.md +0 -19
  56. package/docs/src/src/structs/REVBuybackPoolConfig.sol/struct.REVBuybackPoolConfig.md +0 -21
  57. package/docs/src/src/structs/REVConfig.sol/struct.REVConfig.md +0 -23
  58. package/docs/src/src/structs/REVCroptopAllowedPost.sol/struct.REVCroptopAllowedPost.md +0 -32
  59. package/docs/src/src/structs/REVDeploy721TiersHookConfig.sol/struct.REVDeploy721TiersHookConfig.md +0 -34
  60. package/docs/src/src/structs/REVDescription.sol/struct.REVDescription.md +0 -23
  61. package/docs/src/src/structs/REVLoan.sol/struct.REVLoan.md +0 -28
  62. package/docs/src/src/structs/REVLoanSource.sol/struct.REVLoanSource.md +0 -16
  63. package/docs/src/src/structs/REVStageConfig.sol/struct.REVStageConfig.md +0 -44
  64. package/docs/src/src/structs/REVSuckerDeploymentConfig.sol/struct.REVSuckerDeploymentConfig.md +0 -16
@@ -1,598 +0,0 @@
1
- # IREVLoans
2
- [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/interfaces/IREVLoans.sol)
3
-
4
-
5
- ## Functions
6
- ### LOAN_LIQUIDATION_DURATION
7
-
8
- The duration after which a loan expires and its collateral is permanently lost.
9
-
10
-
11
- ```solidity
12
- function LOAN_LIQUIDATION_DURATION() external view returns (uint256);
13
- ```
14
- **Returns**
15
-
16
- |Name|Type|Description|
17
- |----|----|-----------|
18
- |`<none>`|`uint256`|The loan liquidation duration in seconds.|
19
-
20
-
21
- ### PERMIT2
22
-
23
- The permit2 utility used for token transfers.
24
-
25
-
26
- ```solidity
27
- function PERMIT2() external view returns (IPermit2);
28
- ```
29
- **Returns**
30
-
31
- |Name|Type|Description|
32
- |----|----|-----------|
33
- |`<none>`|`IPermit2`|The permit2 contract.|
34
-
35
-
36
- ### CONTROLLER
37
-
38
- The controller that manages revnets using this loans contract.
39
-
40
-
41
- ```solidity
42
- function CONTROLLER() external view returns (IJBController);
43
- ```
44
- **Returns**
45
-
46
- |Name|Type|Description|
47
- |----|----|-----------|
48
- |`<none>`|`IJBController`|The controller contract.|
49
-
50
-
51
- ### DIRECTORY
52
-
53
- The directory of terminals and controllers for revnets.
54
-
55
-
56
- ```solidity
57
- function DIRECTORY() external view returns (IJBDirectory);
58
- ```
59
- **Returns**
60
-
61
- |Name|Type|Description|
62
- |----|----|-----------|
63
- |`<none>`|`IJBDirectory`|The directory contract.|
64
-
65
-
66
- ### PRICES
67
-
68
- The contract that stores prices for each revnet.
69
-
70
-
71
- ```solidity
72
- function PRICES() external view returns (IJBPrices);
73
- ```
74
- **Returns**
75
-
76
- |Name|Type|Description|
77
- |----|----|-----------|
78
- |`<none>`|`IJBPrices`|The prices contract.|
79
-
80
-
81
- ### PROJECTS
82
-
83
- The contract that mints ERC-721s representing project ownership.
84
-
85
-
86
- ```solidity
87
- function PROJECTS() external view returns (IJBProjects);
88
- ```
89
- **Returns**
90
-
91
- |Name|Type|Description|
92
- |----|----|-----------|
93
- |`<none>`|`IJBProjects`|The projects contract.|
94
-
95
-
96
- ### REV_ID
97
-
98
- The ID of the REV revnet that receives protocol fees from loans.
99
-
100
-
101
- ```solidity
102
- function REV_ID() external view returns (uint256);
103
- ```
104
- **Returns**
105
-
106
- |Name|Type|Description|
107
- |----|----|-----------|
108
- |`<none>`|`uint256`|The REV revnet ID.|
109
-
110
-
111
- ### REV_PREPAID_FEE_PERCENT
112
-
113
- The fee percent charged by the REV revnet on each loan, in terms of `JBConstants.MAX_FEE`.
114
-
115
-
116
- ```solidity
117
- function REV_PREPAID_FEE_PERCENT() external view returns (uint256);
118
- ```
119
- **Returns**
120
-
121
- |Name|Type|Description|
122
- |----|----|-----------|
123
- |`<none>`|`uint256`|The REV prepaid fee percent.|
124
-
125
-
126
- ### MIN_PREPAID_FEE_PERCENT
127
-
128
- The minimum fee percent that must be prepaid when borrowing, in terms of `JBConstants.MAX_FEE`.
129
-
130
-
131
- ```solidity
132
- function MIN_PREPAID_FEE_PERCENT() external view returns (uint256);
133
- ```
134
- **Returns**
135
-
136
- |Name|Type|Description|
137
- |----|----|-----------|
138
- |`<none>`|`uint256`|The minimum prepaid fee percent.|
139
-
140
-
141
- ### MAX_PREPAID_FEE_PERCENT
142
-
143
- The maximum fee percent that can be prepaid when borrowing, in terms of `JBConstants.MAX_FEE`.
144
-
145
-
146
- ```solidity
147
- function MAX_PREPAID_FEE_PERCENT() external view returns (uint256);
148
- ```
149
- **Returns**
150
-
151
- |Name|Type|Description|
152
- |----|----|-----------|
153
- |`<none>`|`uint256`|The maximum prepaid fee percent.|
154
-
155
-
156
- ### borrowableAmountFrom
157
-
158
- The amount that can be borrowed from a revnet given a certain amount of collateral.
159
-
160
-
161
- ```solidity
162
- function borrowableAmountFrom(
163
- uint256 revnetId,
164
- uint256 collateralCount,
165
- uint256 decimals,
166
- uint256 currency
167
- )
168
- external
169
- view
170
- returns (uint256);
171
- ```
172
- **Parameters**
173
-
174
- |Name|Type|Description|
175
- |----|----|-----------|
176
- |`revnetId`|`uint256`|The ID of the revnet to check for borrowable assets from.|
177
- |`collateralCount`|`uint256`|The amount of collateral used to secure the loan.|
178
- |`decimals`|`uint256`|The decimals the resulting fixed point value will include.|
179
- |`currency`|`uint256`|The currency that the resulting amount should be in terms of.|
180
-
181
- **Returns**
182
-
183
- |Name|Type|Description|
184
- |----|----|-----------|
185
- |`<none>`|`uint256`|The amount that can be borrowed from the revnet.|
186
-
187
-
188
- ### determineSourceFeeAmount
189
-
190
- Determines the source fee amount for a loan being paid off a certain amount.
191
-
192
-
193
- ```solidity
194
- function determineSourceFeeAmount(
195
- REVLoan memory loan,
196
- uint256 amount
197
- )
198
- external
199
- view
200
- returns (uint256 sourceFeeAmount);
201
- ```
202
- **Parameters**
203
-
204
- |Name|Type|Description|
205
- |----|----|-----------|
206
- |`loan`|`REVLoan`|The loan having its source fee amount determined.|
207
- |`amount`|`uint256`|The amount being paid off.|
208
-
209
- **Returns**
210
-
211
- |Name|Type|Description|
212
- |----|----|-----------|
213
- |`sourceFeeAmount`|`uint256`|The source fee amount for the loan.|
214
-
215
-
216
- ### isLoanSourceOf
217
-
218
- Whether a revnet currently has outstanding loans from the specified terminal in the specified token.
219
-
220
-
221
- ```solidity
222
- function isLoanSourceOf(uint256 revnetId, IJBPayoutTerminal terminal, address token) external view returns (bool);
223
- ```
224
- **Parameters**
225
-
226
- |Name|Type|Description|
227
- |----|----|-----------|
228
- |`revnetId`|`uint256`|The ID of the revnet issuing the loan.|
229
- |`terminal`|`IJBPayoutTerminal`|The terminal that the loan is issued from.|
230
- |`token`|`address`|The token being loaned.|
231
-
232
- **Returns**
233
-
234
- |Name|Type|Description|
235
- |----|----|-----------|
236
- |`<none>`|`bool`|A flag indicating if the revnet has an active loan source.|
237
-
238
-
239
- ### loanOf
240
-
241
- Get a loan's details.
242
-
243
-
244
- ```solidity
245
- function loanOf(uint256 loanId) external view returns (REVLoan memory);
246
- ```
247
- **Parameters**
248
-
249
- |Name|Type|Description|
250
- |----|----|-----------|
251
- |`loanId`|`uint256`|The ID of the loan to retrieve.|
252
-
253
- **Returns**
254
-
255
- |Name|Type|Description|
256
- |----|----|-----------|
257
- |`<none>`|`REVLoan`|The loan data.|
258
-
259
-
260
- ### loanSourcesOf
261
-
262
- The sources of each revnet's loans.
263
-
264
- This array only grows -- sources are appended when a new (terminal, token) pair is first used for
265
- borrowing, but are never removed. Gas cost scales linearly with the number of distinct sources, though this is
266
- practically bounded to a small number of unique (terminal, token) pairs.
267
-
268
-
269
- ```solidity
270
- function loanSourcesOf(uint256 revnetId) external view returns (REVLoanSource[] memory);
271
- ```
272
- **Parameters**
273
-
274
- |Name|Type|Description|
275
- |----|----|-----------|
276
- |`revnetId`|`uint256`|The ID of the revnet to get the loan sources for.|
277
-
278
- **Returns**
279
-
280
- |Name|Type|Description|
281
- |----|----|-----------|
282
- |`<none>`|`REVLoanSource[]`|The array of loan sources.|
283
-
284
-
285
- ### totalLoansBorrowedFor
286
-
287
- The cumulative number of loans ever created for a revnet, used as a loan ID sequence counter.
288
-
289
- This counter only increments and never decrements. It does NOT represent the count of currently active
290
- loans -- repaid and liquidated loans leave permanent gaps in the sequence. Do not use this value to determine
291
- how many loans are currently outstanding.
292
-
293
-
294
- ```solidity
295
- function totalLoansBorrowedFor(uint256 revnetId) external view returns (uint256);
296
- ```
297
- **Parameters**
298
-
299
- |Name|Type|Description|
300
- |----|----|-----------|
301
- |`revnetId`|`uint256`|The ID of the revnet to get the cumulative loan count for.|
302
-
303
- **Returns**
304
-
305
- |Name|Type|Description|
306
- |----|----|-----------|
307
- |`<none>`|`uint256`|The cumulative number of loans ever created.|
308
-
309
-
310
- ### revnetIdOfLoanWith
311
-
312
- The revnet ID for the loan with the provided loan ID.
313
-
314
-
315
- ```solidity
316
- function revnetIdOfLoanWith(uint256 loanId) external view returns (uint256);
317
- ```
318
- **Parameters**
319
-
320
- |Name|Type|Description|
321
- |----|----|-----------|
322
- |`loanId`|`uint256`|The loan ID to get the revnet ID of.|
323
-
324
- **Returns**
325
-
326
- |Name|Type|Description|
327
- |----|----|-----------|
328
- |`<none>`|`uint256`|The ID of the revnet.|
329
-
330
-
331
- ### tokenUriResolver
332
-
333
- The contract resolving each loan ID to its ERC-721 URI.
334
-
335
-
336
- ```solidity
337
- function tokenUriResolver() external view returns (IJBTokenUriResolver);
338
- ```
339
- **Returns**
340
-
341
- |Name|Type|Description|
342
- |----|----|-----------|
343
- |`<none>`|`IJBTokenUriResolver`|The token URI resolver.|
344
-
345
-
346
- ### totalBorrowedFrom
347
-
348
- The total amount loaned out by a revnet from a specified terminal in a specified token.
349
-
350
-
351
- ```solidity
352
- function totalBorrowedFrom(
353
- uint256 revnetId,
354
- IJBPayoutTerminal terminal,
355
- address token
356
- )
357
- external
358
- view
359
- returns (uint256);
360
- ```
361
- **Parameters**
362
-
363
- |Name|Type|Description|
364
- |----|----|-----------|
365
- |`revnetId`|`uint256`|The ID of the revnet issuing the loan.|
366
- |`terminal`|`IJBPayoutTerminal`|The terminal that the loan is issued from.|
367
- |`token`|`address`|The token being loaned.|
368
-
369
- **Returns**
370
-
371
- |Name|Type|Description|
372
- |----|----|-----------|
373
- |`<none>`|`uint256`|The total amount borrowed.|
374
-
375
-
376
- ### totalCollateralOf
377
-
378
- The total amount of collateral supporting a revnet's loans.
379
-
380
-
381
- ```solidity
382
- function totalCollateralOf(uint256 revnetId) external view returns (uint256);
383
- ```
384
- **Parameters**
385
-
386
- |Name|Type|Description|
387
- |----|----|-----------|
388
- |`revnetId`|`uint256`|The ID of the revnet.|
389
-
390
- **Returns**
391
-
392
- |Name|Type|Description|
393
- |----|----|-----------|
394
- |`<none>`|`uint256`|The total collateral count.|
395
-
396
-
397
- ### borrowFrom
398
-
399
- Open a loan by borrowing from a revnet. Collateral tokens are burned and only re-minted upon repayment.
400
-
401
-
402
- ```solidity
403
- function borrowFrom(
404
- uint256 revnetId,
405
- REVLoanSource calldata source,
406
- uint256 minBorrowAmount,
407
- uint256 collateralCount,
408
- address payable beneficiary,
409
- uint256 prepaidFeePercent
410
- )
411
- external
412
- returns (uint256 loanId, REVLoan memory);
413
- ```
414
- **Parameters**
415
-
416
- |Name|Type|Description|
417
- |----|----|-----------|
418
- |`revnetId`|`uint256`|The ID of the revnet being borrowed from.|
419
- |`source`|`REVLoanSource`|The source of the loan (terminal and token).|
420
- |`minBorrowAmount`|`uint256`|The minimum amount to borrow, denominated in the source's token.|
421
- |`collateralCount`|`uint256`|The amount of tokens to use as collateral for the loan.|
422
- |`beneficiary`|`address payable`|The address that will receive the borrowed funds and fee payment tokens.|
423
- |`prepaidFeePercent`|`uint256`|The fee percent to charge upfront, in terms of `JBConstants.MAX_FEE`.|
424
-
425
- **Returns**
426
-
427
- |Name|Type|Description|
428
- |----|----|-----------|
429
- |`loanId`|`uint256`|The ID of the loan created from borrowing.|
430
- |`<none>`|`REVLoan`|The loan created from borrowing.|
431
-
432
-
433
- ### liquidateExpiredLoansFrom
434
-
435
- Liquidates loans that have exceeded the liquidation duration, permanently destroying their collateral.
436
-
437
-
438
- ```solidity
439
- function liquidateExpiredLoansFrom(uint256 revnetId, uint256 startingLoanId, uint256 count) external;
440
- ```
441
- **Parameters**
442
-
443
- |Name|Type|Description|
444
- |----|----|-----------|
445
- |`revnetId`|`uint256`|The ID of the revnet to liquidate loans from.|
446
- |`startingLoanId`|`uint256`|The loan number to start iterating from.|
447
- |`count`|`uint256`|The number of loans to iterate over.|
448
-
449
-
450
- ### repayLoan
451
-
452
- Repay a loan or return excess collateral no longer needed to support the loan.
453
-
454
-
455
- ```solidity
456
- function repayLoan(
457
- uint256 loanId,
458
- uint256 maxRepayBorrowAmount,
459
- uint256 collateralCountToReturn,
460
- address payable beneficiary,
461
- JBSingleAllowance calldata allowance
462
- )
463
- external
464
- payable
465
- returns (uint256 paidOffLoanId, REVLoan memory paidOffloan);
466
- ```
467
- **Parameters**
468
-
469
- |Name|Type|Description|
470
- |----|----|-----------|
471
- |`loanId`|`uint256`|The ID of the loan being repaid.|
472
- |`maxRepayBorrowAmount`|`uint256`|The maximum amount to repay, denominated in the source's token.|
473
- |`collateralCountToReturn`|`uint256`|The amount of collateral to return from the loan.|
474
- |`beneficiary`|`address payable`|The address receiving the returned collateral and fee payment tokens.|
475
- |`allowance`|`JBSingleAllowance`|A permit2 allowance to facilitate the repayment transfer.|
476
-
477
- **Returns**
478
-
479
- |Name|Type|Description|
480
- |----|----|-----------|
481
- |`paidOffLoanId`|`uint256`|The ID of the loan after it has been paid off.|
482
- |`paidOffloan`|`REVLoan`|The loan after it has been paid off.|
483
-
484
-
485
- ### reallocateCollateralFromLoan
486
-
487
- Refinance a loan by transferring extra collateral from an existing loan to a new loan.
488
-
489
-
490
- ```solidity
491
- function reallocateCollateralFromLoan(
492
- uint256 loanId,
493
- uint256 collateralCountToTransfer,
494
- REVLoanSource calldata source,
495
- uint256 minBorrowAmount,
496
- uint256 collateralCountToAdd,
497
- address payable beneficiary,
498
- uint256 prepaidFeePercent
499
- )
500
- external
501
- returns (uint256 reallocatedLoanId, uint256 newLoanId, REVLoan memory reallocatedLoan, REVLoan memory newLoan);
502
- ```
503
- **Parameters**
504
-
505
- |Name|Type|Description|
506
- |----|----|-----------|
507
- |`loanId`|`uint256`|The ID of the loan to reallocate collateral from.|
508
- |`collateralCountToTransfer`|`uint256`|The amount of collateral to transfer from the original loan.|
509
- |`source`|`REVLoanSource`|The source of the new loan (terminal and token). Must match the existing loan's source.|
510
- |`minBorrowAmount`|`uint256`|The minimum amount to borrow for the new loan.|
511
- |`collateralCountToAdd`|`uint256`|Additional collateral to add to the new loan from the caller's balance.|
512
- |`beneficiary`|`address payable`|The address that will receive the borrowed funds and fee payment tokens.|
513
- |`prepaidFeePercent`|`uint256`|The fee percent to charge upfront for the new loan.|
514
-
515
- **Returns**
516
-
517
- |Name|Type|Description|
518
- |----|----|-----------|
519
- |`reallocatedLoanId`|`uint256`|The ID of the reallocated (reduced) loan.|
520
- |`newLoanId`|`uint256`|The ID of the newly created loan.|
521
- |`reallocatedLoan`|`REVLoan`|The reallocated loan data.|
522
- |`newLoan`|`REVLoan`|The new loan data.|
523
-
524
-
525
- ### setTokenUriResolver
526
-
527
- Sets the address of the resolver used to retrieve the token URI of loans.
528
-
529
-
530
- ```solidity
531
- function setTokenUriResolver(IJBTokenUriResolver resolver) external;
532
- ```
533
- **Parameters**
534
-
535
- |Name|Type|Description|
536
- |----|----|-----------|
537
- |`resolver`|`IJBTokenUriResolver`|The new token URI resolver.|
538
-
539
-
540
- ## Events
541
- ### Borrow
542
-
543
- ```solidity
544
- event Borrow(
545
- uint256 indexed loanId,
546
- uint256 indexed revnetId,
547
- REVLoan loan,
548
- REVLoanSource source,
549
- uint256 borrowAmount,
550
- uint256 collateralCount,
551
- uint256 sourceFeeAmount,
552
- address payable beneficiary,
553
- address caller
554
- );
555
- ```
556
-
557
- ### Liquidate
558
-
559
- ```solidity
560
- event Liquidate(uint256 indexed loanId, uint256 indexed revnetId, REVLoan loan, address caller);
561
- ```
562
-
563
- ### RepayLoan
564
-
565
- ```solidity
566
- event RepayLoan(
567
- uint256 indexed loanId,
568
- uint256 indexed revnetId,
569
- uint256 indexed paidOffLoanId,
570
- REVLoan loan,
571
- REVLoan paidOffLoan,
572
- uint256 repayBorrowAmount,
573
- uint256 sourceFeeAmount,
574
- uint256 collateralCountToReturn,
575
- address payable beneficiary,
576
- address caller
577
- );
578
- ```
579
-
580
- ### ReallocateCollateral
581
-
582
- ```solidity
583
- event ReallocateCollateral(
584
- uint256 indexed loanId,
585
- uint256 indexed revnetId,
586
- uint256 indexed reallocatedLoanId,
587
- REVLoan reallocatedLoan,
588
- uint256 removedCollateralCount,
589
- address caller
590
- );
591
- ```
592
-
593
- ### SetTokenUriResolver
594
-
595
- ```solidity
596
- event SetTokenUriResolver(IJBTokenUriResolver indexed resolver, address caller);
597
- ```
598
-
@@ -1,5 +0,0 @@
1
-
2
-
3
- # Contents
4
- - [IREVDeployer](IREVDeployer.sol/interface.IREVDeployer.md)
5
- - [IREVLoans](IREVLoans.sol/interface.IREVLoans.md)
@@ -1,12 +0,0 @@
1
-
2
-
3
- # Contents
4
- - [REVAutoIssuance](REVAutoIssuance.sol/struct.REVAutoIssuance.md)
5
- - [REVConfig](REVConfig.sol/struct.REVConfig.md)
6
- - [REVCroptopAllowedPost](REVCroptopAllowedPost.sol/struct.REVCroptopAllowedPost.md)
7
- - [REVDeploy721TiersHookConfig](REVDeploy721TiersHookConfig.sol/struct.REVDeploy721TiersHookConfig.md)
8
- - [REVDescription](REVDescription.sol/struct.REVDescription.md)
9
- - [REVLoan](REVLoan.sol/struct.REVLoan.md)
10
- - [REVLoanSource](REVLoanSource.sol/struct.REVLoanSource.md)
11
- - [REVStageConfig](REVStageConfig.sol/struct.REVStageConfig.md)
12
- - [REVSuckerDeploymentConfig](REVSuckerDeploymentConfig.sol/struct.REVSuckerDeploymentConfig.md)
@@ -1,19 +0,0 @@
1
- # REVAutoIssuance
2
- [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/structs/REVAutoIssuance.sol)
3
-
4
- **Notes:**
5
- - member: chainId The ID of the chain on which the mint should be honored.
6
-
7
- - member: count The number of tokens that should be minted.
8
-
9
- - member: beneficiary The address that will receive the minted tokens.
10
-
11
-
12
- ```solidity
13
- struct REVAutoIssuance {
14
- uint32 chainId;
15
- uint104 count;
16
- address beneficiary;
17
- }
18
- ```
19
-
@@ -1,19 +0,0 @@
1
- # REVBuybackHookConfig
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/structs/REVBuybackHookConfig.sol)
3
-
4
- **Notes:**
5
- - member: dataHook The data hook to use.
6
-
7
- - member: hookToConfigure The buyback hook to configure.
8
-
9
- - member: poolConfigurations The pools to setup on the given buyback contract.
10
-
11
-
12
- ```solidity
13
- struct REVBuybackHookConfig {
14
- IJBRulesetDataHook dataHook;
15
- IJBBuybackHook hookToConfigure;
16
- REVBuybackPoolConfig[] poolConfigurations;
17
- }
18
- ```
19
-
@@ -1,21 +0,0 @@
1
- # REVBuybackPoolConfig
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/structs/REVBuybackPoolConfig.sol)
3
-
4
- **Notes:**
5
- - member: token The token to setup a pool for.
6
-
7
- - member: poolFee The fee of the pool in which swaps occur when seeking the best price for a new participant.
8
- This incentivizes liquidity providers. Out of 1_000_000. A common value is 1%, or 10_000. Other passible values are
9
- 0.3% and 0.1%.
10
-
11
- - member: twapWindow The time window to take into account when quoting a price based on TWAP.
12
-
13
-
14
- ```solidity
15
- struct REVBuybackPoolConfig {
16
- address token;
17
- uint24 fee;
18
- uint32 twapWindow;
19
- }
20
- ```
21
-
@@ -1,23 +0,0 @@
1
- # REVConfig
2
- [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/structs/REVConfig.sol)
3
-
4
- **Notes:**
5
- - member: description The description of the revnet.
6
-
7
- - member: baseCurrency The currency that the issuance is based on.
8
-
9
- - member: splitOperator The address that will receive the token premint and initial production split,
10
- and who is allowed to change who the operator is. Only the operator can replace itself after deployment.
11
-
12
- - member: stageConfigurations The periods of changing constraints.
13
-
14
-
15
- ```solidity
16
- struct REVConfig {
17
- REVDescription description;
18
- uint32 baseCurrency;
19
- address splitOperator;
20
- REVStageConfig[] stageConfigurations;
21
- }
22
- ```
23
-