-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy path.solhint.json
311 lines (311 loc) · 10.9 KB
/
.solhint.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
{
"extends": "solhint:recommended",
"rules": {
"compiler-version": ["error", "^0.6.12 || ^0.8.4 || >=0.6.0"],
"prettier/prettier": "error",
"not-rely-on-time": "off",
"reason-string": ["warn",{"maxLength":120}],
"max-line-length": ["error", 120],
"modifiers/ensure-modifiers": ["error", {
"ignoreContractKind": ["interface"],
"ignoreVisibility": ["internal", "private"],
"required": {
"**/contracts/**": ["onlyAdmin"]
},
"override": {
"**/PoolTokens.sol:PoolTokens": {
"mint": ["onlyPool"],
"redeem": ["onlyPool"],
"withdrawPrincipal": ["onlyPool"],
"onPoolCreated": ["onlyGoldfinchFactory"],
"burn": [],
"getTokenInfo": []
},
"*:*.initialize": ["initializer"],
"*:*.__initialize__": ["initializer"],
"*:*.null": [],
"**/CreditDesk.sol:CreditDesk": {
"createCreditLine": [],
"createPool": [],
"drawdown": [],
"pay": [],
"assessCreditLine": [],
"applyPayment": [],
"migrateCreditLine": [],
"migrateV1CreditLine": []
},
"**/GoldfinchConfig.sol:GoldfinchConfig": {
"addToGoList": ["onlyGoListerRole"],
"bulkAddToGoList": ["onlyGoListerRole"],
"removeFromGoList": ["onlyGoListerRole"],
"bulkRemoveFromGoList": ["onlyGoListerRole"]
},
"**/GoldfinchFactory.sol:GoldfinchFactory": {
"createCreditLine": [],
"createBorrower": [],
"createPool": [],
"validPool": [],
"createMigratedPool": []
},
"**/CreditLine.sol:CreditLine": {
"setLimit": []
},
"**/VersionedImplementationRepository.sol:VersionedImplementationRepository": {
"getByVersion": [],
"hasVersion": []
},
"**/ImplementationRepository.sol:ImplementationRepository": {
"initialize": ["initialize"],
"createSet": ["onlyAdmin", "whenNotPaused"],
"append": ["onlyAdmin", "whenNotPaused"],
"remove": ["onlyAdmin", "whenNotPaused"],
"setUpgradeData": ["onlyAdmin", "whenNotPaused"],
"has": [],
"setExists": [],
"currentImplementation": ["whenNotPaused"],
"nextImplementationOf": ["whenNotPaused"]
},
"**/V2Migrator.sol:V2Migrator": {
"upgradeImplementations": []
},
"**/MigratedTranchedPool.sol:MigratedTranchedPool": {
"migrateCreditLineToV2": []
},
"**/BaseUpgradeablePausable.sol:BaseUpgradeablePausable": {
"__BaseUpgradeablePausable__init": []
},
"**/Fidu.sol:Fidu": {
"__initialize__": [],
"mintTo": [],
"burnFrom": [],
"updateGoldfinchConfig": []
},
"**/Pool.sol:Pool": {
"deposit": [],
"withdraw": [],
"withdrawInFidu": [],
"collectInterestAndPrincipal": [],
"distributeLosses": [],
"transferFrom": [],
"drawdown": []
},
"**/UcuProxy.sol:UcuProxy": {
"upgradeImplementation": ["onlyOwner"],
"upgradeToCurrentImplementation": ["onlyOwner"],
"transferOwnership": ["onlyOwner"]
},
"**/TranchedPool.sol:TranchedPool": {
"setAllowedUIDTypes": ["onlyLocker"],
"deposit": ["whenNotPaused"],
"depositWithPermit": [],
"lockJuniorCapital": ["whenNotPaused", "onlyLocker"],
"lockPool": ["whenNotPaused", "onlyLocker"],
"setFundableAt": ["onlyLocker"],
"initializeNextSlice": ["whenNotPaused", "onlyLocker"],
"withdraw": ["whenNotPaused"],
"withdrawMax": ["whenNotPaused"],
"withdrawMultiple": [],
"drawdown": ["whenNotPaused"],
"assess": ["whenNotPaused"],
"pay": ["whenNotPaused"]
},
"**/PauserPausable.sol:PauserPausable": {
"__PauserPausable__init": [],
"pause": [],
"unpause": []
},
"**/SeniorPool.sol:SeniorPool": {
"deposit": [],
"depositWithPermit": [],
"invest": [],
"withdraw": [],
"withdrawInFidu": [],
"redeem": [],
"writedown": [],
"claimWithdrawalRequest": [],
"initializeEpochs": [],
"cancelWithdrawalRequest": [],
"requestWithdrawal": [],
"addToWithdrawalRequest": []
},
"**/SeniorPoolFidu.sol:SeniorPoolFidu": {
"__initialize__": [],
"mintTo": [],
"burnFrom": [],
"updateGoldfinchConfig": []
},
"**/WithdrawalRequestToken.sol:WithdrawalRequestToken": {
"approve": [],
"setApprovalForAll": [],
"transferFrom": [],
"safeTransferFrom": [],
"mint": ["onlySeniorPool"],
"burn": ["onlySeniorPool"]
},
"**/TransferRestrictedVault.sol:TransferRestrictedVault": {
"depositJunior": [],
"depositJuniorWithPermit": [],
"depositSenior": [],
"depositSeniorWithPermit": [],
"withdrawJunior": [],
"withdrawSenior": [],
"withdrawSeniorInFidu": [],
"transferPosition": []
},
"**/DynamicLeverageRatioStrategy.sol:DynamicLeverageRatioStrategy": {
"setLeverageRatio": ["onlySetterRole"]
},
"**/GFI.sol:GFI": {
"mint": ["onlyMinter"],
"setCap": ["onlyOwner"],
"pause": ["onlyPauser"],
"unpause": ["onlyPauser"]
},
"**/StakingRewards.sol:StakingRewards": {
"stake": [],
"stakeWithLockup": [],
"depositAndStake": [],
"depositWithPermitAndStake": [],
"depositAndStakeWithLockup": [],
"depositWithPermitAndStakeWithLockup": [],
"depositToCurve": [],
"depositToCurveAndStake": [],
"depositToCurveAndStakeFrom": [],
"unstake": [],
"unstakeMultiple": [],
"unstakeAndWithdraw": [],
"unstakeAndWithdrawMultiple": [],
"unstakeAndWithdrawInFidu": [],
"unstakeAndWithdrawMultipleInFidu": [],
"updatePositionEffectiveMultiplier": [],
"getReward": [],
"kick": [],
"exit": [],
"exitAndWithdraw": [],
"addToStake": []
},
"**/CommunityRewards.sol:CommunityRewards": {
"grant": ["nonReentrant", "whenNotPaused", "onlyDistributor"],
"getReward": []
},
"**/Go.sol:Go": {
"go": [],
"goOnlyIdTypes": [],
"goSeniorPool": []
},
"**/BackerRewards.sol:BackerRewards": {
"allocateRewards": ["onlyPool"],
"setPoolTokenAccRewardsPerPrincipalDollarAtMint": [],
"onTranchedPoolDrawdown": ["onlyPool", "nonReentrant"],
"forceIntializeStakingRewardsPoolInfo": ["onlyAdmin"],
"withdraw": ["nonReentrant"],
"withdrawMultiple": []
},
"**/MembershipOrchestrator.sol:MembershipOrchestrator": {
"harvest": ["whenNotPaused", "nonReentrant"],
"collectRewards": ["whenNotPaused", "nonReentrant"],
"deposit": ["whenNotPaused", "nonReentrant"],
"withdraw": ["whenNotPaused", "nonReentrant"],
"finalizeEpochs": ["whenNotPaused", "nonReentrant"]
},
"**/MerkleDirectDistributor.sol:MerkleDirectDistributor": {
"_setGrantAccepted": [],
"acceptGrant": []
},
"**/MerkleDistributor.sol:MerkleDistributor": {
"_setGrantAccepted": [],
"acceptGrant": []
},
"**/ERC1155PresetPauserUpgradeable.sol:ERC1155PresetPauserUpgradeable": {
"pause": [],
"unpause": []
},
"**/UniqueIdentity.sol:UniqueIdentity": {
"mint": ["onlySigner", "incrementNonce"],
"mintTo": ["onlySignerMintTo", "incrementNonce"],
"_mintTo": [],
"safeTransferFrom": [],
"safeBatchTransferFrom": [],
"burn": ["onlySigner", "incrementNonce"]
},
"**/TranchingLogic.sol:*": {
"lockTranche": [],
"initializeNextSlice": [],
"applyToAllSlices": [],
"applyToAllSeniorTranches": [],
"applyToAllJuniorTranches": [],
"applyToSeniorTranche": [],
"applyToJuniorTranche": [],
"applyBySharePrice": [],
"applyByAmount": [],
"migrateAccountingVariables": [],
"closeCreditLine": []
},
"**/Zapper.sol:*": {
"zapStakeToTranchedPool": ["whenNotPaused", "nonReentrant"],
"zapFiduStakeToTranchedPool": ["whenNotPaused", "nonReentrant"],
"zapMultipleToTranchedPool": ["whenNotPaused", "nonReentrant"],
"unzapMultipleFromTranchedPools": ["whenNotPaused", "nonReentrant"],
"claimMultipleTranchedPoolZaps": ["whenNotPaused", "nonReentrant"],
"claimTranchedPoolZap": ["whenNotPaused", "nonReentrant"],
"unzapToStakingRewards": ["whenNotPaused", "nonReentrant"],
"zapStakeToCurve": ["whenNotPaused", "nonReentrant"]
},
"**/contracts/cake/Context.sol:*": {
"setUp": [],
"tearDown": [],
"tx": []
},
"**/contracts/cake/AccessControl.sol:*": {
"addOperator": [],
"removeOperator": [],
"setAdmin": []
},
"**/contracts/cake/Router.sol:*": {
"setContract": []
},
"**/MembershipVault.sol:*": {
"checkpoint": ["onlyOperator"],
"adjustHoldings": ["onlyOperator"],
"_checkpoint": [],
"_fetchOrCreatePosition": []
},
"**/CapitalLedger.sol:*": {
"depositERC20": ["onlyOperator"],
"depositERC721": ["onlyOperator"],
"withdraw": ["onlyOperator"],
"withdrawERC20": ["onlyOperator"],
"harvest": ["onlyOperator"],
"_mintPosition": []
},
"**/GFILedger.sol:*": {
"deposit": ["onlyOperator"],
"withdraw": ["onlyOperator"],
"_mintPosition": [],
"_withdraw": []
},
"**/contracts/protocol/core/membership/ERC20Splitter.sol:*": {
"distribute": []
},
"**/MembershipDirector.sol:*": {
"consumeHoldingsAdjustment": ["onlyOperator"],
"collectRewards": ["onlyOperator"],
"finalizeEpochs": ["onlyOperator"]
},
"**/MembershipCollector.sol:*": {
"onReceive": [],
"distributeFiduTo": ["onlyOperator"],
"finalizeEpochs": ["onlyOperator"]
},
"**/MembershipLedger.sol:*": {
"resetRewards": ["onlyOperator"],
"allocateRewardsTo": ["onlyOperator"]
},
"**/contracts/test/**": {
"*.*": []
}
}
}]
},
"plugins": ["prettier", "modifiers"]
}