@rev-net/core-v6 0.0.6 → 0.0.7

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 (27) hide show
  1. package/SKILLS.md +1 -1
  2. package/docs/book.toml +1 -1
  3. package/docs/src/README.md +151 -54
  4. package/docs/src/SUMMARY.md +0 -2
  5. package/docs/src/src/REVDeployer.sol/contract.REVDeployer.md +148 -117
  6. package/docs/src/src/REVLoans.sol/contract.REVLoans.md +120 -59
  7. package/docs/src/src/interfaces/IREVDeployer.sol/interface.IREVDeployer.md +296 -14
  8. package/docs/src/src/interfaces/IREVLoans.sol/interface.IREVLoans.md +318 -16
  9. package/docs/src/src/structs/README.md +0 -2
  10. package/docs/src/src/structs/REVAutoIssuance.sol/struct.REVAutoIssuance.md +4 -4
  11. package/docs/src/src/structs/REVConfig.sol/struct.REVConfig.md +5 -17
  12. package/docs/src/src/structs/REVCroptopAllowedPost.sol/struct.REVCroptopAllowedPost.md +10 -6
  13. package/docs/src/src/structs/REVDeploy721TiersHookConfig.sol/struct.REVDeploy721TiersHookConfig.md +7 -7
  14. package/docs/src/src/structs/REVDescription.sol/struct.REVDescription.md +5 -5
  15. package/docs/src/src/structs/REVLoan.sol/struct.REVLoan.md +7 -7
  16. package/docs/src/src/structs/REVLoanSource.sol/struct.REVLoanSource.md +3 -3
  17. package/docs/src/src/structs/REVStageConfig.sol/struct.REVStageConfig.md +10 -10
  18. package/docs/src/src/structs/REVSuckerDeploymentConfig.sol/struct.REVSuckerDeploymentConfig.md +3 -3
  19. package/package.json +6 -6
  20. package/slither-ci.config.json +1 -1
  21. package/src/REVLoans.sol +20 -9
  22. package/src/interfaces/IREVDeployer.sol +0 -2
  23. package/src/interfaces/IREVLoans.sol +10 -4
  24. package/test/TestPR27_CEIPattern.t.sol +2 -2
  25. package/test/TestPR32_MixedFixes.t.sol +1 -1
  26. package/test/regression/TestI20_CumulativeLoanCounter.t.sol +303 -0
  27. package/test/regression/TestL27_LiquidateGapHandling.t.sol +334 -0
@@ -1,92 +1,167 @@
1
1
  # IREVLoans
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/interfaces/IREVLoans.sol)
2
+ [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/interfaces/IREVLoans.sol)
3
3
 
4
4
 
5
5
  ## Functions
6
6
  ### LOAN_LIQUIDATION_DURATION
7
7
 
8
+ The duration after which a loan expires and its collateral is permanently lost.
9
+
8
10
 
9
11
  ```solidity
10
12
  function LOAN_LIQUIDATION_DURATION() external view returns (uint256);
11
13
  ```
14
+ **Returns**
15
+
16
+ |Name|Type|Description|
17
+ |----|----|-----------|
18
+ |`<none>`|`uint256`|The loan liquidation duration in seconds.|
19
+
12
20
 
13
21
  ### PERMIT2
14
22
 
23
+ The permit2 utility used for token transfers.
24
+
15
25
 
16
26
  ```solidity
17
27
  function PERMIT2() external view returns (IPermit2);
18
28
  ```
29
+ **Returns**
30
+
31
+ |Name|Type|Description|
32
+ |----|----|-----------|
33
+ |`<none>`|`IPermit2`|The permit2 contract.|
34
+
19
35
 
20
36
  ### CONTROLLER
21
37
 
38
+ The controller that manages revnets using this loans contract.
39
+
22
40
 
23
41
  ```solidity
24
42
  function CONTROLLER() external view returns (IJBController);
25
43
  ```
44
+ **Returns**
26
45
 
27
- ### REVNETS
46
+ |Name|Type|Description|
47
+ |----|----|-----------|
48
+ |`<none>`|`IJBController`|The controller contract.|
28
49
 
29
50
 
30
- ```solidity
31
- function REVNETS() external view returns (IREVDeployer);
32
- ```
33
-
34
51
  ### DIRECTORY
35
52
 
53
+ The directory of terminals and controllers for revnets.
54
+
36
55
 
37
56
  ```solidity
38
57
  function DIRECTORY() external view returns (IJBDirectory);
39
58
  ```
59
+ **Returns**
60
+
61
+ |Name|Type|Description|
62
+ |----|----|-----------|
63
+ |`<none>`|`IJBDirectory`|The directory contract.|
64
+
40
65
 
41
66
  ### PRICES
42
67
 
68
+ The contract that stores prices for each revnet.
69
+
43
70
 
44
71
  ```solidity
45
72
  function PRICES() external view returns (IJBPrices);
46
73
  ```
74
+ **Returns**
75
+
76
+ |Name|Type|Description|
77
+ |----|----|-----------|
78
+ |`<none>`|`IJBPrices`|The prices contract.|
79
+
47
80
 
48
81
  ### PROJECTS
49
82
 
83
+ The contract that mints ERC-721s representing project ownership.
84
+
50
85
 
51
86
  ```solidity
52
87
  function PROJECTS() external view returns (IJBProjects);
53
88
  ```
89
+ **Returns**
90
+
91
+ |Name|Type|Description|
92
+ |----|----|-----------|
93
+ |`<none>`|`IJBProjects`|The projects contract.|
94
+
54
95
 
55
96
  ### REV_ID
56
97
 
98
+ The ID of the REV revnet that receives protocol fees from loans.
99
+
57
100
 
58
101
  ```solidity
59
102
  function REV_ID() external view returns (uint256);
60
103
  ```
104
+ **Returns**
105
+
106
+ |Name|Type|Description|
107
+ |----|----|-----------|
108
+ |`<none>`|`uint256`|The REV revnet ID.|
109
+
61
110
 
62
111
  ### REV_PREPAID_FEE_PERCENT
63
112
 
113
+ The fee percent charged by the REV revnet on each loan, in terms of `JBConstants.MAX_FEE`.
114
+
64
115
 
65
116
  ```solidity
66
117
  function REV_PREPAID_FEE_PERCENT() external view returns (uint256);
67
118
  ```
119
+ **Returns**
120
+
121
+ |Name|Type|Description|
122
+ |----|----|-----------|
123
+ |`<none>`|`uint256`|The REV prepaid fee percent.|
124
+
68
125
 
69
126
  ### MIN_PREPAID_FEE_PERCENT
70
127
 
128
+ The minimum fee percent that must be prepaid when borrowing, in terms of `JBConstants.MAX_FEE`.
129
+
71
130
 
72
131
  ```solidity
73
132
  function MIN_PREPAID_FEE_PERCENT() external view returns (uint256);
74
133
  ```
134
+ **Returns**
135
+
136
+ |Name|Type|Description|
137
+ |----|----|-----------|
138
+ |`<none>`|`uint256`|The minimum prepaid fee percent.|
139
+
75
140
 
76
141
  ### MAX_PREPAID_FEE_PERCENT
77
142
 
143
+ The maximum fee percent that can be prepaid when borrowing, in terms of `JBConstants.MAX_FEE`.
144
+
78
145
 
79
146
  ```solidity
80
147
  function MAX_PREPAID_FEE_PERCENT() external view returns (uint256);
81
148
  ```
149
+ **Returns**
150
+
151
+ |Name|Type|Description|
152
+ |----|----|-----------|
153
+ |`<none>`|`uint256`|The maximum prepaid fee percent.|
154
+
82
155
 
83
156
  ### borrowableAmountFrom
84
157
 
158
+ The amount that can be borrowed from a revnet given a certain amount of collateral.
159
+
85
160
 
86
161
  ```solidity
87
162
  function borrowableAmountFrom(
88
163
  uint256 revnetId,
89
- uint256 collateral,
164
+ uint256 collateralCount,
90
165
  uint256 decimals,
91
166
  uint256 currency
92
167
  )
@@ -94,9 +169,26 @@ function borrowableAmountFrom(
94
169
  view
95
170
  returns (uint256);
96
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
+
97
187
 
98
188
  ### determineSourceFeeAmount
99
189
 
190
+ Determines the source fee amount for a loan being paid off a certain amount.
191
+
100
192
 
101
193
  ```solidity
