You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 6, 2024. It is now read-only.
This report was generated by Aderyn, a static analysis tool built by Cyfrin, a blockchain security company. This report is not a substitute for manual audit or security review. It should not be relied upon for any purpose other than to assist in the identification of potential security vulnerabilities.
H-1: Arbitrary from passed to transferFrom (or safeTransferFrom)
Passing an arbitrary from address to transferFrom (or safeTransferFrom) can lead to loss of funds, because anyone can transfer tokens from the from address if an approval is made.
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 188
ERC20 functions may not behave as expected. For example: return values are not always meaningful. It is recommended to use OpenZeppelin's SafeERC20 library.
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 71
linkToken.approve(_router, type(uint256).max);
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 72
token.approve(_wrappedToken, type(uint256).max);
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 73
wrappedToken.approve(_router, type(uint256).max);
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 52
linkToken.approve(_router, type(uint256).max);
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 53
sdlToken.approve(_router, type(uint256).max);
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 219
if (link.transfer(msg.sender, _amount) !=true) revertInsufficientBalance();
Found in contracts/core/test/CurveMock.sol Line: 52
Found in contracts/core/tokens/WrappedSDToken.sol Line: 53
sdToken.transfer(msg.sender, unwrappedAmount);
Found in contracts/core/tokens/base/ERC677.sol Line: 22
super.transfer(_to, _value);
Found in contracts/core/tokens/base/ERC677Upgradeable.sol Line: 23
super.transfer(_to, _value);
L-3: Solidity pragma should be specific, not wide
Consider using a specific version of Solidity in your contracts instead of a wide version. For example, instead of pragma solidity ^0.8.0;, use pragma solidity 0.8.0;
Found in contracts/core/test/chainlink/CLContractImports0.7.sol Line: 2
pragma solidity^0.7.0;
Found in contracts/core/test/chainlink/CLContractImports0.8.sol Line: 2
pragma solidity^0.8.0;
L-4: Conditional storage checks are not consistent
When writing require or if conditionals that check storage values, it is important to be consistent to prevent off-by-one errors. There are instances found where the same storage variable is checked multiple times, but the conditionals are not consistent.
Solc compiler version 0.8.20 switches the default target EVM version to Shanghai, which means that the generated bytecode will include PUSH0 opcodes. Be sure to select the appropriate EVM version in case you intend to deploy on a chain other than mainnet like L2 chains that may not support PUSH0, otherwise deployment of your contracts will fail.
Found in contracts/core/test/chainlink/CLContractImports0.8.sol Line: 2
pragma solidity^0.8.0;
NC Issues
NC-1: Missing checks for address(0) when assigning values to address state variables
Assigning values to address state variables without checking for address(0).
Index event fields make the field more quickly accessible to off-chain tools that parse events. However, note that each index field costs extra gas during emission, so it's not necessarily best to index the maximum allowed per event (three fields). Each event should use three indexed fields if there are three or more fields, and gas usage is not particularly of concern for the events in question. If there are fewer than three fields, all of the fields should be indexed.
Found in contracts/core/RewardsInitiator.sol Line: 22
Aderyn Analysis Report
This report was generated by Aderyn, a static analysis tool built by Cyfrin, a blockchain security company. This report is not a substitute for manual audit or security review. It should not be relied upon for any purpose other than to assist in the identification of potential security vulnerabilities.
Table of Contents
from
passed totransferFrom
(orsafeTransferFrom
)ERC721::_mint()
can be dangerousaddress(0)
when assigning values to address state variablesindexed
fieldsSummary
Files Details
Issue Summary
High Issues
H-1: Arbitrary
from
passed totransferFrom
(orsafeTransferFrom
)Passing an arbitrary
from
address totransferFrom
(orsafeTransferFrom
) can lead to loss of funds, because anyone can transfer tokens from thefrom
address if an approval is made.Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 188
Found in contracts/core/priorityPool/PriorityPool.sol Line: 260
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 270
Found in contracts/core/test/SDLPoolCCIPControllerMock.sol Line: 43
Medium Issues
M-1: Centralization Risk for trusted owners
Contracts have owners with privileged rights to perform admin tasks and need to be trusted to not perform malicious updates or drain funds.
Found in contracts/core/RewardsInitiator.sol Line: 16
Found in contracts/core/RewardsInitiator.sol Line: 101
Found in contracts/core/StakingPool.sol Line: 123
Found in contracts/core/StakingPool.sol Line: 133
Found in contracts/core/StakingPool.sol Line: 226
Found in contracts/core/StakingPool.sol Line: 237
Found in contracts/core/StakingPool.sol Line: 261
Found in contracts/core/StakingPool.sol Line: 281
Found in contracts/core/StakingPool.sol Line: 296
) external onlyOwner {
Found in contracts/core/StakingPool.sol Line: 375
Found in contracts/core/StakingPool.sol Line: 384
Found in contracts/core/base/RewardsPoolController.sol Line: 154
Found in contracts/core/base/RewardsPoolController.sol Line: 171
Found in contracts/core/base/RewardsPoolController.sol Line: 197
Found in contracts/core/base/StakingRewardsPool.sol Line: 209
Found in contracts/core/base/Strategy.sol Line: 84
Found in contracts/core/ccip/RESDLTokenBridge.sol Line: 16
Found in contracts/core/ccip/RESDLTokenBridge.sol Line: 161
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 156
) external onlyOwner {
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 170
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 190
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 202
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 212
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 223
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 234
Found in contracts/core/ccip/SDLPoolCCIPControllerSecondary.sol Line: 108
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 19
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 112
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 140
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 13
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 117
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 130
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 138
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 10
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 142
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 151
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 182
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 197
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 208
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 217
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 233
) external onlyOwner {
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 243
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 253
Found in contracts/core/priorityPool/PriorityPool.sol Line: 437
Found in contracts/core/priorityPool/PriorityPool.sol Line: 447
Found in contracts/core/priorityPool/PriorityPool.sol Line: 458
Found in contracts/core/priorityPool/PriorityPool.sol Line: 468
Found in contracts/core/priorityPool/PriorityPool.sol Line: 572
Found in contracts/core/sdlPool/LinearBoostController.sol Line: 10
Found in contracts/core/sdlPool/LinearBoostController.sol Line: 45
Found in contracts/core/sdlPool/LinearBoostController.sol Line: 56
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 336
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 363
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 372
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 381
Found in contracts/core/test/StrategyMock.sol Line: 101
Found in contracts/core/test/StrategyMock.sol Line: 105
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 200
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 210
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 230
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 240
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 249
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 31
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 161
) external onlyOwner {
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 174
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 178
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 195
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 221
Found in contracts/core/tokens/LinkPoolNFT.sol Line: 12
Found in contracts/core/tokens/LinkPoolNFT.sol Line: 37
Found in contracts/core/tokens/StakingAllowance.sol Line: 12
Found in contracts/core/tokens/StakingAllowance.sol Line: 20
Found in contracts/core/tokens/StakingAllowance.sol Line: 35
) public onlyOwner {
M-2: Using
ERC721::_mint()
can be dangerousUsing
ERC721::_mint()
can mint ERC721 tokens to addresses which don't support ERC721 tokens. Use_safeMint()
instead of_mint()
for ERC721.Found in contracts/core/StakingPool.sol Line: 86
_mint(_account, _amount);
Found in contracts/core/test/chainlink/WrappedNative.sol Line: 10
Found in contracts/core/test/deprecated/RewardsPoolV1.sol Line: 81
_mint(_account, toMint);
Found in contracts/core/tokens/StakingAllowance.sol Line: 21
_mint(_account, _amount);
Found in contracts/core/tokens/StakingAllowance.sol Line: 36
Found in contracts/core/tokens/base/ERC677.sol Line: 14
Found in contracts/core/tokens/base/ERC677Upgradeable.sol Line: 15
Low Issues
L-1: Deprecated OpenZeppelin functions should not be used
Openzeppelin has deprecated several functions and replaced with newer versions. Please consult https://docs.openzeppelin.com/
Found in contracts/core/StakingPool.sol Line: 228
Found in contracts/core/StakingPool.sol Line: 254
L-2: Unsafe ERC20 Operations should not be used
ERC20 functions may not behave as expected. For example: return values are not always meaningful. It is recommended to use OpenZeppelin's SafeERC20 library.
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 71
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 72
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 73
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 52
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 53
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 219
Found in contracts/core/test/CurveMock.sol Line: 52
Found in contracts/core/test/CurveMock.sol Line: 53
tokens[j].transfer(_receiver, _dx);
Found in contracts/core/test/WrappedSDTokenMock.sol Line: 42
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 251
Found in contracts/core/tokens/StakingAllowance.sol Line: 72
Found in contracts/core/tokens/WrappedSDToken.sol Line: 41
Found in contracts/core/tokens/WrappedSDToken.sol Line: 53
Found in contracts/core/tokens/base/ERC677.sol Line: 22
Found in contracts/core/tokens/base/ERC677Upgradeable.sol Line: 23
L-3: Solidity pragma should be specific, not wide
Consider using a specific version of Solidity in your contracts instead of a wide version. For example, instead of
pragma solidity ^0.8.0;
, usepragma solidity 0.8.0;
Found in contracts/core/test/chainlink/CLContractImports0.7.sol Line: 2
Found in contracts/core/test/chainlink/CLContractImports0.8.sol Line: 2
L-4: Conditional storage checks are not consistent
When writing
require
orif
conditionals that check storage values, it is important to be consistent to prevent off-by-one errors. There are instances found where the same storage variable is checked multiple times, but the conditionals are not consistent.Found in contracts/core/StakingPool.sol Line: 201
Found in contracts/core/StakingPool.sol Line: 204
Found in contracts/core/StakingPool.sol Line: 218
Found in contracts/core/StakingPool.sol Line: 333
Found in contracts/core/StakingPool.sol Line: 469
Found in contracts/core/base/StakingRewardsPool.sol Line: 82
Found in contracts/core/base/StakingRewardsPool.sol Line: 85
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 102
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 129
Found in contracts/core/priorityPool/PriorityPool.sol Line: 248
Found in contracts/core/priorityPool/PriorityPool.sol Line: 282
Found in contracts/core/priorityPool/PriorityPool.sol Line: 349
Found in contracts/core/priorityPool/PriorityPool.sol Line: 439
Found in contracts/core/priorityPool/PriorityPool.sol Line: 485
Found in contracts/core/priorityPool/PriorityPool.sol Line: 489
Found in contracts/core/priorityPool/PriorityPool.sol Line: 522
Found in contracts/core/priorityPool/PriorityPool.sol Line: 542
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 36
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 238
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 269
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 286
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 341
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 118
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 462
Found in contracts/core/test/StrategyMock.sol Line: 70
Found in contracts/core/test/StrategyMock.sol Line: 74
Found in contracts/core/test/WrappedSDTokenMock.sol Line: 51
Found in contracts/core/test/WrappedSDTokenMock.sol Line: 60
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 87
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 284
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 56
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 128
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 175
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 177
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 180
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 214
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 230
Found in contracts/core/test/deprecated/RewardsPoolV1.sol Line: 43
Found in contracts/core/test/deprecated/RewardsPoolV1.sol Line: 71
L-5: PUSH0 is not supported by all chains
Solc compiler version 0.8.20 switches the default target EVM version to Shanghai, which means that the generated bytecode will include PUSH0 opcodes. Be sure to select the appropriate EVM version in case you intend to deploy on a chain other than mainnet like L2 chains that may not support PUSH0, otherwise deployment of your contracts will fail.
Found in contracts/core/test/chainlink/CLContractImports0.8.sol Line: 2
NC Issues
NC-1: Missing checks for
address(0)
when assigning values to address state variablesAssigning values to address state variables without checking for
address(0)
.Found in contracts/core/StakingPool.sol Line: 376
priorityPool = _priorityPool;
Found in contracts/core/StakingPool.sol Line: 385
rewardsInitiator = _rewardsInitiator;
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 235
rewardsInitiator = _rewardsInitiator;
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 139
reSDLTokenBridge = _reSDLTokenBridge;
Found in contracts/core/priorityPool/PriorityPool.sol Line: 469
distributionOracle = _distributionOracle;
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 39
delegatorPool = ccipController;
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 382
ccipController = _ccipController;
Found in contracts/core/test/SDLPoolCCIPControllerMock.sol Line: 52
reSDLTokenBridge = _reSDLTokenBridge;
Found in contracts/core/test/chainlink/CCIPOnRampMock.sol Line: 30
linkToken = _linkToken;
Found in contracts/core/test/deprecated/OwnersRewardsPoolV1.sol Line: 26
poolOwners = _poolOwners;
Found in contracts/core/test/deprecated/PoolAllowanceV1.sol Line: 18
poolOwners = _poolOwners;
Found in contracts/core/tokens/LPLMigration.sol Line: 22
lplToken = _lplToken;
Found in contracts/core/tokens/LPLMigration.sol Line: 23
sdlToken = _sdlToken;
Found in contracts/core/tokens/LinkPoolNFT.sol Line: 18
lpMigration = _lpMigration;
NC-2: Functions not used internally could be marked external
Found in contracts/core/RewardsPoolWSD.sol Line: 33
Found in contracts/core/RewardsPoolWSD.sol Line: 49
Found in contracts/core/StakingPool.sol Line: 41
function initialize(
Found in contracts/core/base/RewardsPoolController.sol Line: 102
Found in contracts/core/base/RewardsPoolController.sol Line: 142
Found in contracts/core/base/RewardsPoolController.sol Line: 154
Found in contracts/core/base/StakingRewardsPool.sol Line: 35
Found in contracts/core/base/StakingRewardsPool.sol Line: 58
Found in contracts/core/base/Strategy.sol Line: 36
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 163
function fulfillRequest(
Found in contracts/core/priorityPool/PriorityPool.sol Line: 93
function initialize(
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 30
function initialize(
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 66
function initialize(
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 336
Found in contracts/core/test/Multicall3.sol Line: 41
Found in contracts/core/test/Multicall3.sol Line: 103
Found in contracts/core/test/Multicall3.sol Line: 118
Found in contracts/core/test/Multicall3.sol Line: 151
Found in contracts/core/test/Multicall3.sol Line: 191
Found in contracts/core/test/Multicall3.sol Line: 196
Found in contracts/core/test/Multicall3.sol Line: 201
Found in contracts/core/test/Multicall3.sol Line: 206
Found in contracts/core/test/Multicall3.sol Line: 211
Found in contracts/core/test/Multicall3.sol Line: 216
Found in contracts/core/test/Multicall3.sol Line: 221
Found in contracts/core/test/Multicall3.sol Line: 226
Found in contracts/core/test/Multicall3.sol Line: 234
Found in contracts/core/test/Multicall3.sol Line: 239
Found in contracts/core/test/RewardsPoolControllerMock.sol Line: 23
Found in contracts/core/test/SDLPoolMock.sol Line: 15
Found in contracts/core/test/StrategyMock.sol Line: 28
function initialize(
Found in contracts/core/test/StrategyMock.sol Line: 89
Found in contracts/core/test/StrategyMock.sol Line: 93
Found in contracts/core/test/StrategyMock.sol Line: 97
Found in contracts/core/test/StrategyMock.sol Line: 109
Found in contracts/core/test/chainlink/CCIPOnRampMock.sol Line: 45
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 56
function initialize(
Found in contracts/core/test/deprecated/OwnersRewardsPoolV1.sol Line: 33
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 85
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 126
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 166
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 178
Found in contracts/core/test/deprecated/RewardsPoolV1.sol Line: 60
Found in contracts/core/tokens/LPLMigration.sol Line: 31
function onTokenTransfer(
Found in contracts/core/tokens/StakingAllowance.sol Line: 20
Found in contracts/core/tokens/StakingAllowance.sol Line: 30
function mintToContract(
Found in contracts/core/tokens/StakingAllowance.sol Line: 44
Found in contracts/core/tokens/StakingAllowance.sol Line: 52
Found in contracts/core/tokens/base/ERC677.sol Line: 17
function transferAndCall(
Found in contracts/core/tokens/base/ERC677Upgradeable.sol Line: 18
function transferAndCall(
NC-3: Constants should be defined and used instead of literals
Found in contracts/core/RewardsPool.sol Line: 41
Found in contracts/core/RewardsPool.sol Line: 119
Found in contracts/core/StakingPool.sol Line: 51
Found in contracts/core/StakingPool.sol Line: 240
Found in contracts/core/StakingPool.sol Line: 250
Found in contracts/core/StakingPool.sol Line: 251
Found in contracts/core/StakingPool.sol Line: 283
Found in contracts/core/StakingPool.sol Line: 300
Found in contracts/core/StakingPool.sol Line: 307
Found in contracts/core/StakingPool.sol Line: 329
Found in contracts/core/StakingPool.sol Line: 406
Found in contracts/core/StakingPool.sol Line: 428
Found in contracts/core/StakingPool.sol Line: 429
Found in contracts/core/StakingPool.sol Line: 453
Found in contracts/core/StakingPool.sol Line: 454
Found in contracts/core/StakingPool.sol Line: 458
Found in contracts/core/StakingPool.sol Line: 459
Found in contracts/core/StakingPool.sol Line: 460
Found in contracts/core/StakingPool.sol Line: 475
Found in contracts/core/base/RewardsPoolController.sol Line: 178
Found in contracts/core/base/StakingRewardsPool.sol Line: 46
Found in contracts/core/ccip/RESDLTokenBridge.sol Line: 212
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 82
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 176
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 302
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 128
1000 ether,
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 215
Found in contracts/core/ccip/WrappedTokenBridge.sol Line: 235
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 105
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 89
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 170
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 172
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 244
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 265
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 280
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 281
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 283
Found in contracts/core/priorityPool/PriorityPool.sol Line: 502
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 35
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 109
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 153
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 188
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 216
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 238
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 246
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 247
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 286
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 290
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 322
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 323
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 74
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 184
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 197
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 236
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 270
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 298
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 314
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 321
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 325
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 340
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 346
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 354
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 372
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 374
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 395
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 399
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 440
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 469
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 473
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 479
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 522
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 533
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 183
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 473
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 474
Found in contracts/core/test/CurveMock.sol Line: 15
Found in contracts/core/test/CurveMock.sol Line: 33
Found in contracts/core/test/CurveMock.sol Line: 45
Found in contracts/core/test/CurveMock.sol Line: 49
Found in contracts/core/test/Multicall3.sol Line: 228
Found in contracts/core/test/StrategyMock.sol Line: 71
Found in contracts/core/test/StrategyMock.sol Line: 72
Found in contracts/core/test/StrategyMock.sol Line: 74
Found in contracts/core/test/StrategyMock.sol Line: 77
Found in contracts/core/test/StrategyMockV2.sol Line: 15
Found in contracts/core/test/WrappedSDTokenMock.sol Line: 16
Found in contracts/core/test/chainlink/CCIPOffRampMock.sol Line: 48
1000000,
Found in contracts/core/test/chainlink/CCIPOnRampMock.sol Line: 34
Found in contracts/core/test/chainlink/CCIPOnRampMock.sol Line: 38
Found in contracts/core/test/chainlink/CCIPOnRampMock.sol Line: 42
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 61
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 177
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 178
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 180
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 202
Found in contracts/core/test/deprecated/RewardsPoolV1.sol Line: 44
Found in contracts/core/test/deprecated/RewardsPoolV1.sol Line: 71
Found in contracts/core/tokens/base/ERC677.sol Line: 14
Found in contracts/core/tokens/base/ERC677Upgradeable.sol Line: 15
NC-4: Event is missing
indexed
fieldsIndex event fields make the field more quickly accessible to off-chain tools that parse events. However, note that each index field costs extra gas during emission, so it's not necessarily best to index the maximum allowed per event (three fields). Each event should use three indexed fields if there are three or more fields, and gas usage is not particularly of concern for the events in question. If there are fewer than three fields, all of the fields should be indexed.
Found in contracts/core/RewardsInitiator.sol Line: 22
Found in contracts/core/RewardsPool.sol Line: 25
Found in contracts/core/RewardsPool.sol Line: 26
Found in contracts/core/StakingPool.sol Line: 32
Found in contracts/core/base/RewardsPoolController.sol Line: 22
Found in contracts/core/base/RewardsPoolController.sol Line: 23
Found in contracts/core/ccip/RESDLTokenBridge.sol Line: 43
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 25
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 26
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 27
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 28
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 29
Found in contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol Line: 30
Found in contracts/core/ccip/SDLPoolCCIPControllerSecondary.sol Line: 23
Found in contracts/core/ccip/base/SDLPoolCCIPController.sol Line: 24
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 46
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 47
Found in contracts/core/priorityPool/DistributionOracle.sol Line: 48
Found in contracts/core/priorityPool/PriorityPool.sol Line: 52
Found in contracts/core/priorityPool/PriorityPool.sol Line: 53
Found in contracts/core/priorityPool/PriorityPool.sol Line: 54
Found in contracts/core/priorityPool/PriorityPool.sol Line: 55
Found in contracts/core/priorityPool/PriorityPool.sol Line: 56
event UpdateDistribution(
Found in contracts/core/priorityPool/PriorityPool.sol Line: 62
Found in contracts/core/priorityPool/PriorityPool.sol Line: 63
Found in contracts/core/priorityPool/PriorityPool.sol Line: 64
Found in contracts/core/sdlPool/LinearBoostController.sol Line: 14
Found in contracts/core/sdlPool/LinearBoostController.sol Line: 15
Found in contracts/core/sdlPool/SDLPoolPrimary.sol Line: 16
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 35
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 36
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 37
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 38
event QueueUpdateLock(
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 45
Found in contracts/core/sdlPool/SDLPoolSecondary.sol Line: 46
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 47
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 48
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 49
event CreateLock(
Found in contracts/core/sdlPool/base/SDLPool.sol Line: 56
event UpdateLock(
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 47
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 48
Found in contracts/core/test/deprecated/DelegatorPool.sol Line: 49
Found in contracts/core/test/deprecated/OwnersRewardsPoolV1.sol Line: 18
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 44
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 45
Found in contracts/core/test/deprecated/PoolOwnersV1.sol Line: 48
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 27
Found in contracts/core/test/deprecated/RewardsPoolControllerV1.sol Line: 28
Found in contracts/core/test/deprecated/RewardsPoolV1.sol Line: 24
Found in contracts/core/tokens/LPLMigration.sol Line: 19
The text was updated successfully, but these errors were encountered: