@rev-net/core-v6 0.0.13 → 0.0.14
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.
- package/CHANGE_LOG.md +8 -3
- package/package.json +1 -1
- package/deployments/revnet-core-v5/arbitrum/REVDeployer.json +0 -2821
- package/deployments/revnet-core-v5/arbitrum/REVLoans.json +0 -2260
- package/deployments/revnet-core-v5/arbitrum_sepolia/REVDeployer.json +0 -2821
- package/deployments/revnet-core-v5/arbitrum_sepolia/REVLoans.json +0 -2260
- package/deployments/revnet-core-v5/base/REVDeployer.json +0 -2825
- package/deployments/revnet-core-v5/base/REVLoans.json +0 -2264
- package/deployments/revnet-core-v5/base_sepolia/REVDeployer.json +0 -2825
- package/deployments/revnet-core-v5/base_sepolia/REVLoans.json +0 -2264
- package/deployments/revnet-core-v5/ethereum/REVDeployer.json +0 -2825
- package/deployments/revnet-core-v5/ethereum/REVLoans.json +0 -2264
- package/deployments/revnet-core-v5/optimism/REVDeployer.json +0 -2821
- package/deployments/revnet-core-v5/optimism/REVLoans.json +0 -2260
- package/deployments/revnet-core-v5/optimism_sepolia/REVDeployer.json +0 -2825
- package/deployments/revnet-core-v5/optimism_sepolia/REVLoans.json +0 -2264
- package/deployments/revnet-core-v5/sepolia/REVDeployer.json +0 -2825
- package/deployments/revnet-core-v5/sepolia/REVLoans.json +0 -2264
- package/docs/book.css +0 -13
- package/docs/book.toml +0 -13
- package/docs/solidity.min.js +0 -74
- package/docs/src/README.md +0 -185
- package/docs/src/SUMMARY.md +0 -18
- package/docs/src/src/README.md +0 -7
- package/docs/src/src/REVDeployer.sol/contract.REVDeployer.md +0 -999
- package/docs/src/src/REVLoans.sol/contract.REVLoans.md +0 -1108
- package/docs/src/src/interfaces/IREVDeployer.sol/interface.IREVDeployer.md +0 -525
- package/docs/src/src/interfaces/IREVLoans.sol/interface.IREVLoans.md +0 -598
- package/docs/src/src/interfaces/README.md +0 -5
- package/docs/src/src/structs/README.md +0 -12
- package/docs/src/src/structs/REVAutoIssuance.sol/struct.REVAutoIssuance.md +0 -19
- package/docs/src/src/structs/REVBuybackHookConfig.sol/struct.REVBuybackHookConfig.md +0 -19
- package/docs/src/src/structs/REVBuybackPoolConfig.sol/struct.REVBuybackPoolConfig.md +0 -21
- package/docs/src/src/structs/REVConfig.sol/struct.REVConfig.md +0 -23
- package/docs/src/src/structs/REVCroptopAllowedPost.sol/struct.REVCroptopAllowedPost.md +0 -32
- package/docs/src/src/structs/REVDeploy721TiersHookConfig.sol/struct.REVDeploy721TiersHookConfig.md +0 -34
- package/docs/src/src/structs/REVDescription.sol/struct.REVDescription.md +0 -23
- package/docs/src/src/structs/REVLoan.sol/struct.REVLoan.md +0 -28
- package/docs/src/src/structs/REVLoanSource.sol/struct.REVLoanSource.md +0 -16
- package/docs/src/src/structs/REVStageConfig.sol/struct.REVStageConfig.md +0 -44
- 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,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
|
-
|