102
194
  function determineSourceFeeAmount(
@@ -107,51 +199,154 @@ function determineSourceFeeAmount(
107
199
  view
108
200
  returns (uint256 sourceFeeAmount);
109
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
+
110
215
 
111
216
  ### isLoanSourceOf
112
217
 
218
+ Whether a revnet currently has outstanding loans from the specified terminal in the specified token.
219
+
113
220
 
114
221
  ```solidity
115
222
  function isLoanSourceOf(uint256 revnetId, IJBPayoutTerminal terminal, address token) external view returns (bool);
116
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
+
117
238
 
118
239
  ### loanOf
119
240
 
241
+ Get a loan's details.
242
+
120
243
 
121
244
  ```solidity
122
245
  function loanOf(uint256 loanId) external view returns (REVLoan memory);
123
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
+
124
259
 
125
260
  ### loanSourcesOf
126
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
+
127
268
 
128
269
  ```solidity
129
270
  function loanSourcesOf(uint256 revnetId) external view returns (REVLoanSource[] memory);
130
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.
131
288
 
132
- ### numberOfLoansFor
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.
133
292
 
134
293
 
135
294
  ```solidity
136
- function numberOfLoansFor(uint256 revnetId) external view returns (uint256);
295
+ function totalLoansBorrowedFor(uint256 revnetId) external view returns (uint256);
137
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
+
138
309
 
139
310
  ### revnetIdOfLoanWith
140
311
 
312
+ The revnet ID for the loan with the provided loan ID.
313
+
141
314
 
142
315
  ```solidity
143
316
  function revnetIdOfLoanWith(uint256 loanId) external view returns (uint256);
144
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
+
145
330
 
146
331
  ### tokenUriResolver
147
332
 
333
+ The contract resolving each loan ID to its ERC-721 URI.
334
+
148
335
 
149
336
  ```solidity
150
337
  function tokenUriResolver() external view returns (IJBTokenUriResolver);
151
338
  ```
339
+ **Returns**
340
+
341
+ |Name|Type|Description|
342
+ |----|----|-----------|
343
+ |`<none>`|`IJBTokenUriResolver`|The token URI resolver.|
344
+
152
345
 
153
346
  ### totalBorrowedFrom
154
347
 
348
+ The total amount loaned out by a revnet from a specified terminal in a specified token.
349
+
155
350
 
156
351
  ```solidity
157
352
  function totalBorrowedFrom(
@@ -163,39 +358,99 @@ function totalBorrowedFrom(
163
358
  view
164
359
  returns (uint256);
165
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
+
166
375
 
167
376
  ### totalCollateralOf
168
377
 
378
+ The total amount of collateral supporting a revnet's loans.
379
+
169
380
 
170
381
  ```solidity
171
382
  function totalCollateralOf(uint256 revnetId) external view returns (uint256);
172
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
+
173
396
 
174
397
  ### borrowFrom
175
398
 
399
+ Open a loan by borrowing from a revnet. Collateral tokens are burned and only re-minted upon repayment.
400
+
176
401
 
177
402
  ```solidity
178
403
  function borrowFrom(
179
404
  uint256 revnetId,
180
405
  REVLoanSource calldata source,
181
406
  uint256 minBorrowAmount,
182
- uint256 collateral,
407
+ uint256 collateralCount,
183
408
  address payable beneficiary,
184
409
  uint256 prepaidFeePercent
185
410
  )
186
411
  external
187
- returns (uint256 loanId, REVLoan memory loan);
412
+ returns (uint256 loanId, REVLoan memory);
188
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
+
189
432
 
190
433
  ### liquidateExpiredLoansFrom
191
434
 
435
+ Liquidates loans that have exceeded the liquidation duration, permanently destroying their collateral.
436
+
192
437
 
193
438
  ```solidity
194
439
  function liquidateExpiredLoansFrom(uint256 revnetId, uint256 startingLoanId, uint256 count) external;
195
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
+
196
449
 
197
450
  ### repayLoan
198
451
 
452
+ Repay a loan or return excess collateral no longer needed to support the loan.
453
+
199
454
 
200
455
  ```solidity
201
456
  function repayLoan(
@@ -207,33 +462,80 @@ function repayLoan(
207
462
  )
208
463
  external
209
464
  payable
210
- returns (uint256 paidOffLoanId, REVLoan memory loan);
465
+ returns (uint256 paidOffLoanId, REVLoan memory paidOffloan);
211
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
+
212
484
 
213
485
  ### reallocateCollateralFromLoan
214
486
 
487
+ Refinance a loan by transferring extra collateral from an existing loan to a new loan.
488
+
215
489
 
216
490
  ```solidity
217
491
  function reallocateCollateralFromLoan(
218
492
  uint256 loanId,
219
- uint256 collateralToTransfer,
493
+ uint256 collateralCountToTransfer,
220
494
  REVLoanSource calldata source,
221
495
  uint256 minBorrowAmount,
222
- uint256 collateralToAdd,
496
+ uint256 collateralCountToAdd,
223
497
  address payable beneficiary,
224
498
  uint256 prepaidFeePercent
225
499
  )
226
500
  external
227
- payable
228
501
  returns (uint256 reallocatedLoanId, uint256 newLoanId, REVLoan memory reallocatedLoan, REVLoan memory newLoan);
229
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
+
230
524
 
231
525
  ### setTokenUriResolver
232
526
 
527
+ Sets the address of the resolver used to retrieve the token URI of loans.
528
+
233
529
 
234
530
  ```solidity
235
531
  function setTokenUriResolver(IJBTokenUriResolver resolver) external;
236
532
  ```
533
+ **Parameters**
534
+
535
+ |Name|Type|Description|
536
+ |----|----|-----------|
537
+ |`resolver`|`IJBTokenUriResolver`|The new token URI resolver.|
538
+
237
539
 
238
540
  ## Events
239
541
  ### Borrow
@@ -283,7 +585,7 @@ event ReallocateCollateral(
283
585
  uint256 indexed revnetId,
284
586
  uint256 indexed reallocatedLoanId,
285
587
  REVLoan reallocatedLoan,
286
- uint256 removedcollateralCount,
588
+ uint256 removedCollateralCount,
287
589
  address caller
288
590
  );
289
591
  ```
@@ -2,8 +2,6 @@
2
2
 
3
3
  # Contents
4
4
  - [REVAutoIssuance](REVAutoIssuance.sol/struct.REVAutoIssuance.md)
5
- - [REVBuybackHookConfig](REVBuybackHookConfig.sol/struct.REVBuybackHookConfig.md)
6
- - [REVBuybackPoolConfig](REVBuybackPoolConfig.sol/struct.REVBuybackPoolConfig.md)
7
5
  - [REVConfig](REVConfig.sol/struct.REVConfig.md)
8
6
  - [REVCroptopAllowedPost](REVCroptopAllowedPost.sol/struct.REVCroptopAllowedPost.md)
9
7
  - [REVDeploy721TiersHookConfig](REVDeploy721TiersHookConfig.sol/struct.REVDeploy721TiersHookConfig.md)
@@ -1,5 +1,5 @@
1
1
  # REVAutoIssuance
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/structs/REVAutoIssuance.sol)
2
+ [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/structs/REVAutoIssuance.sol)
3
3
 
4
4
  **Notes:**
5
5
  - member: chainId The ID of the chain on which the mint should be honored.
@@ -11,9 +11,9 @@
11
11
 
12
12
  ```solidity
13
13
  struct REVAutoIssuance {
14
- uint32 chainId;
15
- uint104 count;
16
- address beneficiary;
14
+ uint32 chainId;
15
+ uint104 count;
16
+ address beneficiary;
17
17
  }
18
18
  ```
19
19
 
@@ -1,35 +1,23 @@
1
1
  # REVConfig
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/structs/REVConfig.sol)
2
+ [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/structs/REVConfig.sol)
3
3
 
4
4
  **Notes:**
5
5
  - member: description The description of the revnet.
6
6
 
7
7
  - member: baseCurrency The currency that the issuance is based on.
8
8
 
9
- - member: premintTokenAmount The number of tokens that should be preminted to the initial operator.
10
-
11
- - member: premintChainId The ID of the chain on which the premint should be honored.
12
-
13
- - member: premintStage The stage during which the premint should be honored.
14
-
15
9
  - member: splitOperator The address that will receive the token premint and initial production split,
16
10
  and who is allowed to change who the operator is. Only the operator can replace itself after deployment.
17
11
 
18
12
  - member: stageConfigurations The periods of changing constraints.
19
13
 
20
- - member: loanSources The sources for loans.
21
-
22
- - member: loans The loans contract, which can mint the revnet's tokens and use the revnet's balance.
23
-
24
14
 
25
15
  ```solidity
26
16
  struct REVConfig {
27
- REVDescription description;
28
- uint32 baseCurrency;
29
- address splitOperator;
30
- REVStageConfig[] stageConfigurations;
31
- REVLoanSource[] loanSources;
32
- address loans;
17
+ REVDescription description;
18
+ uint32 baseCurrency;
19
+ address splitOperator;
20
+ REVStageConfig[] stageConfigurations;
33
21
  }
34
22
  ```
35
23
 
@@ -1,5 +1,5 @@
1
1
  # REVCroptopAllowedPost
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/structs/REVCroptopAllowedPost.sol)
2
+ [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/structs/REVCroptopAllowedPost.sol)
3
3
 
4
4
  Criteria for allowed posts.
5
5
 
@@ -13,16 +13,20 @@ Criteria for allowed posts.
13
13
  - member: maxTotalSupply The max total supply of NFTs that can be made available when minting. Leave as 0 for
14
14
  max.
15
15
 
16
+ - member: maximumSplitPercent The maximum split percent (out of JBConstants.SPLITS_TOTAL_PERCENT) that a
17
+ poster can set. 0 means splits are not allowed.
18
+
16
19
  - member: allowedAddresses A list of addresses that are allowed to post on the category through Croptop.
17
20
 
18
21
 
19
22
  ```solidity
20
23
  struct REVCroptopAllowedPost {
21
- uint24 category;
22
- uint104 minimumPrice;
23
- uint32 minimumTotalSupply;
24
- uint32 maximumTotalSupply;
25
- address[] allowedAddresses;
24
+ uint24 category;
25
+ uint104 minimumPrice;
26
+ uint32 minimumTotalSupply;
27
+ uint32 maximumTotalSupply;
28
+ uint32 maximumSplitPercent;
29
+ address[] allowedAddresses;
26
30
  }
27
31
  ```
28
32
 
@@ -1,5 +1,5 @@
1
1
  # REVDeploy721TiersHookConfig
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/structs/REVDeploy721TiersHookConfig.sol)
2
+ [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/structs/REVDeploy721TiersHookConfig.sol)
3
3
 
4
4
  **Notes:**
5
5
  - member: baseline721HookConfiguration The baseline config.
@@ -23,12 +23,12 @@ discount of a tier.
23
23
 
24
24
  ```solidity
25
25
  struct REVDeploy721TiersHookConfig {
26
- JBDeploy721TiersHookConfig baseline721HookConfiguration;
27
- bytes32 salt;
28
- bool splitOperatorCanAdjustTiers;
29
- bool splitOperatorCanUpdateMetadata;
30
- bool splitOperatorCanMint;
31
- bool splitOperatorCanIncreaseDiscountPercent;
26
+ JBDeploy721TiersHookConfig baseline721HookConfiguration;
27
+ bytes32 salt;
28
+ bool splitOperatorCanAdjustTiers;
29
+ bool splitOperatorCanUpdateMetadata;
30
+ bool splitOperatorCanMint;
31
+ bool splitOperatorCanIncreaseDiscountPercent;
32
32
  }
33
33
  ```
34
34
 
@@ -1,5 +1,5 @@
1
1
  # REVDescription
2
- [Git Source](https://github.com/rev-net/revnet-core-v5/blob/364afaae78a8f60af2b98252dc96af1c2e4760d3/src/structs/REVDescription.sol)
2
+ [Git Source](https://github.com/rev-net/revnet-core-v6/blob/94c003a3a16de2bd012d63cccedd6bd38d21f6e7/src/structs/REVDescription.sol)
3
3
 
4
4
  **Notes:**
5
5
  - member: name The name of the ERC-20 token being create for the revnet.
@@ -14,10 +14,10 @@ address.
14
14
 
15
15
  ```solidity
16
16
  struct REVDescription {
17
- string name;
18
- string ticker;
19
- string uri;
20
- bytes32 salt;
17
+ string name;
18
+ string ticker;
19
+ string uri;
20
+ bytes32 salt;
21
21
  }
22
22
  ```
23
23